On 03/09/15 12:30, Tapani Pälli wrote: > Hi; > > On 07/23/2015 09:42 AM, Samuel Iglesias Gonsalvez wrote: >> v2: >> - Add tessellation shader constants assignment >> >> Signed-off-by: Samuel Iglesias Gonsalvez <sigles...@igalia.com> >> --- >> 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 b08a53b..a5c7b91 100644 >> --- a/src/mesa/drivers/dri/i965/brw_context.c >> +++ b/src/mesa/drivers/dri/i965/brw_context.c >> @@ -551,6 +551,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 = 48; > > I think there is something funny with MaxShaderStorageBufferBindings > value calculation. Commit 28ef0f83 adds 12 to it and then this commit > overwrites it as 48. Without compute shaders I guess this value should > be 48 - 12? > > I guess earlier '+12' should be removed and this part should be modified > to calculate based on what is supported. For me '48 -12' fixes a few > crashes I'm getting with > "igalia/wip/siglesias/ARB_shader_storage_buffer_object-v4.3" branch I've > used for some testing. >
I see. We are going to review the MaxShaderStorageBufferBindings calculation, thanks for the report and the ideas. Can you share with us the tests that crashed because of this? You can send them privately to me, if needed. Sam > >> + >> if (brw->gen >= 6) { >> ctx->Const.MaxVarying = 32; >> ctx->Const.Program[MESA_SHADER_VERTEX].MaxOutputComponents = 128; >> > > // Tapani > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev