i965: Define BRW_MAX_SSBO

Instead of using hard-coded values.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Iago Toral Quiroga
2015-09-30 11:05:49 +02:00
parent 440f9348c1
commit 41c4d45e08
2 changed files with 10 additions and 7 deletions
+7 -7
View File
@@ -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;
+3
View File
@@ -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