Emuladair RISC-V ann an cruth sgàilear piogsail a leigeas leat Linux a ruith ann an VRChat

Chaidh toraidhean deuchainn air cur air bhog Linux a chuir air dòigh taobh a-staigh àite brìgheil 3D a ’gheama ioma-chluiche air-loidhne VRChat, a leigeas le bhith a’ luchdachadh mhodalan 3D leis na shaders aca fhèin, fhoillseachadh. Gus am beachd a chaidh a chruthachadh a chuir an gnìomh, chaidh emuladair de ailtireachd RISC-V a chruthachadh, air a chuir gu bàs air taobh GPU ann an cruth sgàilear piogsail (criomag) (chan eil VRChat a’ toirt taic do sgàilearan coimpiutaireachd agus UAV). Tha an còd emuladair air fhoillseachadh fo chead MIT.

Tha an emuladair stèidhichte air buileachadh anns a’ chànan C, agus chleachd an cruthachadh, an uair sin, leasachaidhean an emuladair minimalistic riscv-meirge, a chaidh a leasachadh anns a’ chànan Rust. Tha an còd C ullaichte air eadar-theangachadh gu shader piogsail ann an HLSL, a tha freagarrach airson a luchdachadh gu VRChat. Bidh an emuladair a’ toirt làn thaic do ailtireachd seata stiùiridh rv32imasu, an aonad riaghlaidh cuimhne SV32, agus seata as lugha de iomaill (UART agus timer). Tha na comasan ullaichte gu leòr airson an kernel Linux 5.13.5 a luchdachadh agus àrainneachd loidhne-àithne bunaiteach BusyBox, leis an urrainn dhut eadar-obrachadh gu dìreach bho shaoghal brìgheil VRChat.

Emuladair RISC-V ann an cruth sgàilear piogsail a leigeas leat Linux a ruith ann an VRChat
Emuladair RISC-V ann an cruth sgàilear piogsail a leigeas leat Linux a ruith ann an VRChat

Tha an emuladair air a chuir an gnìomh anns an sgàilear ann an cruth an inneach fiùghantach aige fhèin (Unity Custom Render Texture), le taic bho sgriobtaichean Udon a chaidh a thoirt seachad airson VRChat, air an cleachdadh gus smachd a chumail air an emuladair nuair a thèid a chuir gu bàs. Tha susbaint an RAM agus staid pròiseasar an t-siostam emulated air a stòradh ann an cruth inneach, meud 2048x2048 piogsail. Bidh am pròiseasar emulated ag obair aig tricead 250 kHz. A bharrachd air Linux, faodaidh an emuladair Micropython a ruith cuideachd.

Emuladair RISC-V ann an cruth sgàilear piogsail a leigeas leat Linux a ruith ann an VRChat

Gus stòradh dàta leantainneach a chruthachadh le taic airson leughadh agus sgrìobhadh, is e cleas a bhith a’ cleachdadh nì Camara ceangailte ri àite ceart-cheàrnach a ghineadh leis an sgàileadair agus a’ stiùireadh toradh an inneach a chaidh a thoirt seachad gu cuir a-steach an sgàileadair. San dòigh seo, faodar piogsail sam bith a chaidh a sgrìobhadh aig àm coileanadh piogsail a leughadh nuair a thèid an ath fhrèam a phròiseasadh.

Nuair a bhios tu a’ cur a-steach shaders piogsail, thèid eisimpleir sgàilear fa leth a chuir air bhog aig an aon àm airson gach piogsail inneach. Tha am feart seo gu mòr a’ dèanamh iom-fhillteachd air buileachadh agus a’ feumachdainn co-òrdanachadh fa-leth de staid an t-siostam emulated gu lèir agus coimeas a dhèanamh eadar suidheachadh a’ phiogsail giullachd leis an staid CPU a tha air a chòdachadh ann no susbaint RAM an t-siostam emulated (faodaidh gach piogsail 128 a chòdachadh pìosan fiosrachaidh). Tha an còd shader ag iarraidh gun tèid àireamh mhòr de sgrùdaidhean a thoirt a-steach, gus am buileachadh a dhèanamh nas sìmplidhe air an deach perlpp preprocessor perlpp a chleachdadh.



Source: fosgailtenet.ru

Cuir beachd ann