Mesa (master): nvfx: fix incorrect assert

Luca Barbieri lb at kemper.freedesktop.org
Sat Aug 21 21:45:42 UTC 2010


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

Author: Luca Barbieri <luca at luca-barbieri.com>
Date:   Sat Aug 21 23:33:51 2010 +0200

nvfx: fix incorrect assert

---

 src/gallium/drivers/nvfx/nvfx_vbo.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/nvfx/nvfx_vbo.c b/src/gallium/drivers/nvfx/nvfx_vbo.c
index 5d3fb6f..b1a0665 100644
--- a/src/gallium/drivers/nvfx/nvfx_vbo.c
+++ b/src/gallium/drivers/nvfx/nvfx_vbo.c
@@ -427,14 +427,17 @@ nvfx_vtxelts_state_create(struct pipe_context *pipe,
 			  const struct pipe_vertex_element *elements)
 {
 	struct nvfx_vtxelt_state *cso = CALLOC_STRUCT(nvfx_vtxelt_state);
-        struct translate_key transkey;
-        unsigned per_vertex_size[16];
-        unsigned vb_compacted_index[16];
+	struct translate_key transkey;
+	unsigned per_vertex_size[16];
+	unsigned vb_compacted_index[16];
 
-        memset(per_vertex_size, 0, sizeof(per_vertex_size));
-
-	assert(num_elements < 16); /* not doing fallbacks yet */
+	if(num_elements > 16)
+	{
+		_debug_printf("Error: application attempted to use %u vertex elements, but only 16 are supported: ignoring the rest\n");
+		num_elements = 16;
+	}
 
+	memset(per_vertex_size, 0, sizeof(per_vertex_size));
 	memcpy(cso->pipe, elements, num_elements * sizeof(elements[0]));
 	cso->num_elements = num_elements;
 	cso->needs_translate = FALSE;




More information about the mesa-commit mailing list