st/mesa: increase viewport bounds limits for GL4 hw
authorIlia Mirkin <imirkin@alum.mit.edu>
Tue, 8 Sep 2015 20:58:43 +0000 (16:58 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Tue, 8 Sep 2015 21:15:02 +0000 (17:15 -0400)
According to the ARB_viewport_array spec, GL4 limit is higher than the
GL3 limit. Also take this opportunity to fix the GL3 limit.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/state_tracker/st_extensions.c

index 17f572f80fbf25e717a824c3a651bb361b99b395..884761c6c3090094cf734d1b6d8383f5f5bf7969 100644 (file)
@@ -873,8 +873,13 @@ void st_init_extensions(struct pipe_screen *screen,
 
    consts->MaxViewports = screen->get_param(screen, PIPE_CAP_MAX_VIEWPORTS);
    if (consts->MaxViewports >= 16) {
-      consts->ViewportBounds.Min = -16384.0;
-      consts->ViewportBounds.Max = 16384.0;
+      if (glsl_feature_level >= 400) {
+         consts->ViewportBounds.Min = -32768.0;
+         consts->ViewportBounds.Max = 32767.0;
+      } else {
+         consts->ViewportBounds.Min = -16384.0;
+         consts->ViewportBounds.Max = 16383.0;
+      }
       extensions->ARB_viewport_array = GL_TRUE;
       extensions->ARB_fragment_layer_viewport = GL_TRUE;
       if (extensions->AMD_vertex_shader_layer)