diff options
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_context.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 0cfc8435964..47203c1701b 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -579,6 +579,18 @@ brw_initialize_context_constants(struct brw_context *brw) ctx->Const.TextureBufferOffsetAlignment = 16; ctx->Const.MaxTextureBufferSize = 128 * 1024 * 1024; + /* 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_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; + if (brw->gen >= 6) { ctx->Const.MaxVarying = 32; ctx->Const.Program[MESA_SHADER_VERTEX].MaxOutputComponents = 128; |