Collabora DirectXтин үстүндө OpenCL жана OpenGL иштетүү үчүн кошумчаны иштеп чыгат

Collabora компаниясы берилген Mesa үчүн жаңы Gallium драйвери, ал DirectX 1.2 (D3.3D12) колдогон драйверлердин үстүнө OpenCL 3 жана OpenGL 12 APIлеринин ишин уюштуруу үчүн катмарды ишке ашырат. Code жарыяланган MIT лицензиясы боюнча.

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

Жакынкы пландардын арасында OpenCL 1.2 жана OpenGL 3.3 шайкештик тесттеринен толук өтүүгө жетишүү, тиркемелер менен шайкештикти текшерүү жана Mesa негизги курамына иштеп чыгууларды киргизүү бар. Иштеп чыгуу Microsoft инженерлери менен биргеликте ишке ашырылат ачык аспаптар D3D11On12 оюндарды D3D11ден D3D12ге жана китепканага өткөрүү үчүн D3D12TranslationLayer, ал D3D12 үстүнө стандарттык графикалык примитивдерди ишке ашырат.

Ишке ашырууга Gallium драйвери, OpenCL компилятору, OpenCL иштөө убактысы жана NIR-to-DXIL шейдер компилятору кирет, ал Mesaда колдонулган NIR шейдерлеринин аралык өкүлчүлүгүн DirectX 12де колдоого алынган жана негизделген DXIL (DirectX Intermediate Language) бинардык форматына айландырат. LLVM 3.7 биткоду (DirectX Shader Compiler Microsoft-дон бул негизинен LLVM 3.7 кеңейтилген айры болуп саналат). OpenCL компилятору LLVM долбоорунун жана куралдарынын иштеп чыгууларынын негизинде даярдалган SPIRV-LLVM.

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

Collabora DirectXтин үстүндө OpenCL жана OpenGL иштетүү үчүн кошумчаны иштеп чыгат

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

Source: opennet.ru

Комментарий кошуу