mesa: require at least 14 UBOs for GL 4.3
authorRoland Scheidegger <sroland@vmware.com>
Thu, 11 Jan 2018 01:10:25 +0000 (02:10 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Fri, 12 Jan 2018 01:52:10 +0000 (02:52 +0100)
ARB_ubo requires 12 UBOs (per stage) at least, but this limit has been
raised by GL 4.3 to 14, so don't advertize GL 4.3 without it (only checking
the vertex stage since all drivers probably have the same limit anyway for
other stages). (piglit has minmax tests for that kind of thing, but they go
only up to 3.3, so this won't really be noticed.)
I think this currently should not affect any driver - r600 until very
recently only supported 12 but now advertizes 14 too.

Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/version.c

index 90c5c5f84e0a265ef80208b829fc8d232adb6b1b..68079f4ebbba10160ad28ee79083674c363bbb50 100644 (file)
@@ -352,6 +352,7 @@ compute_version(const struct gl_extensions *extensions,
                          extensions->ARB_transform_feedback_instanced);
    const bool ver_4_3 = (ver_4_2 &&
                          consts->GLSLVersion >= 430 &&
+                         consts->Program[MESA_SHADER_VERTEX].MaxUniformBlocks >= 14 &&
                          extensions->ARB_ES3_compatibility &&
                          extensions->ARB_arrays_of_arrays &&
                          extensions->ARB_compute_shader &&