Эмулятори RISC-V дар шакли шейдери пиксел, ки ба шумо имкон медиҳад Linux-ро дар VRCat идора кунед

Натиҷаҳои таҷриба оид ба ташкили ба кор андохтани Linux дар дохили фазои маҷозии 3D бозии мултипликатори онлайни VRChat, ки имкон медиҳад моделҳои 3D-ро бо шейдерҳои худ бор кунанд, нашр шуданд. Барои татбиқи идеяи пешбинишуда, эмулятори меъмории RISC-V сохта шудааст, ки дар тарафи GPU дар шакли шейдери пиксел (фрагмент) иҷро карда шудааст (VRChat шейдерҳои ҳисоббарорӣ ва UAV-ро дастгирӣ намекунад). Рамзи эмулятор тибқи иҷозатномаи MIT нашр мешавад.

Эмулятор ба татбиқи забони Си асос ёфтааст, ки дар офаридани он, дар навбати худ, коркарди эмулятори минималистии riscv-rus, ки бо забони Rust таҳия шудааст, истифода шудааст. Рамзи омодашудаи C ба шэйдери пиксел дар HLSL тарҷума карда мешавад, ки барои бор кардан ба VRCat мувофиқ аст. Эмулятор дастгирии пурраи меъмории маҷмӯи дастурҳои rv32imasu, воҳиди идоракунии хотираи SV32 ва маҷмӯи ҳадди ақали таҷҳизоти перифериро (UART ва таймер) таъмин мекунад. Имкониятҳои омодашуда барои бор кардани ядрои Linux 5.13.5 ва муҳити асосии сатри фармони BusyBox кифояанд, ки бо он шумо метавонед мустақиман аз ҷаҳони виртуалии VRChat муошират кунед.

Эмулятори RISC-V дар шакли шейдери пиксел, ки ба шумо имкон медиҳад Linux-ро дар VRCat идора кунед
Эмулятори RISC-V дар шакли шейдери пиксел, ки ба шумо имкон медиҳад Linux-ро дар VRCat идора кунед

Эмулятор дар шейдер дар шакли матни динамикии худ (Unity Custom Render Texture) амалӣ карда мешавад, ки бо скриптҳои Udon барои VRChat илова карда шудааст, ки барои идоракунии эмулятор ҳангоми иҷрои он истифода мешавад. Мундариҷаи хотираи оперативӣ ва ҳолати протсессори системаи эмулятсияшуда дар шакли матн, 2048x2048 пиксел дар андозаи нигоҳ дошта мешаванд. Протсессори тақлидшуда дар басомади 250 кГц кор мекунад. Илова ба Linux, эмулятор инчунин метавонад Micropython-ро идора кунад.

Эмулятори RISC-V дар шакли шейдери пиксел, ки ба шумо имкон медиҳад Linux-ро дар VRCat идора кунед

Барои эҷоди нигаҳдории доимии додаҳо бо дастгирии хондан ва навиштан, ҳиллаест, ки истифодаи объекти Камераи ба майдони росткунҷае, ки аз ҷониби шейдер тавлид шудааст ва равона кардани баромади матни додашуда ба вуруди шейдер аст. Ҳамин тариқ, ҳар як пикселеро, ки дар ҷараёни иҷрои пикселҳои шэйдер навишта шудааст, ҳангоми коркарди чаҳорчӯбаи навбатӣ хондан мумкин аст.

Ҳангоми татбиқи шейдерҳои пикселӣ барои ҳар як пиксели матнӣ мувозӣ як мисоли алоҳидаи шейдер оғоз мешавад. Ин хусусият татбиқро ба таври назаррас мушкил мекунад ва ҳамоҳангсозии алоҳидаи ҳолати тамоми системаи эмулятсияшуда ва муқоисаи мавқеи пиксели коркардшударо бо ҳолати CPU, ки дар он рамзгузорӣ шудааст ё мундариҷаи RAM-и системаи эмулятсияшуда талаб мекунад (ҳар як пиксел метавонад 128-ро рамзгузорӣ кунад) бит маълумот). Рамзи шейдер ворид кардани шумораи зиёди чекҳоро талаб мекунад, ки барои содда кардани татбиқи он перл протсессори perlpp истифода шудааст.



Манбаъ: opennet.ru

Илова Эзоҳ