شرکت Collabora
درایور پیشنهادی به شما امکان می دهد از Mesa در دستگاه هایی استفاده کنید که به طور بومی از OpenCL و OpenGL پشتیبانی نمی کنند و همچنین به عنوان نقطه شروعی برای انتقال برنامه های OpenGL/OpenCL برای اجرا در بالای D3D12. برای تولیدکنندگان GPU، زیرسیستم امکان پشتیبانی از OpenCL و OpenGL را فراهم می کند، در صورتی که فقط درایورهایی با پشتیبانی از D3D12 در دسترس باشند.
از جمله برنامه های فوری می توان به موفقیت کامل در تست های سازگاری OpenCL 1.2 و OpenGL 3.3، بررسی سازگاری با برنامه ها و گنجاندن پیشرفت ها در ترکیب اصلی Mesa اشاره کرد. توسعه به طور مشترک با مهندسان مایکروسافت در حال توسعه انجام می شود
این پیاده سازی شامل درایور گالیوم، کامپایلر OpenCL، زمان اجرا OpenCL و کامپایلر سایه زن NIR-to-DXIL است که نمایش متوسط سایه زن های NIR مورد استفاده در Mesa را به فرمت باینری DXIL (DirectX Intermediate Language) تبدیل می کند که در DirectX 12 پشتیبانی می شود و بر اساس آن LLVM 3.7 بیت کد (
منابع با پسوند OpenCL با استفاده از clang به شبه کد میانی LLVM (LLVM IR) کامپایل میشوند، که سپس به یک نمایش میانی از هستههای OpenCL در قالب SPIR-V تبدیل میشود. هستههای موجود در نمایش SPIR-V به Mesa منتقل میشوند، به فرمت NIR ترجمه میشوند، بهینهسازی میشوند و به NIR-to-DXIL ارسال میشوند تا سایهزنهای محاسباتی با فرمت DXIL تولید کنند، مناسب برای اجرا بر روی GPU با استفاده از زمان اجرا مبتنی بر DirectX 12.
به جای Clover، اجرای OpenCL مورد استفاده در Mesa، یک زمان اجرا OpenCL جدید پیشنهاد شده است که امکان تبدیل مستقیم بیشتری به DirectX 12 API را فراهم می کند.
درایورهای OpenCL و OpenGL با استفاده از رابط گالیوم ارائه شده در Mesa آماده شده اند، که به شما امکان می دهد بدون وارد شدن به جزئیات خاص OpenGL درایور ایجاد کنید و تماس های OpenGL را در اصل به گرافیک های اولیه ای که پردازنده های گرافیکی مدرن بر روی آنها کار می کنند نزدیک تر ترجمه کنید. درایور گالیوم، دستورات OpenGL و هنگام استفاده از مترجم NIR-به-DXIL را می پذیرد
بافرهای دستوری را ایجاد می کند که با استفاده از درایور D3D12 روی GPU اجرا می شوند.
منبع: opennet.ru