st/mesa: don't include compute resources in "Combined" limits
authorMarek Olšák <marek.olsak@amd.com>
Wed, 8 Aug 2018 19:21:05 +0000 (15:21 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 23 Aug 2018 20:56:17 +0000 (16:56 -0400)
The combined limits should only include shader stages that can be active
at the same time.

Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
src/mesa/state_tracker/st_extensions.c

index d1c18e4e2a0ae2043f93b297fafb25152dcdf0a1..9c912b2df75ac25144053a3d6758e2bb72c20d57 100644 (file)
@@ -322,8 +322,7 @@ void st_init_limits(struct pipe_screen *screen,
               c->Program[MESA_SHADER_TESS_CTRL].MaxTextureImageUnits +
               c->Program[MESA_SHADER_TESS_EVAL].MaxTextureImageUnits +
               c->Program[MESA_SHADER_GEOMETRY].MaxTextureImageUnits +
-              c->Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits +
-              c->Program[MESA_SHADER_COMPUTE].MaxTextureImageUnits,
+              c->Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits,
               MAX_COMBINED_TEXTURE_IMAGE_UNITS);
 
    /* This depends on program constants. */
@@ -396,8 +395,7 @@ void st_init_limits(struct pipe_screen *screen,
          c->Program[MESA_SHADER_TESS_CTRL].MaxUniformBlocks +
          c->Program[MESA_SHADER_TESS_EVAL].MaxUniformBlocks +
          c->Program[MESA_SHADER_GEOMETRY].MaxUniformBlocks +
-         c->Program[MESA_SHADER_FRAGMENT].MaxUniformBlocks +
-         c->Program[MESA_SHADER_COMPUTE].MaxUniformBlocks;
+         c->Program[MESA_SHADER_FRAGMENT].MaxUniformBlocks,
       assert(c->MaxCombinedUniformBlocks <= MAX_COMBINED_UNIFORM_BUFFERS);
    }
 
@@ -462,8 +460,7 @@ void st_init_limits(struct pipe_screen *screen,
          c->Program[MESA_SHADER_TESS_CTRL].MaxImageUniforms +
          c->Program[MESA_SHADER_TESS_EVAL].MaxImageUniforms +
          c->Program[MESA_SHADER_GEOMETRY].MaxImageUniforms +
-         c->Program[MESA_SHADER_FRAGMENT].MaxImageUniforms +
-         c->Program[MESA_SHADER_COMPUTE].MaxImageUniforms;
+         c->Program[MESA_SHADER_FRAGMENT].MaxImageUniforms;
    c->MaxCombinedShaderOutputResources += c->MaxCombinedImageUniforms;
    c->MaxImageUnits = MAX_IMAGE_UNITS;
    if (c->MaxCombinedImageUniforms) {