Collabora ṣe agbekalẹ afikun kan fun ṣiṣiṣẹ OpenCL ati OpenGL lori oke DirectX

Ile-iṣẹ ifowosowopo gbekalẹ Awakọ Gallium tuntun fun Mesa, eyiti o ṣe imuse kan Layer fun siseto iṣẹ ti OpenCL 1.2 ati OpenGL 3.3 API lori awọn awakọ ti n ṣe atilẹyin DirectX 12 (D3D12). Koodu atejade labẹ iwe-aṣẹ MIT.

Awakọ ti a dabaa gba ọ laaye lati lo Mesa lori awọn ẹrọ ti ko ṣe atilẹyin fun abinibi OpenCL ati OpenGL, ati tun bi aaye ibẹrẹ fun gbigbe awọn ohun elo OpenGL/OpenCL ṣiṣẹ lori oke D3D12. Fun awọn aṣelọpọ GPU, eto ipilẹ jẹ ki o ṣee ṣe lati pese atilẹyin fun OpenCL ati OpenGL, ti awọn awakọ nikan pẹlu atilẹyin D3D12 wa.

Lara awọn ero lẹsẹkẹsẹ ni aṣeyọri ti gbigbe ni kikun ti awọn idanwo ibaramu ti OpenCL 1.2 ati OpenGL 3.3, ṣayẹwo ibamu pẹlu awọn ohun elo ati ifisi awọn idagbasoke ni akopọ akọkọ ti Mesa. Idagbasoke ni a ṣe ni apapọ pẹlu idagbasoke awọn onimọ-ẹrọ Microsoft ṣii irinṣẹ D3D11Lori12 fun gbigbe awọn ere lati D3D11 to D3D12 ati ìkàwé D3D12TranslationLayer, eyi ti o nse boṣewa ayaworan primitives lori oke ti D3D12.

Imuse naa pẹlu awakọ Gallium, OpenCL compiler, OpenCL Runtime ati NIR-to-DXIL shader compiler, eyi ti o ṣe iyipada aṣoju agbedemeji ti awọn shaders NIR ti a lo ni Mesa sinu ọna kika alakomeji DXIL (DirectX Intermediate Language) DXIL, ni atilẹyin ni DirectX 12 ati da lori LLVM 3.7 bitcode (DirectX Shader Compiler lati Microsoft jẹ pataki orita ti o gbooro sii ti LLVM 3.7). Olupilẹṣẹ OpenCL ti pese sile da lori awọn idagbasoke ti iṣẹ akanṣe LLVM ati awọn irinṣẹ SPIRV-LLVM.

Awọn orisun pẹlu awọn amugbooro OpenCL ni a ṣe akojọpọ nipa lilo idile sinu pseudocode agbedemeji LLVM (LLVM IR), eyiti o yipada lẹhinna si aṣoju agbedemeji ti awọn ekuro OpenCL ni ọna kika SPIR-V. Awọn Cores ni aṣoju SPIR-V ti kọja si Mesa, ti a tumọ si ọna kika NIR, iṣapeye ati kọja si NIR-to-DXIL lati ṣe agbekalẹ awọn ojiji iṣiro ni ọna kika DXIL, ti o dara fun ipaniyan lori awọn GPUs nipa lilo akoko asiko-orisun DirectX 12.
Dipo Clover, imuse OpenCL ti a lo ni Mesa, a dabaa akoko asiko OpenCL tuntun kan, gbigba awọn iyipada taara diẹ sii si DirectX 12 API.

Collabora ṣe agbekalẹ afikun kan fun ṣiṣiṣẹ OpenCL ati OpenGL lori oke DirectX

Awọn awakọ OpenCL ati OpenGL ti pese sile ni lilo wiwo Gallium ti a pese ni Mesa, eyiti o fun ọ laaye lati ṣẹda awakọ laisi lilọ sinu awọn alaye pato-OpenGL ati tumọ awọn ipe OpenGL ni isunmọ si awọn alakoko eya aworan ti awọn GPU ode oni nṣiṣẹ lori. Awakọ Gallium, gba awọn aṣẹ OpenGL ati nigba lilo onitumọ NIR-si-DXIL
n ṣe awọn buffers pipaṣẹ ti a ṣe lori GPU nipa lilo awakọ D3D12.

orisun: opennet.ru

Fi ọrọìwòye kun