Collabora DirectX üzərində OpenCL və OpenGL-i işə salmaq üçün əlavələr hazırlayır

Şirkət Collabora təqdim DirectX 1.2 (D3.3D12) dəstəkləyən sürücülərin üstündə OpenCL 3 və OpenGL 12 API-lərinin işini təşkil etmək üçün bir təbəqə tətbiq edən Mesa üçün yeni Gallium sürücüsü. Kod nəşr olundu MIT lisenziyası altında.

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 açıq alətlər D3D11On12 oyunları D3D11-dən D3D12-yə və kitabxanaya köçürmək üçün D3D12TranslationLayer, D3D12-nin üstündə standart qrafik primitivləri həyata keçirir.

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 (DirectX Shader Compiler Microsoft-dan mahiyyətcə LLVM 3.7-nin genişləndirilmiş çəngəlidir). OpenCL kompilyatoru LLVM layihəsi və alətlərinin inkişafı əsasında hazırlanmışdır SPIRV-LLVM.

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.

Collabora DirectX üzərində OpenCL və OpenGL-i işə salmaq üçün əlavələr hazırlayır

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

Добавить комментарий