Mesa (master): i965: Define BRW_MAX_SSBO

Iago Toral Quiroga itoral at kemper.freedesktop.org
Mon Oct 5 06:22:14 UTC 2015


Module: Mesa
Branch: master
Commit: 41c4d45e08b3bf948f24d007c9b7d0c47f3f89d8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=41c4d45e08b3bf948f24d007c9b7d0c47f3f89d8

Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed Sep 30 11:05:49 2015 +0200

i965: Define BRW_MAX_SSBO

Instead of using hard-coded values.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_context.c |   14 +++++++-------
 src/mesa/drivers/dri/i965/brw_context.h |    3 +++
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
index 8fcba69..87c84c6 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -582,17 +582,17 @@ brw_initialize_context_constants(struct brw_context *brw)
    /* 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_VERTEX].MaxShaderStorageBlocks = BRW_MAX_SSBO;
+   ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxShaderStorageBlocks = BRW_MAX_SSBO;
    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;
+   ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxShaderStorageBlocks = BRW_MAX_SSBO;
+   ctx->Const.Program[MESA_SHADER_COMPUTE].MaxShaderStorageBlocks = BRW_MAX_SSBO;
+   ctx->Const.MaxCombinedShaderStorageBlocks = BRW_MAX_SSBO * 3;
+   ctx->Const.MaxShaderStorageBufferBindings = BRW_MAX_SSBO * 3;
 
    if (_mesa_extension_override_enables.ARB_compute_shader)
-      ctx->Const.MaxShaderStorageBufferBindings += 12;
+      ctx->Const.MaxShaderStorageBufferBindings += BRW_MAX_SSBO;
 
    if (brw->gen >= 6) {
       ctx->Const.MaxVarying = 32;
diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h
index 8fe88d2..0ffc262 100644
--- a/src/mesa/drivers/dri/i965/brw_context.h
+++ b/src/mesa/drivers/dri/i965/brw_context.h
@@ -711,6 +711,9 @@ struct brw_vs_prog_data {
 /** Max number of UBOs in a shader */
 #define BRW_MAX_UBO 12
 
+/** Max number of SSBOs in a shader */
+#define BRW_MAX_SSBO 12
+
 /** Max number of atomic counter buffer objects in a shader */
 #define BRW_MAX_ABO 16
 




More information about the mesa-commit mailing list