Collabora DirectX үстінде OpenCL және OpenGL іске қосу үшін қосымшаны әзірлейді

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

Ұсынылған драйвер Mesa-ны OpenCL және OpenGL-ді қолдамайтын құрылғыларда, сондай-ақ D3D12 үстінде іске қосу үшін OpenGL/OpenCL қолданбаларын тасымалдаудың бастапқы нүктесі ретінде пайдалануға мүмкіндік береді. GPU өндірушілері үшін ішкі жүйе, егер тек D3D12 қолдауы бар драйверлер қол жетімді болса, OpenCL және OpenGL қолдауын қамтамасыз етуге мүмкіндік береді.

Жақын арада жоспарлар қатарында OpenCL 1.2 және OpenGL 3.3 үйлесімділік сынақтарынан толық өтуге қол жеткізу, қосымшалармен үйлесімділікті тексеру және Mesa негізгі құрамына әзірлемелерді қосу бар. Әзірлеу Microsoft әзірлеушілерімен бірлесіп жүзеге асырылады ашық құралдар D3D11On12 ойындарды D3D11-ден D3D12-ге және кітапханаға тасымалдауға арналған D3D12TranslationLayer, ол D3D12 үстіне стандартты графикалық примитивтерді жүзеге асырады.

Іске асыруға Gallium драйвері, OpenCL компиляторы, OpenCL жұмыс уақыты және Mesa жүйесінде қолданылатын NIR шейдерлерінің аралық көрінісін DirectX 12 жүйесінде қолдау көрсетілетін және негізделген DXIL (DirectX Intermediate Language) екілік пішіміне түрлендіретін NIR-DXIL шейдер компиляторы кіреді. LLVM 3.7 бит коды (DirectX Shader компиляторы Microsoft корпорациясының негізі LLVM 3.7 кеңейтілген шанышқысы болып табылады). OpenCL компиляторы LLVM жобасы мен құралдарының әзірлемелері негізінде дайындалған SPIRV-LLVM.

OpenCL кеңейтімдері бар көздер LLVM аралық жалған кодына (LLVM IR) clang көмегімен құрастырылады, ол кейін SPIR-V пішіміндегі OpenCL ядроларының аралық көрінісіне түрлендіріледі. SPIR-V көрсетіліміндегі өзектер Mesa жүйесіне жіберіледі, NIR пішіміне аударылады, оңтайландырылған және DirectX 12 негізіндегі жұмыс уақытын пайдаланатын GPU құрылғыларында орындауға жарамды DXIL пішіміндегі есептеу шейдерлерін жасау үшін NIR-DXIL-ге жіберіледі.
Clover орнына, Mesa-да қолданылатын OpenCL енгізуі, DirectX 12 API-ге көбірек тікелей түрлендіруге мүмкіндік беретін жаңа OpenCL жұмыс уақыты ұсынылады.

Collabora DirectX үстінде OpenCL және OpenGL іске қосу үшін қосымшаны әзірлейді

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

Ақпарат көзі: opennet.ru

пікір қалдыру