i965: Define BRW_MAX_SSBO
Instead of using hard-coded values. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user