Collabora þróar viðbót til að keyra OpenCL og OpenGL ofan á DirectX

Collabora fyrirtæki fram nýr Gallium rekla fyrir Mesa, sem útfærir lag til að skipuleggja vinnu OpenCL 1.2 og OpenGL 3.3 API ofan á rekla sem styðja DirectX 12 (D3D12). Kóði birt undir MIT leyfi.

Fyrirhugaður bílstjóri gerir þér kleift að nota Mesa á tækjum sem styðja ekki OpenCL og OpenGL, og einnig sem upphafspunkt til að flytja OpenGL/OpenCL forrit til að keyra ofan á D3D12. Fyrir framleiðendur GPU gerir undirkerfið mögulegt að veita stuðning fyrir OpenCL og OpenGL, ef aðeins ökumenn með D3D12 stuðningi eru tiltækir.

Meðal bráðaáætlana er að ná fullum árangri í samhæfniprófum OpenCL 1.2 og OpenGL 3.3, kanna samhæfni við forrit og innleiðing þróunar í aðalsamsetningu Mesa. Þróun fer fram í samvinnu við þróunarverkfræðinga Microsoft opið verkfæri D3D11On12 til að flytja leiki úr D3D11 í D3D12 og bókasafn D3D12Þýðingarlag, sem útfærir staðlaðar grafískar frumstæður ofan á D3D12.

Innleiðingin felur í sér Gallium rekla, OpenCL þýðanda, OpenCL runtime og NIR-til-DXIL skyggingarþýðanda, sem breytir milliframsetningu NIR skyggingar sem notaðir eru í Mesa yfir í DXIL (DirectX Intermediate Language) tvöfalda sniðið, stutt í DirectX 12 og byggt á LLVM 3.7 bitakóði (DirectX Shader Compiler frá Microsoft er í raun framlengdur gaffli af LLVM 3.7). OpenCL þýðandinn er útbúinn út frá þróun LLVM verkefnisins og verkfæranna SPIRV-LLVM.

Heimildir með OpenCL eftirnafn eru settar saman með því að nota clang í LLVM milligervikóða (LLVM IR), sem síðan er breytt í milliframsetningu OpenCL kjarna á SPIR-V sniði. Kjarnar í SPIR-V framsetningunni eru sendar inn í Mesa, þýddir á NIR snið, fínstilltir og sendar til NIR-til-DXIL til að búa til tölvuskyggingar á DXIL sniði, hentugur fyrir keyrslu á GPU sem nota DirectX 12 byggt keyrslutíma.
Í stað Clover, OpenCL útfærslunnar sem notuð er í Mesa, er lagt til nýjan OpenCL keyrslutíma sem gerir beinari umbreytingar í DirectX 12 API.

Collabora þróar viðbót til að keyra OpenCL og OpenGL ofan á DirectX

OpenCL og OpenGL reklar eru útbúnir með því að nota Gallium viðmótið sem fylgir Mesa, sem gerir þér kleift að búa til rekla án þess að fara í OpenGL sérstakar upplýsingar og þýða OpenGL símtöl í raun nær þeim frumstæðum grafík sem nútíma GPUs starfa á. Gallium bílstjóri, samþykkir OpenGL skipanir og þegar NIR-til-DXIL þýðandinn er notaður
býr til stjórna biðminni sem eru keyrð á GPU með því að nota D3D12 rekilinn.

Heimild: opennet.ru

Bæta við athugasemd