Emulator ea RISC-V ka sebopeho sa pixel shader e u lumellang ho tsamaisa Linux ho VRChat.

Liphetho tsa teko ea ho hlophisa ho qalisoa ha Linux ka har'a sebaka sa 3D sa papali ea inthanete ea libapali tse ngata VRChat, e lumellang ho kenya mefuta ea 3D ka li-shader tsa bona, li phatlalalitsoe. Ho kenya ts'ebetsong mohopolo o emotsoeng, ho entsoe emulator ea meralo ea RISC-V, e phethiloe ka lehlakoreng la GPU ka sebopeho sa pixel (fragment) shader (VRChat ha e tšehetse li-shader tsa computational le UAV). Khoutu ea emulator e hatisoa tlasa laesense ea MIT.

The emulator e thehiloe ho kenngwa tshebetsong ka puo C, pōpo ea, eo ka lehlakoreng le leng, a sebelisa ntshetsopele ya minimalistic emulator riscv-rust, ntshetswa pele ka Rust puo. Khoutu ea C e lokiselitsoeng e fetoleloa ho pixel shader ho HLSL, e loketseng ho kenngoa ho VRChat. Emulator e fana ka ts'ehetso e felletseng bakeng sa meralo ea litaelo tsa rv32imasu, yuniti ea taolo ea memori ea SV32, le sete e nyane ea peripherals (UART le timer). Bokhoni bo lokiselitsoeng bo lekane ho kenya Linux kernel 5.13.5 le tikoloho ea motheo ea taelo ea BusyBox, eo u ka sebelisanang le eona ka ho toba ho tloha lefatšeng la sebele la VRChat.

Emulator ea RISC-V ka sebopeho sa pixel shader e u lumellang ho tsamaisa Linux ho VRChat.
Emulator ea RISC-V ka sebopeho sa pixel shader e u lumellang ho tsamaisa Linux ho VRChat.

The emulator e kenngwa tshebetsong ka shader ka mokgwa wa eona e matla sebopeho (Unity Custom Render Texture), tlatselletsoa ke Udon mengolo fanoeng bakeng sa VRChat, sebelisoa ho laola emulator nakong ea ho bolaoa ha eona. Likahare tsa RAM le boemo ba processor ea sistimi e etsisitsoeng li bolokiloe ka mokhoa oa sebopeho, lipikselse tse 2048x2048 ka boholo. Mochine o hlophisitsoeng o sebetsa ka sekhahla sa 250 kHz. Ntle le Linux, emulator e ka tsamaisa Micropython.

Emulator ea RISC-V ka sebopeho sa pixel shader e u lumellang ho tsamaisa Linux ho VRChat.

Ho theha polokelo ea data e tsitsitseng ka ts'ehetso ea ho bala le ho ngola, leqheka ke ho sebelisa ntho ea Khamera e tlamelletsoeng sebakeng se nang le khutlonnetsepa e hlahisoang ke shader le ho tsamaisa tlhahiso ea sebopeho se fanoeng ho kenyelletso ea shader. Ka tsela ena, pixel efe kapa efe e ngotsoeng nakong ea ts'ebetso ea pixel shader e ka baloa ha foreimi e latelang e sebetsoa.

Ha o sebelisa li-pixel shader, mohlala o arohaneng oa shader o hlahisoa ka tsela e tšoanang bakeng sa pixel e 'ngoe le e 'ngoe ea sebopeho. Karolo ena e thatafatsa ts'ebetsong mme e hloka tšebelisano e arohaneng ea sistimi eohle e etsisitsoeng le papiso ea boemo ba pixel e sebetsitsoeng le boemo ba CPU bo kentsoeng ho eona kapa litaba tsa RAM ea sistimi e etsisitsoeng (pixel ka 'ngoe e ka kenyelletsa 128). likotoana tsa litaba). Khoutu ea shader e hloka ho kenyelletsoa ha palo e kholo ea licheke, ho nolofatsa ts'ebetsong eo perl preprocessor perlpp e sebelisitsoeng.



Source: opennet.ru

Eketsa ka tlhaloso