2016-07-08 30 views
0

对于GL_ARB_fragment_programGL_ARB_vertex_program有一个查询,如GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB。如果查询的结果是GL_FALSE,那么程序很可能以软件执行。如何检查GLSL着色器是否处于原始限制?

有什么办法来查询这个GLSL着色器或程序对象?

+0

为什么你需要查询它的单个着色器? –

+0

@ t.niese,以便我可以用一个简单的替换它,或者回退到不需要着色器的东西等等。当然也可以查询完整链接程序对象的级别,不一定是个人_shader_。 – Ruslan

回答

0

没有任何查询可以执行测试。如果着色器不能在硬件上执行,由于标准以外的原因(使用比允许的更多的制服等),那么该实现有两个选项。它可以通过硬件执行,也可以无法编译/链接着色器,并提供解释原因的信息。