st/mesa: don't include compute resources in "Combined" limits

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>
This commit is contained in:
Marek Olšák 2018-08-08 15:21:05 -04:00
parent d36af3a9d9
commit cff290df4c

View 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) {