Does Vivante vcompiler support OpenGL ES 3.1 shader binary generation on i.MX8M Plus?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Does Vivante vcompiler support OpenGL ES 3.1 shader binary generation on i.MX8M Plus?

Jump to solution
216 Views
Hariharan1
Contributor III

Hello NXP Team,

I am working on the i.MX8M Plus platform, which uses the Vivante GC7000UL GPU.
My runtime driver reports:

OpenGL ES 3.1 V6.4.11.p2.745085

I would like to pre-compile GLSL shaders into GPU binary format (.gcPGM) using the Vivante vCompiler tool, so that I can later load them at runtime with:

glProgramBinary(program, 0x8FC5, binaryData, binaryLength);

 

Currently, I have vCompiler version 5.0.0, which shows this error for any #version 310 es shader:

(1:0) : error : Can not support version 310.

Questions:

  1. Is there a version of vcompiler that supports OpenGL ES 3.1 shaders for the i.MX8M Plus (GC7000UL)?

  2. If yes, where can I obtain the matching vCompiler tool and GPU configuration file for driver version V6.4.11.p2.745085?

  3. Does the Vivante offline shader compiler generate .gcPGM files compatible with the OpenGL ES 3.1 runtime on this GPU?

Thank you in advance for your guidance.

Best regards,
Hariharan M.

 

Labels (1)
0 Kudos
Reply
1 Solution
177 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

The i.MX8M Plus features the Vivante GC7000UL GPU which supports OpenGL ES 3.1. However, the vCompiler version 5.0.0 that you're currently using does not support OpenGL ES 3.1 shaders (#version 310 es), which explains the error you're encountering.

For proper OpenGL ES 3.1 shader support on the i.MX8M Plus (GC7000UL), you need a newer version of the Vivante development tools. NXP offers the Vivante Driver Development Kit (VDK) which includes the necessary tools for shader compilation that are compatible with your GPU driver version (V6.4.11.p2.745085).

You should download the VivanteVTK package version v6.2.4.p4.1.7.12 or newer from the NXP website, which includes an updated vCompiler with OpenGL ES 3.1 support for the GC7000UL GPU. This toolkit will provide the appropriate GPU configuration file and compiler version needed to generate .gcPGM shader binary files compatible with your runtime environment.

Once you have the correct vCompiler version, you should be able to successfully compile your OpenGL ES 3.1 shaders and load them at runtime using glShaderBinary().

Regards

View solution in original post

0 Kudos
Reply
2 Replies
178 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

The i.MX8M Plus features the Vivante GC7000UL GPU which supports OpenGL ES 3.1. However, the vCompiler version 5.0.0 that you're currently using does not support OpenGL ES 3.1 shaders (#version 310 es), which explains the error you're encountering.

For proper OpenGL ES 3.1 shader support on the i.MX8M Plus (GC7000UL), you need a newer version of the Vivante development tools. NXP offers the Vivante Driver Development Kit (VDK) which includes the necessary tools for shader compilation that are compatible with your GPU driver version (V6.4.11.p2.745085).

You should download the VivanteVTK package version v6.2.4.p4.1.7.12 or newer from the NXP website, which includes an updated vCompiler with OpenGL ES 3.1 support for the GC7000UL GPU. This toolkit will provide the appropriate GPU configuration file and compiler version needed to generate .gcPGM shader binary files compatible with your runtime environment.

Once you have the correct vCompiler version, you should be able to successfully compile your OpenGL ES 3.1 shaders and load them at runtime using glShaderBinary().

Regards

0 Kudos
Reply
167 Views
Hariharan1
Contributor III

Hi,

 

I have used V6.4.11.p2.745085 this version but you said (v6.2.4.p4.1.7.12) older than what i had used. Can you confirm the Toolkit version?

And glShaderBinary API providing by OpenGL ES 2.0. How can I use for OpenGL ES 3.1?

Thank you,

0 Kudos
Reply