[Mesa-dev] [PATCH 5/5] mesa: Replace gl_client_array usage in _mesa_print_arrays()
Kenneth Graunke
kenneth at whitecape.org
Thu Sep 18 16:32:14 PDT 2014
For now, this prints out the same information as before - just using the
newer/non-derived structures. Printing out each structure's fields
separately might be more useful, but I've never used this code, so I'm
not sure.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/main/varray.c | 47 +++++++++++++++++++++++++++++++----------------
1 file changed, 31 insertions(+), 16 deletions(-)
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index 09bf52c..380a32e 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -1904,16 +1904,19 @@ _mesa_copy_vertex_buffer_binding(struct gl_context *ctx,
* Print vertex array's fields.
*/
static void
-print_array(const char *name, GLint index, const struct gl_client_array *array)
+print_array(const char *name, GLint index,
+ const struct gl_vertex_attrib_array *attrib,
+ const struct gl_vertex_buffer_binding *binding)
{
if (index >= 0)
printf(" %s[%d]: ", name, index);
else
printf(" %s: ", name);
printf("Ptr=%p, Type=0x%x, Size=%d, ElemSize=%u, Stride=%d, Buffer=%u(Size %lu)\n",
- array->Ptr, array->Type, array->Size,
- array->_ElementSize, array->StrideB,
- array->BufferObj->Name, (unsigned long) array->BufferObj->Size);
+ _mesa_vertex_attrib_address(attrib, binding),
+ attrib->Type, attrib->Size,
+ attrib->_ElementSize, binding->Stride,
+ binding->BufferObj->Name, (unsigned long) binding->BufferObj->Size);
}
@@ -1927,18 +1930,30 @@ _mesa_print_arrays(struct gl_context *ctx)
GLuint i;
printf("Array Object %u\n", vao->Name);
- if (vao->_VertexAttrib[VERT_ATTRIB_POS].Enabled)
- print_array("Vertex", -1, &vao->_VertexAttrib[VERT_ATTRIB_POS]);
- if (vao->_VertexAttrib[VERT_ATTRIB_NORMAL].Enabled)
- print_array("Normal", -1, &vao->_VertexAttrib[VERT_ATTRIB_NORMAL]);
- if (vao->_VertexAttrib[VERT_ATTRIB_COLOR0].Enabled)
- print_array("Color", -1, &vao->_VertexAttrib[VERT_ATTRIB_COLOR0]);
- for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++)
- if (vao->_VertexAttrib[VERT_ATTRIB_TEX(i)].Enabled)
- print_array("TexCoord", i, &vao->_VertexAttrib[VERT_ATTRIB_TEX(i)]);
- for (i = 0; i < VERT_ATTRIB_GENERIC_MAX; i++)
- if (vao->_VertexAttrib[VERT_ATTRIB_GENERIC(i)].Enabled)
- print_array("Attrib", i, &vao->_VertexAttrib[VERT_ATTRIB_GENERIC(i)]);
+ if (vao->VertexAttrib[VERT_ATTRIB_POS].Enabled) {
+ print_array("Vertex", -1, &vao->VertexAttrib[VERT_ATTRIB_POS],
+ &vao->VertexBinding[VERT_ATTRIB_POS]);
+ }
+ if (vao->VertexAttrib[VERT_ATTRIB_NORMAL].Enabled) {
+ print_array("Normal", -1, &vao->VertexAttrib[VERT_ATTRIB_NORMAL],
+ &vao->VertexBinding[VERT_ATTRIB_NORMAL]);
+ }
+ if (vao->VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) {
+ print_array("Color", -1, &vao->VertexAttrib[VERT_ATTRIB_COLOR0],
+ &vao->VertexBinding[VERT_ATTRIB_COLOR0]);
+ }
+ for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++) {
+ if (vao->VertexAttrib[VERT_ATTRIB_TEX(i)].Enabled) {
+ print_array("TexCoord", i, &vao->VertexAttrib[VERT_ATTRIB_TEX(i)],
+ &vao->VertexBinding[VERT_ATTRIB_TEX(i)]);
+ }
+ }
+ for (i = 0; i < VERT_ATTRIB_GENERIC_MAX; i++) {
+ if (vao->VertexAttrib[VERT_ATTRIB_GENERIC(i)].Enabled) {
+ print_array("Attrib", i, &vao->VertexAttrib[VERT_ATTRIB_GENERIC(i)],
+ &vao->VertexBinding[VERT_ATTRIB_GENERIC(i)]);
+ }
+ }
}
--
2.1.0
More information about the mesa-dev
mailing list