微软仍在继续改进 Mesa 中的 Gallium3D Direct3D 12 路径,以便在 Windows 上更好地运行 OpenGL。
根据介绍,Mesa D3D12 代码中的最新重要补充就是针对 Windows 的改进 —— 即,实现 OpenGL 着色器存储缓冲区对象(OpenGL Shader Storage Buffer Objects,SSBOs)。SSBOs 用于在 GLSL 中存储和检索数据,同时比 Uniform Buffer Objects 更通用。该功能是由 OpenGL 4.3 规定的 ARB_shader_storage_buffer_object 扩展定义的。
目前,Mesa D3D12 代码仍然只完全支持 OpenGL 3.3,还有许多扩展需要在所有的 OpenGL 4.x 版本中解决。但总的来说,至少 SSBO 已经到位,这也算是向前迈出了实际性的一步。而作为这项工作的一部分,除了 SPIR-V 之外,其还对 DXIL 代码进行了更改,以便与 GL NIR 一起使用。
这项工作是微软为使 OpenGL(和 OpenCL)在 Direct3D 12 上工作而做出的努力的一部分,以便在缺乏本地 OpenGL/OpenCL 驱动支持的 Windows 上,以及在 WSL 下使用。
此合并请求中的更多详细信息已于日前纳入了 Mesa 22.0。
猜你喜欢:暂无回复。