mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 18:18:06 +02:00
i965: don't include compute resources in "Combined" limits
The combined limits should only include shader stages that can be active at the same time. We don't need to include compute. See alsocff290df4cfor st/mesa. Unbreaks i965 from assert failing on driver load since Marek's45f87a48f9, which dropped the core Mesa capabilities before adjusting driver limits down to match.
This commit is contained in:
parent
9176703788
commit
b03dcb1e5f
1 changed files with 11 additions and 11 deletions
|
|
@ -421,10 +421,10 @@ brw_initialize_context_constants(struct brw_context *brw)
|
|||
ctx->Const.MaxComputeWorkGroupSize[0] >= 128),
|
||||
};
|
||||
|
||||
unsigned num_stages = 0;
|
||||
for (int i = 0; i < MESA_SHADER_STAGES; i++) {
|
||||
unsigned num_gfx_stages = 0;
|
||||
for (int i = 0; i < MESA_SHADER_COMPUTE; i++) {
|
||||
if (stage_exists[i])
|
||||
num_stages++;
|
||||
num_gfx_stages++;
|
||||
}
|
||||
|
||||
unsigned max_samplers =
|
||||
|
|
@ -505,14 +505,14 @@ brw_initialize_context_constants(struct brw_context *brw)
|
|||
MIN2(ctx->Const.MaxTextureCoordUnits,
|
||||
ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits);
|
||||
|
||||
ctx->Const.MaxUniformBufferBindings = num_stages * BRW_MAX_UBO;
|
||||
ctx->Const.MaxCombinedUniformBlocks = num_stages * BRW_MAX_UBO;
|
||||
ctx->Const.MaxCombinedAtomicBuffers = num_stages * BRW_MAX_ABO;
|
||||
ctx->Const.MaxCombinedShaderStorageBlocks = num_stages * BRW_MAX_SSBO;
|
||||
ctx->Const.MaxShaderStorageBufferBindings = num_stages * BRW_MAX_SSBO;
|
||||
ctx->Const.MaxCombinedTextureImageUnits = num_stages * max_samplers;
|
||||
ctx->Const.MaxCombinedImageUniforms = num_stages * BRW_MAX_IMAGES;
|
||||
|
||||
ctx->Const.MaxUniformBufferBindings = num_gfx_stages * BRW_MAX_UBO;
|
||||
ctx->Const.MaxCombinedUniformBlocks = num_gfx_stages * BRW_MAX_UBO;
|
||||
ctx->Const.MaxCombinedAtomicBuffers = num_gfx_stages * BRW_MAX_ABO;
|
||||
ctx->Const.MaxCombinedShaderStorageBlocks = num_gfx_stages * BRW_MAX_SSBO;
|
||||
ctx->Const.MaxCombinedTextureImageUnits = num_gfx_stages * max_samplers;
|
||||
ctx->Const.MaxCombinedImageUniforms = num_gfx_stages * BRW_MAX_IMAGES;
|
||||
ctx->Const.MaxShaderStorageBufferBindings =
|
||||
(num_gfx_stages + stage_exists[MESA_SHADER_COMPUTE]) * BRW_MAX_SSBO;
|
||||
|
||||
/* Hardware only supports a limited number of transform feedback buffers.
|
||||
* So we need to override the Mesa default (which is based only on software
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue