Collabora як иловаро барои иҷро кардани OpenCL ва OpenGL дар болои DirectX таҳия мекунад

Ширкати муштарак муаррифӣ кард як драйвери нави Gallium барои Mesa, ки як қабатро барои ташкили кори OpenCL 1.2 ва OpenGL 3.3 API дар болои драйверҳои дастгирии DirectX 12 (D3D12) амалӣ мекунад. Кодекс нашр кардааст таҳти иҷозатномаи MIT.

Драйвери пешниҳодшуда ба шумо имкон медиҳад, ки Mesa-ро дар дастгоҳҳое истифода баред, ки ба таври аслӣ OpenCL ва OpenGL-ро дастгирӣ намекунанд ва инчунин ҳамчун нуқтаи ибтидоӣ барои интиқоли барномаҳои OpenGL/OpenCL барои кор дар болои D3D12. Барои истеҳсолкунандагони GPU, зерсистема имкон медиҳад, ки дастгирии OpenCL ва OpenGL-ро таъмин кунад, агар танҳо драйверҳо бо дастгирии D3D12 дастрас бошанд.

Дар байни нақшаҳои фаврӣ ноил шудан ба пурра аз санҷишҳои мутобиқати OpenCL 1.2 ва OpenGL 3.3, санҷиши мутобиқат бо замимаҳо ва ворид кардани таҳияҳо ба таркиби асосии Mesa мебошанд. Таҳия дар якҷоягӣ бо муҳандисони Microsoft таҳия карда мешавад кушода асбобхо D3D11On12 барои интиқоли бозиҳо аз D3D11 ба D3D12 ва китобхона D3D12TranslationLayer, ки примитивҳои графикии стандартиро дар болои D3D12 амалӣ мекунад.

Амалиёт драйвери Gallium, compiler OpenCL, OpenCL runtime ва compiler shader NIR-to-DXIL-ро дар бар мегирад, ки намояндагии фосилавии шейдерҳои NIR дар Mesa истифодашударо ба формати бинарии DXIL (DirectX Intermediate Language) табдил медиҳад, ки дар DirectX 12 дастгирӣ мешавад ва дар асоси он Биткоди LLVM 3.7 (DirectX Shader Compiler аз Microsoft аслан як штангаи васеъшудаи LLVM 3.7 мебошад). Тартибдиҳандаи OpenCL дар асоси таҳияи лоиҳа ва асбобҳои LLVM таҳия шудааст SPIRV-LLVM.

Сарчашмаҳо бо васеъшавии OpenCL бо истифода аз clang ба псевдокоди фосилавии LLVM (LLVM IR) тартиб дода мешаванд, ки баъдан ба намояндагии фосилавии ядроҳои OpenCL дар формати SPIR-V табдил дода мешаванд. Корҳо дар муаррифии SPIR-V ба Mesa интиқол дода мешаванд, ба формати NIR тарҷума карда мешаванд, оптимизатсия карда мешаванд ва ба NIR-to-DXIL интиқол дода мешаванд, то шандерҳои ҳисоббарор дар формати DXIL, ки барои иҷро дар GPU-ҳо бо истифода аз вақти корбарии DirectX 12 мувофиқанд.
Ба ҷои Clover, татбиқи OpenCL, ки дар Mesa истифода мешавад, вақти нави OpenCL пешниҳод карда мешавад, ки имкон медиҳад табдили мустақим ба DirectX 12 API.

Collabora як иловаро барои иҷро кардани OpenCL ва OpenGL дар болои DirectX таҳия мекунад

Драйверҳои OpenCL ва OpenGL бо истифода аз интерфейси Gallium, ки дар Mesa пешниҳод шудаанд, омода карда мешаванд, ки ба шумо имкон медиҳад, ки бидуни ворид шудан ба тафсилоти махсуси OpenGL драйверҳо эҷод кунед ва зангҳои OpenGL-ро дар асл ба примитивҳои графикӣ, ки GPU-ҳои муосир кор мекунанд, тарҷума кунед. Ронандаи Gallium, фармонҳои OpenGL-ро қабул мекунад ва ҳангоми истифодаи тарҷумони NIR-to-DXIL
тавлид буферҳои фармон, ки дар GPU бо истифода аз ронандаи D3D12 иҷро.

Манбаъ: opennet.ru

Илова Эзоҳ