2016-07-08 53 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

沒有任何查詢可以執行測試。如果着色器不能在硬件上執行,由於標準以外的原因(使用比允許的更多的制服等),那麼該實現有兩個選項。它可以通過硬件執行,也可以無法編譯/鏈接着色器,並提供解釋原因的信息。