From 41c4d45e08b3bf948f24d007c9b7d0c47f3f89d8 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Wed, 30 Sep 2015 11:05:49 +0200 Subject: [PATCH] i965: Define BRW_MAX_SSBO Instead of using hard-coded values. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_context.c | 14 +++++++------- src/mesa/drivers/dri/i965/brw_context.h | 3 +++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 8fcba696c8e..87c84c6236b 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -582,17 +582,17 @@ brw_initialize_context_constants(struct brw_context *brw) /* FIXME: Tessellation stages are not yet supported in i965, so * MaxCombinedShaderStorageBlocks doesn't take them into account. */ - ctx->Const.Program[MESA_SHADER_VERTEX].MaxShaderStorageBlocks = 12; - ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxShaderStorageBlocks = 12; + ctx->Const.Program[MESA_SHADER_VERTEX].MaxShaderStorageBlocks = BRW_MAX_SSBO; + ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxShaderStorageBlocks = BRW_MAX_SSBO; ctx->Const.Program[MESA_SHADER_TESS_EVAL].MaxShaderStorageBlocks = 0; ctx->Const.Program[MESA_SHADER_TESS_CTRL].MaxShaderStorageBlocks = 0; - ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxShaderStorageBlocks = 12; - ctx->Const.Program[MESA_SHADER_COMPUTE].MaxShaderStorageBlocks = 12; - ctx->Const.MaxCombinedShaderStorageBlocks = 12 * 3; - ctx->Const.MaxShaderStorageBufferBindings = 36; + ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxShaderStorageBlocks = BRW_MAX_SSBO; + ctx->Const.Program[MESA_SHADER_COMPUTE].MaxShaderStorageBlocks = BRW_MAX_SSBO; + ctx->Const.MaxCombinedShaderStorageBlocks = BRW_MAX_SSBO * 3; + ctx->Const.MaxShaderStorageBufferBindings = BRW_MAX_SSBO * 3; if (_mesa_extension_override_enables.ARB_compute_shader) - ctx->Const.MaxShaderStorageBufferBindings += 12; + ctx->Const.MaxShaderStorageBufferBindings += BRW_MAX_SSBO; if (brw->gen >= 6) { ctx->Const.MaxVarying = 32; diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index 8fe88d2c85f..0ffc262f289 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -711,6 +711,9 @@ struct brw_vs_prog_data { /** Max number of UBOs in a shader */ #define BRW_MAX_UBO 12 +/** Max number of SSBOs in a shader */ +#define BRW_MAX_SSBO 12 + /** Max number of atomic counter buffer objects in a shader */ #define BRW_MAX_ABO 16 -- 2.30.2