Intel Posts Patches For SPIR-V Generation From Mesa's GLSL Compiler
Longtime Intel open-source graphics driver developer Ian Romanick has posted his initial set of patches for what he calls "the first of the real SPIR-V work."
The ten patches posted on Friday allow for generating SPIR-V intermediate representation from the Mesa GLSL compiler. This is a first but important step for ARB_gl_spirv support for SPIR-V ingestion by the OpenGL drivers as mandated by the new OpenGL 4.6 specification.
At this point the test code is able to generate SPIR-V out of around ten thousand shaders from Romanick's collection of about 46 thousand GLSL shaders. While that may seem like a lot of failures still, many of the shaders not converting to SPIR-V are due to those shaders relying upon legacy features that cannot be represented within SPIR-V constructs.
The ARB_gl_spirv extension is about allowing SPIR-V modules to be used by OpenGL drivers and allowing GLSL to be turned into SPIR-V modules, as part of better interoperability with Vulkan.
Those interested in this early work towards the long effort of SPIR-V OpenGL support can be found via Mesa-dev.
The ten patches posted on Friday allow for generating SPIR-V intermediate representation from the Mesa GLSL compiler. This is a first but important step for ARB_gl_spirv support for SPIR-V ingestion by the OpenGL drivers as mandated by the new OpenGL 4.6 specification.
At this point the test code is able to generate SPIR-V out of around ten thousand shaders from Romanick's collection of about 46 thousand GLSL shaders. While that may seem like a lot of failures still, many of the shaders not converting to SPIR-V are due to those shaders relying upon legacy features that cannot be represented within SPIR-V constructs.
The ARB_gl_spirv extension is about allowing SPIR-V modules to be used by OpenGL drivers and allowing GLSL to be turned into SPIR-V modules, as part of better interoperability with Vulkan.
Those interested in this early work towards the long effort of SPIR-V OpenGL support can be found via Mesa-dev.
4 Comments