Emulator ya RISC-V ngati mawonekedwe a pixel shader omwe amakulolani kuyendetsa Linux mu VRChat

Zotsatira za kuyesa kokonzekera kukhazikitsidwa kwa Linux mkati mwa malo enieni a 3D a masewera a pa intaneti ambiri a VRChat, omwe amalola kutsitsa zitsanzo za 3D ndi shader zawo, zasindikizidwa. Kuti agwiritse ntchito lingaliro lomwe linapangidwa, emulator ya zomangamanga za RISC-V idapangidwa, yochitidwa kumbali ya GPU mu mawonekedwe a pixel (fragment) shader (VRChat sichigwirizana ndi ma computational shader ndi UAV). Khodi ya emulator imasindikizidwa pansi pa layisensi ya MIT.

The emulator zachokera kukhazikitsa m'chinenero C, chilengedwe cha amenenso, ntchito zomwe zachitika za minimalistic emulator riscv-dzimbiri, anayamba mu dzimbiri chinenero. Khodi ya C yokonzeka imamasuliridwa kukhala pixel shader mu HLSL, yoyenera kuyika mu VRChat. Emulator imapereka chithandizo chokwanira pamapangidwe a malangizo a rv32imasu, gawo loyang'anira kukumbukira la SV32, ndi zotumphukira zochepa (UART ndi timer). Zomwe zakonzedwa ndizokwanira kukweza Linux kernel 5.13.5 ndi malo oyambira a BusyBox, omwe mutha kulumikizana nawo mwachindunji kuchokera kudziko la VRChat.

Emulator ya RISC-V ngati mawonekedwe a pixel shader omwe amakulolani kuyendetsa Linux mu VRChat
Emulator ya RISC-V ngati mawonekedwe a pixel shader omwe amakulolani kuyendetsa Linux mu VRChat

The emulator imayendetsedwa mu shader mu mawonekedwe ake zosinthika kapangidwe (Umodzi Mwambo Perekani Texture), kuwonjezeredwa ndi Udon malemba operekedwa kwa VRChat, ntchito kulamulira emulator pa kuphedwa kwake. Zomwe zili mu RAM ndi purosesa ya dongosolo lotsatiridwa zimasungidwa ngati mawonekedwe, ma pixel 2048x2048 kukula kwake. Purosesa yotsanzira imagwira ntchito pafupipafupi 250 kHz. Kuphatikiza pa Linux, emulator imathanso kuyendetsa Micropython.

Emulator ya RISC-V ngati mawonekedwe a pixel shader omwe amakulolani kuyendetsa Linux mu VRChat

Kuti mupange kusungirako kosalekeza kwa data ndikuthandizira kuwerenga ndi kulemba, chinyengo ndikugwiritsa ntchito chinthu cha Kamera chomangika kudera lamakona anayi opangidwa ndi shader ndikuwongolera zotulutsa zomwe zasinthidwa ku zolowetsa za shader. Mwanjira iyi, pixel iliyonse yolembedwa panthawi ya pixel shader ikhoza kuwerengedwa pamene chimango chotsatira chikukonzedwa.

Mukamagwiritsa ntchito ma pixel shader, mawonekedwe osiyana a shader amayambitsidwa molingana ndi pixel iliyonse. Izi zimasokoneza kwambiri kukhazikitsidwa ndipo zimafuna kuyanjana kosiyana kwa dongosolo lonse lotsatiridwa ndikuyerekeza malo a pixel yokonzedwa ndi CPU yomwe ili mkati mwake kapena zomwe zili mu RAM ya dongosolo lotsatiridwa (pixel iliyonse imatha kuyika 128). mfundo zochepa). Khodi ya shader imafuna kuphatikizidwa kwa macheke ambiri, kuti muchepetse kukhazikitsidwa komwe perl preprocessor perlpp idagwiritsidwa ntchito.



Source: opennet.ru

Kuwonjezera ndemanga