diff options
| author | Brian Paul <brianp@vmware.com> | 2009-03-02 17:55:09 -0700 | 
|---|---|---|
| committer | Brian Paul <brianp@vmware.com> | 2009-03-02 17:55:09 -0700 | 
| commit | a3b7db0326337117ccdea526818040d2c24d83b4 (patch) | |
| tree | ea28e3f3c61a90a4d2d5e6cdca78f57c68c6b2a3 | |
| parent | 433f2ab2ec4685328c3ee4802fab84fd12671eb3 (diff) | |
mesa: save some useful VBO debug/dump code (disabled)
| -rw-r--r-- | src/mesa/vbo/vbo_exec_array.c | 42 | 
1 files changed, 42 insertions, 0 deletions
| diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c index 8871e10cf6..cf7c7056c5 100644 --- a/src/mesa/vbo/vbo_exec_array.c +++ b/src/mesa/vbo/vbo_exec_array.c @@ -31,6 +31,7 @@  #include "main/api_validate.h"  #include "main/api_noop.h"  #include "main/varray.h" +#include "main/bufferobj.h"  #include "glapi/dispatch.h"  #include "vbo_context.h" @@ -291,6 +292,47 @@ vbo_exec_DrawArrays(GLenum mode, GLint start, GLsizei count)     prim[0].indexed = 0;     vbo->draw_prims( ctx, exec->array.inputs, prim, 1, NULL, start, start + count - 1 ); + +#if 0 +   { +      int i; + +      _mesa_printf("vbo_exec_DrawArrays(mode 0x%x, start %d, count %d):\n", +                   mode, start, count); + +      for (i = 0; i < 32; i++) { +         GLuint bufName = exec->array.inputs[i]->BufferObj->Name; +         GLint stride = exec->array.inputs[i]->Stride; +         _mesa_printf("attr %2d: size %d stride %d  enabled %d  " +                      "ptr %p  Bufobj %u\n", +                      i, +                      exec->array.inputs[i]->Size, +                      stride, +                      /*exec->array.inputs[i]->Enabled,*/ +                      exec->array.legacy_array[i]->Enabled, +                      exec->array.inputs[i]->Ptr, +                      bufName); +          +         if (bufName) { +            struct gl_buffer_object *buf = _mesa_lookup_bufferobj(ctx, bufName); +            GLubyte *p = ctx->Driver.MapBuffer(ctx, GL_ARRAY_BUFFER_ARB, +                                            GL_READ_ONLY_ARB, buf); +            int offset = (int) exec->array.inputs[i]->Ptr; +            float *f = (float *) (p + offset); +            int *k = (int *) f; +            int i; +            int n = (count * stride) / 4; +            if (n > 32) +               n = 32; +            _mesa_printf("  Data at offset %d:\n", offset); +            for (i = 0; i < n; i++) { +               _mesa_printf("    float[%d] = 0x%08x %f\n", i, k[i], f[i]); +            } +            ctx->Driver.UnmapBuffer(ctx, GL_ARRAY_BUFFER_ARB, buf); +         } +      } +   } +#endif  } | 
