Şirkət Collabora
Təklif olunan drayver Mesa-dan OpenCL və OpenGL-ni yerli olaraq dəstəkləməyən cihazlarda, həmçinin D3D12-nin üzərində işləmək üçün OpenGL/OpenCL proqramlarının daşınması üçün başlanğıc nöqtəsi kimi istifadə etməyə imkan verir. GPU istehsalçıları üçün alt sistem yalnız D3D12 dəstəyi olan sürücülər mövcud olduqda OpenCL və OpenGL üçün dəstək təmin etməyə imkan verir.
Yaxın planlar arasında OpenCL 1.2 və OpenGL 3.3 uyğunluq testlərindən tam keçməyə nail olmaq, tətbiqlərlə uyğunluğun yoxlanılması və inkişafların Mesa-nın əsas tərkibinə daxil edilməsi daxildir. İnkişaf Microsoft mühəndisləri ilə birgə həyata keçirilir
Tətbiqə Gallium sürücüsü, OpenCL kompilyatoru, OpenCL işləmə vaxtı və Mesa-da istifadə olunan NIR şeyderlərinin aralıq təsvirini DirectX 12-də dəstəklənən və əsaslanan DXIL (DirectX Intermediate Language) binar formatına çevirən NIR-dən DXIL şeyder tərtibçisi daxildir. LLVM 3.7 bit kodu (
OpenCL genişləndirmələri olan mənbələr cingiltidən istifadə edərək LLVM ara psevdokoda (LLVM IR) yığılır, bu kod daha sonra SPIR-V formatında OpenCL ləpələrinin aralıq təmsilçiliyinə çevrilir. SPIR-V təqdimatındakı nüvələr Mesa-ya ötürülür, NIR formatına tərcümə edilir, optimallaşdırılır və DirectX 12 əsaslı iş vaxtından istifadə edərək GPU-larda icra üçün uyğun olan DXIL formatında hesablama şeyderləri yaratmaq üçün NIR-DXIL-ə ötürülür.
Mesa-da istifadə edilən OpenCL tətbiqi olan Clover əvəzinə DirectX 12 API-yə daha çox birbaşa çevrilməyə imkan verən yeni OpenCL işləmə vaxtı təklif olunur.
OpenCL və OpenGL drayverləri Mesa-da təqdim olunan Gallium interfeysindən istifadə etməklə hazırlanır ki, bu da sizə OpenGL-ə məxsus detallara girmədən drayverlər yaratmağa və OpenGL zənglərini mahiyyətcə müasir GPU-ların işlədiyi qrafik primitivlərə daha yaxın tərcümə etməyə imkan verir. Gallium sürücüsü, OpenGL əmrlərini qəbul edir və NIR-to-DXIL tərcüməçisindən istifadə edərkən
D3D12 sürücüsündən istifadə edərək GPU-da yerinə yetirilən əmr tamponlarını yaradır.
Mənbə: opennet.ru