Mai kwaikwayon RISC-V a cikin nau'i na pixel shader wanda ke ba ku damar gudanar da Linux a cikin VRChat

Sakamakon gwaji kan shirya ƙaddamar da Linux a cikin sararin 3D mai kama-da-wane na wasan kan layi VRChat mai yawan wasa, wanda ke ba da damar loda samfuran 3D tare da nasu shaders, an buga su. Don aiwatar da ra'ayin da aka ɗauka, an ƙirƙiri mai kwaikwayon tsarin gine-ginen RISC-V, wanda aka kashe a gefen GPU a cikin nau'i na pixel (gutsi) shader (VRChat baya goyan bayan shaders na lissafi da UAV). Ana buga lambar kwaikwayi ƙarƙashin lasisin MIT.

Mai kwaikwayon ya dogara ne akan aiwatarwa a cikin harshen C, ƙirƙirar wanda, bi da bi, ya yi amfani da ci gaban minimalistic emulator riscv-tsatsa, wanda aka haɓaka a cikin harshen Rust. An fassara lambar C da aka shirya zuwa cikin pixel shader a cikin HLSL, wanda ya dace don lodawa cikin VRChat. Mai kwaikwayon yana ba da cikakken goyan baya ga tsarin tsarin koyarwar rv32imasu, sashin kula da ƙwaƙwalwar ajiya na SV32, da ƙaramin saiti na gefe (UART da mai ƙidayar lokaci). Abubuwan da aka shirya sun isa don ɗaukar nauyin Linux kernel 5.13.5 da ainihin yanayin layin umarni na BusyBox, wanda zaku iya hulɗa kai tsaye daga duniyar kama-da-wane ta VRChat.

Mai kwaikwayon RISC-V a cikin nau'i na pixel shader wanda ke ba ku damar gudanar da Linux a cikin VRChat
Mai kwaikwayon RISC-V a cikin nau'i na pixel shader wanda ke ba ku damar gudanar da Linux a cikin VRChat

Ana aiwatar da abin koyi a cikin inuwa a cikin nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i)) wanda aka haɓaka ta hanyar rubutun Udon wanda aka tanada don VRChat, wanda aka yi amfani da shi don sarrafa mai kwaikwayon yayin aiwatar da shi. Abubuwan da ke cikin RAM da yanayin sarrafawa na tsarin da aka kwaikwayi ana adana su a cikin nau'in rubutu, 2048x2048 pixels a girman. Na'urar da aka kwaikwayi tana aiki a mitar 250 kHz. Baya ga Linux, emulator kuma yana iya sarrafa Micropython.

Mai kwaikwayon RISC-V a cikin nau'i na pixel shader wanda ke ba ku damar gudanar da Linux a cikin VRChat

Don ƙirƙirar ma'ajiyar bayanai na dindindin tare da goyan bayan karatu da rubutu, dabarar ita ce a yi amfani da abu na Kamara da ke daure zuwa yanki rectangular da mai inuwa ya samar da kuma jagorantar fitar da rubutun da aka yi zuwa shigar da inuwa. Ta wannan hanyar, kowane pixel da aka rubuta yayin aiwatar da inuwa pixel ana iya karantawa lokacin da aka sarrafa firam na gaba.

Lokacin da ake amfani da shaders na pixel, ana ƙaddamar da misalin shader daban a layi daya don kowane nau'in pixel. Wannan fasalin yana rikitar da aiwatarwa sosai kuma yana buƙatar daidaitawa daban na yanayin tsarin tsarin gaba ɗaya da kwatanta matsayin pixel ɗin da aka sarrafa tare da yanayin CPU ɗin da aka sanya a ciki ko abubuwan da ke cikin RAM na tsarin kwaikwayi (kowane pixel zai iya). encode 128 bit na bayanai). Lambar shader yana buƙatar haɗa da adadi mai yawa na cak, don sauƙaƙe aiwatarwa wanda aka yi amfani da perl preprocessor perlpp.



source: budenet.ru

Add a comment