From 36f392c4ef5fd8793127132f9b4465249e92c9ce Mon Sep 17 00:00:00 2001 From: Samuel Iglesias Gonsalvez Date: Tue, 9 Jun 2015 09:16:33 +0200 Subject: [PATCH] i965: set ARB_shader_storage_buffer_object related constant values MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit v2: - Add tessellation shader constants assignment v3: - Set MaxShaderStorageBufferBindings to 36. Signed-off-by: Samuel Iglesias Gonsalvez Reviewed-by: Jordan Justen Reviewed-by: Kristian Høgsberg --- src/mesa/drivers/dri/i965/brw_context.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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; -- 2.30.2