[Mesa-dev] [PATCH 06/42] radeonsi: add SI_MAX_ATTRIBS

Marek Olšák maraeo at gmail.com
Sun Aug 30 12:11:36 PDT 2015


From: Marek Olšák <marek.olsak at amd.com>

PIPE_MAX_ATTRIBS is 32, but we currently only support 16.
---
 src/gallium/drivers/radeonsi/si_state.c | 2 +-
 src/gallium/drivers/radeonsi/si_state.h | 9 +++++----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index b3a1826..62eda97 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2784,7 +2784,7 @@ static void *si_create_vertex_elements(struct pipe_context *ctx,
 	struct si_vertex_element *v = CALLOC_STRUCT(si_vertex_element);
 	int i;
 
-	assert(count < PIPE_MAX_ATTRIBS);
+	assert(count < SI_MAX_ATTRIBS);
 	if (!v)
 		return NULL;
 
diff --git a/src/gallium/drivers/radeonsi/si_state.h b/src/gallium/drivers/radeonsi/si_state.h
index 242db8a..bf713c4 100644
--- a/src/gallium/drivers/radeonsi/si_state.h
+++ b/src/gallium/drivers/radeonsi/si_state.h
@@ -31,6 +31,7 @@
 #include "radeon/r600_pipe_common.h"
 
 #define SI_NUM_SHADERS (PIPE_SHADER_TESS_EVAL+1)
+#define SI_MAX_ATTRIBS 16
 
 struct si_screen;
 struct si_shader;
@@ -84,9 +85,9 @@ struct si_state_dsa {
 struct si_vertex_element
 {
 	unsigned			count;
-	uint32_t			rsrc_word3[PIPE_MAX_ATTRIBS];
-	uint32_t			format_size[PIPE_MAX_ATTRIBS];
-	struct pipe_vertex_element	elements[PIPE_MAX_ATTRIBS];
+	uint32_t			rsrc_word3[SI_MAX_ATTRIBS];
+	uint32_t			format_size[SI_MAX_ATTRIBS];
+	struct pipe_vertex_element	elements[SI_MAX_ATTRIBS];
 };
 
 union si_state {
@@ -156,7 +157,7 @@ struct si_shader_data {
 #define SI_SO_BUF_OFFSET	SI_NUM_RING_BUFFERS
 #define SI_NUM_RW_BUFFERS	(SI_SO_BUF_OFFSET + 4)
 
-#define SI_NUM_VERTEX_BUFFERS	16
+#define SI_NUM_VERTEX_BUFFERS	SI_MAX_ATTRIBS
 
 
 /* This represents descriptors in memory, such as buffer resources,
-- 
2.1.4



More information about the mesa-dev mailing list