virgl: reduce some limits for now
authorDave Airlie <airlied@redhat.com>
Mon, 27 Jun 2016 20:45:28 +0000 (06:45 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 27 Jun 2016 20:49:26 +0000 (06:49 +1000)
These need to be passed from the host in caps structure if they
are larger, this fixes a bunch of tests on Intel hw, that I'd
put the limits too high for.

Cc: "11.2 12.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/virgl/virgl_screen.c

index b94b01716745762a23621d0edc31fef49b6a2e9a..82e7f1303e49fe9e27097762f498acbfdc89f643 100644 (file)
@@ -188,7 +188,7 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
    case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
       return 0;
    case PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES:
-      return 1024;
+      return 256;
    case PIPE_CAP_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS:
       return 16384;
    case PIPE_CAP_TEXTURE_QUERY_LOD:
@@ -284,9 +284,10 @@ virgl_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_sh
       case PIPE_SHADER_CAP_MAX_INPUTS:
          if (vscreen->caps.caps.v1.glsl_level < 150)
             return 16;
-         return shader == PIPE_SHADER_VERTEX ? 16 : 32;
+         return (shader == PIPE_SHADER_VERTEX ||
+                 shader == PIPE_SHADER_GEOMETRY) ? 16 : 32;
       case PIPE_SHADER_CAP_MAX_OUTPUTS:
-         return 128;
+         return 32;
      // case PIPE_SHADER_CAP_MAX_CONSTS:
      //    return 4096;
       case PIPE_SHADER_CAP_MAX_TEMPS: