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;