[Mesa-dev] [PATCH 14/14] st/mesa: fix assertion failures with 2101010 vertex formats

Marek Olšák maraeo at gmail.com
Thu Dec 20 09:56:52 PST 2012


---
 src/mesa/state_tracker/st_atom_array.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_array.c b/src/mesa/state_tracker/st_atom_array.c
index 15f5d1c..2437245 100644
--- a/src/mesa/state_tracker/st_atom_array.c
+++ b/src/mesa/state_tracker/st_atom_array.c
@@ -403,9 +403,9 @@ setup_interleaved_attribs(const struct st_vertex_program *vp,
       const GLuint mesaAttr = vp->index_to_input[attr];
       const struct gl_client_array *array = arrays[mesaAttr];
       unsigned src_offset = (unsigned) (array->Ptr - low_addr);
-      GLuint element_size = array->_ElementSize;
 
-      assert(element_size == array->Size * _mesa_sizeof_type(array->Type));
+      assert(array->_ElementSize ==
+             _mesa_bytes_per_vertex_attrib(array->Size, array->Type));
 
       velements[attr].src_offset = src_offset;
       velements[attr].instance_divisor = array->InstanceDivisor;
@@ -474,7 +474,8 @@ setup_non_interleaved_attribs(struct st_context *st,
       struct gl_buffer_object *bufobj = array->BufferObj;
       GLsizei stride = array->StrideB;
 
-      assert(array->_ElementSize == array->Size * _mesa_sizeof_type(array->Type));
+      assert(array->_ElementSize ==
+             _mesa_bytes_per_vertex_attrib(array->Size, array->Type));
 
       if (_mesa_is_bufferobj(bufobj)) {
          /* Attribute data is in a VBO.
-- 
1.7.10.4



More information about the mesa-dev mailing list