[Mesa-dev] [PATCH 1/2] st/mesa: add some simple buffer/draw debug code

Brian Paul brianp at vmware.com
Mon Jan 14 14:31:58 PST 2013


---
 src/mesa/state_tracker/st_cb_bufferobjects.c |    5 +++++
 src/mesa/state_tracker/st_debug.c            |    2 ++
 src/mesa/state_tracker/st_debug.h            |    2 ++
 src/mesa/state_tracker/st_draw.c             |    9 +++++++++
 4 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c
index cf291c1..5fd6a8b 100644
--- a/src/mesa/state_tracker/st_cb_bufferobjects.c
+++ b/src/mesa/state_tracker/st_cb_bufferobjects.c
@@ -38,6 +38,7 @@
 
 #include "st_context.h"
 #include "st_cb_bufferobjects.h"
+#include "st_debug.h"
 
 #include "pipe/p_context.h"
 #include "pipe/p_defines.h"
@@ -230,6 +231,10 @@ st_bufferobj_data(struct gl_context *ctx,
 
    pipe_resource_reference( &st_obj->buffer, NULL );
 
+   if (ST_DEBUG & DEBUG_BUFFER) {
+      debug_printf("Create buffer size %u bind 0x%x\n", size, bind);
+   }
+
    if (size != 0) {
       st_obj->buffer = pipe_buffer_create(pipe->screen, bind,
                                           pipe_usage, size);
diff --git a/src/mesa/state_tracker/st_debug.c b/src/mesa/state_tracker/st_debug.c
index 850fab9..d0abf5f 100644
--- a/src/mesa/state_tracker/st_debug.c
+++ b/src/mesa/state_tracker/st_debug.c
@@ -53,6 +53,8 @@ static const struct debug_named_value st_debug_flags[] = {
    { "fallback", DEBUG_FALLBACK, NULL },
    { "screen",   DEBUG_SCREEN, NULL },
    { "query",    DEBUG_QUERY, NULL },
+   { "draw",     DEBUG_DRAW, NULL },
+   { "buffer",   DEBUG_BUFFER, NULL },
    DEBUG_NAMED_VALUE_END
 };
 
diff --git a/src/mesa/state_tracker/st_debug.h b/src/mesa/state_tracker/st_debug.h
index 4a060d7..1c6e9ee 100644
--- a/src/mesa/state_tracker/st_debug.h
+++ b/src/mesa/state_tracker/st_debug.h
@@ -44,6 +44,8 @@ st_print_current(void);
 #define DEBUG_FALLBACK  0x20
 #define DEBUG_QUERY     0x40
 #define DEBUG_SCREEN    0x80
+#define DEBUG_DRAW      0x100
+#define DEBUG_BUFFER    0x200
 
 #ifdef DEBUG
 extern int ST_DEBUG;
diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c
index 7de2bb9..de539ca 100644
--- a/src/mesa/state_tracker/st_draw.c
+++ b/src/mesa/state_tracker/st_draw.c
@@ -48,6 +48,7 @@
 #include "st_atom.h"
 #include "st_cb_bufferobjects.h"
 #include "st_cb_xformfb.h"
+#include "st_debug.h"
 #include "st_draw.h"
 #include "st_program.h"
 
@@ -254,6 +255,14 @@ st_draw_vbo(struct gl_context *ctx,
          info.max_index = info.start + info.count - 1;
       }
 
+      if (ST_DEBUG & DEBUG_DRAW) {
+         debug_printf("st/draw: mode %s  start %u  count %u  indexed %d\n",
+                      u_prim_name(info.mode),
+                      info.start,
+                      info.count,
+                      info.indexed);
+      }
+
       if (info.count_from_stream_output) {
          cso_draw_vbo(st->cso_context, &info);
       }
-- 
1.7.3.4



More information about the mesa-dev mailing list