diff options
author | Samuel Iglesias Gonsalvez <[email protected]> | 2015-06-09 09:16:33 +0200 |
---|---|---|
committer | Samuel Iglesias Gonsalvez <[email protected]> | 2015-09-25 08:39:20 +0200 |
commit | 36f392c4ef5fd8793127132f9b4465249e92c9ce (patch) | |
tree | 939560efdf90af13928cfc74002426b8da0e461f | |
parent | dfdeb94a5aedf838fe1f180fd68a7b5b2a3d7e99 (diff) |
i965: set ARB_shader_storage_buffer_object related constant values
v2:
- Add tessellation shader constants assignment
v3:
- Set MaxShaderStorageBufferBindings to 36.
Signed-off-by: Samuel Iglesias Gonsalvez <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Kristian Høgsberg <[email protected]>
-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; |