Collabora нь DirectX дээр OpenCL болон OpenGL-г ажиллуулах нэмэлт програмыг хөгжүүлдэг

Collabora компани танилцуулсан DirectX 1.2 (D3.3D12) дэмждэг драйверуудын дээр OpenCL 3 ба OpenGL 12 API-ийн ажлыг зохион байгуулах давхаргыг хэрэгжүүлдэг Mesa-д зориулсан шинэ Gallium драйвер. Код нийтэлсэн MIT лицензийн дагуу.

Санал болгож буй драйвер нь Mesa-г OpenCL болон OpenGL-ийг дэмждэггүй төхөөрөмжүүд дээр ашиглах боломжийг олгодог бөгөөд мөн D3D12 дээр ажиллахын тулд OpenGL/OpenCL програмуудыг зөөвөрлөх эхлэлийн цэг болгон ашиглаж болно. GPU үйлдвэрлэгчдийн хувьд зөвхөн D3D12 дэмжлэгтэй драйверууд байгаа тохиолдолд дэд систем нь OpenCL болон OpenGL-д дэмжлэг үзүүлэх боломжийг олгодог.

Яаралтай хийх төлөвлөгөөний дунд OpenCL 1.2 ба OpenGL 3.3-ийн нийцтэй байдлын тестийг бүрэн давах, програмуудтай нийцэж байгаа эсэхийг шалгах, Mesa-ийн үндсэн бүрэлдэхүүнд хөгжүүлэлт оруулах зэрэг болно. Хөгжүүлэлтийг Microsoft-ын инженерүүдтэй хамтран хийдэг нээлттэй байна хэрэгсэл D3D11On12 тоглоомыг D3D11-ээс D3D12 руу шилжүүлэх, номын сан D3D12 TranslationLayer, D3D12 дээр стандарт график командуудыг хэрэгжүүлдэг.

Энэхүү хэрэгжүүлэлт нь Mesa-д хэрэглэгддэг NIR шэйдерүүдийн завсрын дүрслэлийг DirectX 12-д дэмжигдсэн DXIL (DirectX Intermediate Language) хоёртын формат руу хөрвүүлдэг Gallium драйвер, OpenCL хөрвүүлэгч, OpenCL ажиллах хугацаа болон NIR-аас DXIL шэйдер хөрвүүлэгчийг агуулдаг. LLVM 3.7 бит код (DirectX Shader Compiler Microsoft-аас гаргасан нь үндсэндээ LLVM 3.7-ийн өргөтгөсөн салаа юм). OpenCL хөрвүүлэгчийг LLVM төсөл болон хэрэгслүүдийн хөгжүүлэлт дээр үндэслэн бэлтгэсэн SPIRV-LLVM.

OpenCL өргөтгөлтэй эх сурвалжуудыг clang ашиглан LLVM завсрын псевдокод (LLVM IR) болгон эмхэтгэж, дараа нь SPIR-V форматаар OpenCL цөмүүдийн завсрын дүрслэл болгон хувиргадаг. SPIR-V дүрслэл дэх цөмүүдийг Mesa руу дамжуулж, NIR формат руу хөрвүүлж, оновчтой болгож, NIR-аас DXIL руу дамжуулж, DirectX 12-д суурилсан ажиллах цагийг ашиглан GPU дээр ажиллахад тохиромжтой DXIL форматаар тооцоолох шэйдерүүдийг үүсгэдэг.
Mesa-д хэрэглэгддэг OpenCL хэрэгжүүлэлт болох Clover-ийн оронд DirectX 12 API руу шууд хөрвүүлэх боломжийг олгодог шинэ OpenCL ажиллах цагийг санал болгож байна.

Collabora нь DirectX дээр OpenCL болон OpenGL-г ажиллуулах нэмэлт програмыг хөгжүүлдэг

OpenCL болон OpenGL драйверуудыг Mesa-д өгөгдсөн Gallium интерфэйсийг ашиглан бэлтгэсэн бөгөөд энэ нь танд OpenGL-ийн тусгайлсан нарийн ширийн зүйлд орохгүйгээр драйвер үүсгэх, OpenGL дуудлагыг орчин үеийн GPU-ууд дээр ажилладаг графикийн үндсэн дээр орчуулах боломжийг олгодог. Gallium драйвер нь NIR-DXIL орчуулагчийг ашиглах үед OpenGL тушаалуудыг хүлээн авдаг
D3D12 драйверийг ашиглан GPU дээр гүйцэтгэх командын буферүүдийг үүсгэдэг.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх