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:
Is there a version of vcompiler that supports OpenGL ES 3.1 shaders for the i.MX8M Plus (GC7000UL)?
If yes, where can I obtain the matching vCompiler tool and GPU configuration file for driver version V6.4.11.p2.745085?
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.
解決済! 解決策の投稿を見る。
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
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
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,