Only SPIR-V & KHR_no_error Are Left Blocking OpenGL 4.6 In Mesa
It's only the in-progress SPIR-V and KHR_no_error work left preventing the RadeonSI and Intel OpenGL drivers in Mesa from exposing OpenGL 4.6.
Red Hat's Adam Jackson landed the easy work today for exposing ARB_polygon_offset_clamp and ARB_texture_filter_anisotropic. These two ARB extensions mandated by OpenGL 4.6 are nearly identical to their EXT equivalents that have previously existed and already supported by Mesa. With the two commits today, these two extensions now work across all the prominent Mesa/Gallium3D drivers. The ARB_texture_filter_anisotropic is quite exciting in that anisotropic filtering is finally mandated by OpenGL now that it's no longer encumbered by legal/IP issues.
These patches aren't CC'ed for Mesa 17.2, so it's work to be found in next quarter's Mesa 17.3 release. With those changes today, the only blockers for RadeonSI and Intel i965 from having OpenGL 4.6 support are ARB_gl_spirv, ARB_spirv_extensions, and KHR_no_error. The first two are intertwined and about allowing SPIR-V ingestion (the Vulkan/OpenCL 2.1+ IR) to be used by OpenGL drivers while the other is about being able to disable error checking to lower driver overhead and possibly benefit power savings and CPU usage.
Intel and AMD have developers both working on the SPIR-V support for their open-source OpenGL drivers. The RadeonSI work in particular is a big undertaking as at the same time they are needing to add the NIR back-end to their driver. There's no estimate for when the SPIR-V support will be ready for either driver, but hopefully a matter of weeks and not months.
In regards to KHR_no_error, the Valve crew continues pushing out new patches often for KHR_no_error'ing different code paths. That seems to be getting mostly wrapped up and so the bulk of the work is already in Mesa Git.
Thus hopefully for the Mesa 17.3 release around the end of November we'll see OpenGL 4.6 at least for RadeonSI and Intel i965! See my OpenGL 4.6 overview if wishing to get refreshed on the changes for this update.
Red Hat's Adam Jackson landed the easy work today for exposing ARB_polygon_offset_clamp and ARB_texture_filter_anisotropic. These two ARB extensions mandated by OpenGL 4.6 are nearly identical to their EXT equivalents that have previously existed and already supported by Mesa. With the two commits today, these two extensions now work across all the prominent Mesa/Gallium3D drivers. The ARB_texture_filter_anisotropic is quite exciting in that anisotropic filtering is finally mandated by OpenGL now that it's no longer encumbered by legal/IP issues.
These patches aren't CC'ed for Mesa 17.2, so it's work to be found in next quarter's Mesa 17.3 release. With those changes today, the only blockers for RadeonSI and Intel i965 from having OpenGL 4.6 support are ARB_gl_spirv, ARB_spirv_extensions, and KHR_no_error. The first two are intertwined and about allowing SPIR-V ingestion (the Vulkan/OpenCL 2.1+ IR) to be used by OpenGL drivers while the other is about being able to disable error checking to lower driver overhead and possibly benefit power savings and CPU usage.
Intel and AMD have developers both working on the SPIR-V support for their open-source OpenGL drivers. The RadeonSI work in particular is a big undertaking as at the same time they are needing to add the NIR back-end to their driver. There's no estimate for when the SPIR-V support will be ready for either driver, but hopefully a matter of weeks and not months.
In regards to KHR_no_error, the Valve crew continues pushing out new patches often for KHR_no_error'ing different code paths. That seems to be getting mostly wrapped up and so the bulk of the work is already in Mesa Git.
Thus hopefully for the Mesa 17.3 release around the end of November we'll see OpenGL 4.6 at least for RadeonSI and Intel i965! See my OpenGL 4.6 overview if wishing to get refreshed on the changes for this update.
7 Comments