Does PowerVR support GL_ARB_gl_spirv?

Or does it plan to in the foreseeable future? I want to port an OpenGL app to Vulkan and it might make things easier if I can port it to spirv first.

Hi desperado,

Thanks for your message, we’re reviewing your question and we’ll come back to you with the answer shortly.

Best regards,
Alejandro

Hi Desperado,

I’ve checked the latest version of the driver and there is no support for the GL_ARB_gl_spirv extension. This is because in the specification for the extension it states that it is only written for OpenGL desktop and not OpenGL ES. It’s important to note the difference between OpenGL and OpenGL ES, PowerVR devices are aimed at OpenGL ES and not OpenGL. I also double checked with the driver team, and there is no plan to implement this

However I’d like to point out that porting your shaders to Vulkan should still be fairly easy. Instead of forcing OpenGL ES to read SPIRV shaders, you can translate your GLSL shaders to SPIRV for use in the Vulkan version. In fact the entirety of the SDK writes it’s Vulkan shaders in GLSL.

Using the tool called “glslangValidator” supplied by the Khronos Vulkan SDK a GLSL shader can be translated to SPIRV with the command

glslangValidator -V Shader.glsl -S #SHADERSTAGE 

Where #SHADERSTAGE is the pipeline stage your shader is supposed to be executed for ie:

  • vert
  • frag
  • comp
  • tesc
  • tese
  • geom

I hope this helps, let us know if you need more assistance.
All the best,
Lawrence

2 Likes

Hi @desperado
I think nobody want to support GL_ARB_gl_spirv for OpenGL ES, also here is currently no plan for a new core version of OpenGL ES. Use Vulkan with spir-v shaders.
In addition you can use HLSL for Vulkan!