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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

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

跳至解决方案
223 次查看
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.

 

标签 (1)
0 项奖励
回复
1 解答
184 次查看
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 项奖励
回复
2 回复数
185 次查看
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 项奖励
回复
174 次查看
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 项奖励
回复