glsl: define some GLES3 constants in GLSL 4.1
authorDave Airlie <airlied@redhat.com>
Wed, 1 Jun 2016 06:16:30 +0000 (16:16 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 1 Jun 2016 07:01:13 +0000 (17:01 +1000)
The GLSL 4.1 spec adds:
gl_MaxVertexUniformVectors
gl_MaxFragmentUniformVectors
gl_MaxVaryingVectors

This fixes:
GL45-CTS.gtf31.GL3Tests.uniform_buffer_object.uniform_buffer_object_build_in_constants

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "12.0 11.2" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/compiler/glsl/builtin_variables.cpp

index d8b6f6edf97b8bcc3b797bd7168a888124d5af46..401c7136659d2e984e4c0fd0721ee90d83bd9cf2 100644 (file)
@@ -622,7 +622,7 @@ builtin_variable_generator::generate_constants()
    /* Max uniforms/varyings: GLSL ES counts these in units of vectors; desktop
     * GL counts them in units of "components" or "floats".
     */
-   if (state->es_shader) {
+   if (state->is_version(410, 100)) {
       add_const("gl_MaxVertexUniformVectors",
                 state->Const.MaxVertexUniformComponents / 4);
       add_const("gl_MaxFragmentUniformVectors",