Mesa (gallium-drm-driver-descriptor): gallium: Use debugging helper in all drm targets

Jakob Bornecrantz wallbraker at kemper.freedesktop.org
Wed Jun 23 17:20:42 PDT 2010


Module: Mesa
Branch: gallium-drm-driver-descriptor
Commit: 57d14f2fbbfc50656be76fa0f77e1ed505180204
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=57d14f2fbbfc50656be76fa0f77e1ed505180204

Author: Jakob Bornecrantz <jakob at vmware.com>
Date:   Thu Jun 24 01:53:05 2010 +0200

gallium: Use debugging helper in all drm targets

---

 src/gallium/targets/dri-i915/Makefile             |    3 +++
 src/gallium/targets/dri-i915/SConscript           |    2 ++
 src/gallium/targets/dri-i915/target.c             |   11 ++++++++++-
 src/gallium/targets/dri-i965/Makefile             |    2 +-
 src/gallium/targets/dri-i965/SConscript           |    6 +++++-
 src/gallium/targets/dri-i965/target.c             |    3 +++
 src/gallium/targets/dri-nouveau/Makefile          |    5 +++++
 src/gallium/targets/dri-nouveau/target.c          |    3 +++
 src/gallium/targets/dri-r600/Makefile             |    3 +++
 src/gallium/targets/dri-r600/SConscript           |    2 ++
 src/gallium/targets/dri-r600/target.c             |    3 +++
 src/gallium/targets/dri-radeong/Makefile          |    3 +++
 src/gallium/targets/dri-radeong/SConscript        |    2 ++
 src/gallium/targets/dri-radeong/target.c          |   11 ++++++++++-
 src/gallium/targets/dri-vmwgfx/Makefile           |    3 +++
 src/gallium/targets/dri-vmwgfx/SConscript         |    2 ++
 src/gallium/targets/dri-vmwgfx/target.c           |   11 ++++++++++-
 src/gallium/targets/egl-i915/Makefile             |    3 +++
 src/gallium/targets/egl-i915/target.c             |   11 ++++++++++-
 src/gallium/targets/egl-i965/Makefile             |    2 +-
 src/gallium/targets/egl-i965/target.c             |    3 +++
 src/gallium/targets/egl-nouveau/Makefile          |    5 +++++
 src/gallium/targets/egl-nouveau/target.c          |    3 +++
 src/gallium/targets/egl-radeon/Makefile           |    3 +++
 src/gallium/targets/egl-radeon/target.c           |   11 ++++++++++-
 src/gallium/targets/egl-vmwgfx/Makefile           |    3 +++
 src/gallium/targets/egl-vmwgfx/target.c           |   11 ++++++++++-
 src/gallium/targets/xorg-i915/Makefile            |    2 +-
 src/gallium/targets/xorg-i915/intel_target.c      |   11 ++++++++++-
 src/gallium/targets/xorg-i965/Makefile            |    3 ++-
 src/gallium/targets/xorg-i965/intel_target.c      |    3 +++
 src/gallium/targets/xorg-nouveau/Makefile         |    4 +++-
 src/gallium/targets/xorg-nouveau/nouveau_target.c |    3 +++
 src/gallium/targets/xorg-radeon/Makefile          |    2 +-
 src/gallium/targets/xorg-radeon/radeon_target.c   |   11 ++++++++++-
 src/gallium/targets/xorg-vmwgfx/Makefile          |    3 +++
 src/gallium/targets/xorg-vmwgfx/vmw_target.c      |   11 ++++++++++-
 37 files changed, 167 insertions(+), 16 deletions(-)

diff --git a/src/gallium/targets/dri-i915/Makefile b/src/gallium/targets/dri-i915/Makefile
index 24ef989..26726b2 100644
--- a/src/gallium/targets/dri-i915/Makefile
+++ b/src/gallium/targets/dri-i915/Makefile
@@ -17,6 +17,9 @@ C_SOURCES = \
 	$(COMMON_GALLIUM_SOURCES) \
 	$(DRIVER_SOURCES)
 
+DRIVER_DEFINES = \
+	-DGALLIUM_RBUG -DGALLIUM_TRACE
+
 include ../Makefile.dri
 
 DRI_LIB_DEPS += -ldrm_intel
diff --git a/src/gallium/targets/dri-i915/SConscript b/src/gallium/targets/dri-i915/SConscript
index 5da2a0a..5659bc8 100644
--- a/src/gallium/targets/dri-i915/SConscript
+++ b/src/gallium/targets/dri-i915/SConscript
@@ -8,6 +8,8 @@ env = drienv.Clone()
 
 env.ParseConfig('pkg-config --cflags --libs libdrm_intel')
 
+env.Append(CPPDEFINES = ['GALLIUM_RBUG', 'GALLIUM_TRACE'])
+
 env.Prepend(LIBS = [
     st_dri,
     i915drm,
diff --git a/src/gallium/targets/dri-i915/target.c b/src/gallium/targets/dri-i915/target.c
index a79238f..8c8ef7e 100644
--- a/src/gallium/targets/dri-i915/target.c
+++ b/src/gallium/targets/dri-i915/target.c
@@ -1,5 +1,6 @@
 
 #include "state_tracker/drm_driver.h"
+#include "target-helpers/inline_debug_helper.h"
 #include "i915/drm/i915_drm_public.h"
 #include "i915/i915_public.h"
 
@@ -7,11 +8,19 @@ static struct pipe_screen *
 create_screen(int fd)
 {
    struct i915_winsys *iws;
+   struct pipe_screen *screen;
+
    iws = i915_drm_winsys_create(fd);
    if (!iws)
       return NULL;
 
-   return i915_screen_create(iws);
+   screen = i915_screen_create(iws);
+   if (!screen)
+      return NULL;
+
+   screen = debug_screen_wrap(screen);
+
+   return screen;
 }
 
 DRM_DRIVER_DESCRIPTOR("i915", "i915", create_screen)
diff --git a/src/gallium/targets/dri-i965/Makefile b/src/gallium/targets/dri-i965/Makefile
index 76350ca..3679c07 100644
--- a/src/gallium/targets/dri-i965/Makefile
+++ b/src/gallium/targets/dri-i965/Makefile
@@ -18,7 +18,7 @@ C_SOURCES = \
 	$(DRIVER_SOURCES)
 
 DRIVER_DEFINES = \
-	-DGALLIUM_SOFTPIPE
+	-DGALLIUM_SOFTPIPE -DGALLIUM_RBUG -DGALLIUM_TRACE
 
 include ../Makefile.dri
 
diff --git a/src/gallium/targets/dri-i965/SConscript b/src/gallium/targets/dri-i965/SConscript
index da1a865..7eb3c43 100644
--- a/src/gallium/targets/dri-i965/SConscript
+++ b/src/gallium/targets/dri-i965/SConscript
@@ -8,7 +8,11 @@ env = drienv.Clone()
 
 env.ParseConfig('pkg-config --cflags --libs libdrm_intel')
 
-env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE')
+env.Append(CPPDEFINES = [
+    'GALLIUM_SOFTPIPE',
+    'GALLIUM_RBUG',
+    'GALLIUM_TRACE'
+])
 
 env.Prepend(LIBS = [
     st_dri,
diff --git a/src/gallium/targets/dri-i965/target.c b/src/gallium/targets/dri-i965/target.c
index 36424c6..ce97f82 100644
--- a/src/gallium/targets/dri-i965/target.c
+++ b/src/gallium/targets/dri-i965/target.c
@@ -1,5 +1,6 @@
 
 #include "target-helpers/inline_wrapper_sw_helper.h"
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "i965/drm/i965_drm_public.h"
 #include "i965/brw_public.h"
@@ -21,6 +22,8 @@ create_screen(int fd)
    if (debug_get_bool_option("BRW_SOFTPIPE", FALSE))
       screen = sw_screen_wrap(screen);
 
+   screen = debug_screen_wrap(screen);
+
    return screen;
 }
 
diff --git a/src/gallium/targets/dri-nouveau/Makefile b/src/gallium/targets/dri-nouveau/Makefile
index bf594ce..2f64f31 100644
--- a/src/gallium/targets/dri-nouveau/Makefile
+++ b/src/gallium/targets/dri-nouveau/Makefile
@@ -6,6 +6,8 @@ LIBNAME = nouveau_dri.so
 PIPE_DRIVERS = \
 	$(TOP)/src/gallium/state_trackers/dri/drm/libdridrm.a \
 	$(TOP)/src/gallium/winsys/nouveau/drm/libnouveaudrm.a \
+	$(TOP)/src/gallium/drivers/trace/libtrace.a \
+	$(TOP)/src/gallium/drivers/rbug/librbug.a \
 	$(TOP)/src/gallium/drivers/nvfx/libnvfx.a \
 	$(TOP)/src/gallium/drivers/nv50/libnv50.a \
 	$(TOP)/src/gallium/drivers/nouveau/libnouveau.a
@@ -15,6 +17,9 @@ C_SOURCES = \
 	$(COMMON_GALLIUM_SOURCES) \
 	$(DRIVER_SOURCES)
 
+DRIVER_DEFINES = \
+	-DGALLIUM_RBUG -DGALLIUM_TRACE
+
 include ../Makefile.dri
 
 DRI_LIB_DEPS += $(shell pkg-config libdrm_nouveau --libs)
diff --git a/src/gallium/targets/dri-nouveau/target.c b/src/gallium/targets/dri-nouveau/target.c
index ca3ec53..e725a4d 100644
--- a/src/gallium/targets/dri-nouveau/target.c
+++ b/src/gallium/targets/dri-nouveau/target.c
@@ -1,4 +1,5 @@
 
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "nouveau/drm/nouveau_drm_public.h"
 
@@ -11,6 +12,8 @@ create_screen(int fd)
    if (!screen)
       return NULL;
 
+   screen = debug_screen_wrap(screen);
+
    return screen;
 }
 
diff --git a/src/gallium/targets/dri-r600/Makefile b/src/gallium/targets/dri-r600/Makefile
index 136fbb2..932303d 100644
--- a/src/gallium/targets/dri-r600/Makefile
+++ b/src/gallium/targets/dri-r600/Makefile
@@ -16,6 +16,9 @@ C_SOURCES = \
 	$(COMMON_GALLIUM_SOURCES) \
 	$(DRIVER_SOURCES)
 
+DRIVER_DEFINES = \
+	-DGALLIUM_RBUG -DGALLIUM_TRACE
+
 include ../Makefile.dri
 
 DRI_LIB_DEPS += -ldrm_radeon
diff --git a/src/gallium/targets/dri-r600/SConscript b/src/gallium/targets/dri-r600/SConscript
index d242516..97c5df0 100644
--- a/src/gallium/targets/dri-r600/SConscript
+++ b/src/gallium/targets/dri-r600/SConscript
@@ -8,6 +8,8 @@ env = drienv.Clone()
 
 env.ParseConfig('pkg-config --cflags --libs libdrm_radeon')
 
+env.Append(CPPDEFINES = ['GALLIUM_RBUG', 'GALLIUM_TRACE'])
+
 env.Prepend(LIBS = [
     st_dri,
     r600drm,
diff --git a/src/gallium/targets/dri-r600/target.c b/src/gallium/targets/dri-r600/target.c
index 40ad8a0..a01f4ed 100644
--- a/src/gallium/targets/dri-r600/target.c
+++ b/src/gallium/targets/dri-r600/target.c
@@ -1,5 +1,6 @@
 
 #include "state_tracker/drm_driver.h"
+#include "target-helpers/inline_debug_helper.h"
 #include "r600/drm/r600_drm_public.h"
 #include "r600/r600_public.h"
 
@@ -17,6 +18,8 @@ create_screen(int fd)
    if (!screen)
       return NULL;
 
+   screen = debug_screen_wrap(screen);
+
    return screen;
 }
 
diff --git a/src/gallium/targets/dri-radeong/Makefile b/src/gallium/targets/dri-radeong/Makefile
index d67d7d7..2864754 100644
--- a/src/gallium/targets/dri-radeong/Makefile
+++ b/src/gallium/targets/dri-radeong/Makefile
@@ -16,6 +16,9 @@ C_SOURCES = \
 	$(COMMON_GALLIUM_SOURCES) \
 	$(DRIVER_SOURCES)
 
+DRIVER_DEFINES = \
+	-DGALLIUM_RBUG -DGALLIUM_TRACE
+
 include ../Makefile.dri
 
 DRI_LIB_DEPS += -ldrm_radeon
diff --git a/src/gallium/targets/dri-radeong/SConscript b/src/gallium/targets/dri-radeong/SConscript
index c1d4eee..ffac73a 100644
--- a/src/gallium/targets/dri-radeong/SConscript
+++ b/src/gallium/targets/dri-radeong/SConscript
@@ -8,6 +8,8 @@ env = drienv.Clone()
 
 env.ParseConfig('pkg-config --cflags --libs libdrm_radeon')
 
+env.Append(CPPDEFINES = ['GALLIUM_RBUG', 'GALLIUM_TRACE'])
+
 env.Prepend(LIBS = [
     st_dri,
     radeonwinsys,
diff --git a/src/gallium/targets/dri-radeong/target.c b/src/gallium/targets/dri-radeong/target.c
index 2c1beb6..5a0a8dc 100644
--- a/src/gallium/targets/dri-radeong/target.c
+++ b/src/gallium/targets/dri-radeong/target.c
@@ -1,4 +1,5 @@
 
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "radeon/drm/radeon_drm_public.h"
 #include "r300/r300_public.h"
@@ -7,11 +8,19 @@ static struct pipe_screen *
 create_screen(int fd)
 {
    struct r300_winsys_screen *sws;
+   struct pipe_screen *screen;
+
    sws = r300_drm_winsys_screen_create(fd);
    if (!sws)
       return NULL;
 
-   return r300_screen_create(sws);
+   screen = r300_screen_create(sws);
+   if (!screen)
+      return NULL;
+
+   screen = debug_screen_wrap(screen);
+
+   return screen;
 }
 
 DRM_DRIVER_DESCRIPTOR("radeon", "radeon", create_screen)
diff --git a/src/gallium/targets/dri-vmwgfx/Makefile b/src/gallium/targets/dri-vmwgfx/Makefile
index 8e3cd6f..97c703b 100644
--- a/src/gallium/targets/dri-vmwgfx/Makefile
+++ b/src/gallium/targets/dri-vmwgfx/Makefile
@@ -14,6 +14,9 @@ C_SOURCES = \
 	target.c \
 	$(COMMON_GALLIUM_SOURCES)
 
+DRIVER_DEFINES = \
+	-DGALLIUM_RBUG -DGALLIUM_TRACE
+
 include ../Makefile.dri
 
 symlinks:
diff --git a/src/gallium/targets/dri-vmwgfx/SConscript b/src/gallium/targets/dri-vmwgfx/SConscript
index 3d0c549..7afabc7 100644
--- a/src/gallium/targets/dri-vmwgfx/SConscript
+++ b/src/gallium/targets/dri-vmwgfx/SConscript
@@ -6,6 +6,8 @@ if not 'svga' in env['drivers']:
 
 env = drienv.Clone()
 
+env.Append(CPPDEFINES = ['GALLIUM_RBUG', 'GALLIUM_TRACE'])
+
 env.Prepend(LIBS = [
     st_dri,
     svgadrm,
diff --git a/src/gallium/targets/dri-vmwgfx/target.c b/src/gallium/targets/dri-vmwgfx/target.c
index 5f69653..15089d6 100644
--- a/src/gallium/targets/dri-vmwgfx/target.c
+++ b/src/gallium/targets/dri-vmwgfx/target.c
@@ -1,4 +1,5 @@
 
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "svga/drm/svga_drm_public.h"
 #include "svga/svga_public.h"
@@ -7,11 +8,19 @@ static struct pipe_screen *
 create_screen(int fd)
 {
    struct svga_winsys_screen *sws;
+   struct pipe_screen *screen;
+
    sws = svga_drm_winsys_screen_create(fd);
    if (!sws)
       return NULL;
 
-   return svga_screen_create(sws);
+   screen = svga_screen_create(sws);
+   if (!screen)
+      return NULL;
+
+   screen = debug_screen_wrap(screen);
+
+   return screen;
 }
 
 DRM_DRIVER_DESCRIPTOR("vmwgfx", "vmwgfx", create_screen)
diff --git a/src/gallium/targets/egl-i915/Makefile b/src/gallium/targets/egl-i915/Makefile
index a118f16..c3ffe78 100644
--- a/src/gallium/targets/egl-i915/Makefile
+++ b/src/gallium/targets/egl-i915/Makefile
@@ -5,6 +5,9 @@ EGL_DRIVER_NAME = i915
 EGL_DRIVER_SOURCES = target.c
 EGL_DRIVER_LIBS = -ldrm_intel
 
+EGL_DRIVER_DEFINES = \
+	-DGALLIUM_RBUG -DGALLIUM_TRACE
+
 EGL_DRIVER_PIPES = \
 	$(TOP)/src/gallium/winsys/i915/drm/libi915drm.a \
 	$(TOP)/src/gallium/drivers/trace/libtrace.a \
diff --git a/src/gallium/targets/egl-i915/target.c b/src/gallium/targets/egl-i915/target.c
index 2887716..070e2c0 100644
--- a/src/gallium/targets/egl-i915/target.c
+++ b/src/gallium/targets/egl-i915/target.c
@@ -1,5 +1,6 @@
 
 #include "state_tracker/drm_driver.h"
+#include "target-helpers/inline_debug_helper.h"
 #include "i915/drm/i915_drm_public.h"
 #include "i915/i915_public.h"
 
@@ -7,11 +8,19 @@ static struct pipe_screen *
 create_screen(int fd)
 {
    struct i915_winsys *iws;
+   struct pipe_screen *screen;
+
    iws = i915_drm_winsys_create(fd);
    if (!iws)
       return NULL;
 
-   return i915_screen_create(iws);
+   screen = i915_screen_create(iws);
+   if (!screen)
+      return NULL;
+
+   screen = debug_screen_wrap(screen);
+
+   return screen;
 }
 
 DRM_DRIVER_DESCRIPTOR("i915", "i915", create_screen)
diff --git a/src/gallium/targets/egl-i965/Makefile b/src/gallium/targets/egl-i965/Makefile
index fe30911..44e4354 100644
--- a/src/gallium/targets/egl-i965/Makefile
+++ b/src/gallium/targets/egl-i965/Makefile
@@ -6,7 +6,7 @@ EGL_DRIVER_SOURCES = target.c
 EGL_DRIVER_LIBS = -ldrm_intel
 
 EGL_DRIVER_DEFINES = \
-	-DGALLIUM_SOFTPIPE
+	-DGALLIUM_SOFTPIPE -DGALLIUM_RBUG -DGALLIUM_TRACE
 
 EGL_DRIVER_PIPES = \
 	$(TOP)/src/gallium/winsys/i965/drm/libi965drm.a \
diff --git a/src/gallium/targets/egl-i965/target.c b/src/gallium/targets/egl-i965/target.c
index ba1eead..1195b51 100644
--- a/src/gallium/targets/egl-i965/target.c
+++ b/src/gallium/targets/egl-i965/target.c
@@ -1,5 +1,6 @@
 
 #include "target-helpers/inline_wrapper_sw_helper.h"
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "i965/drm/i965_drm_public.h"
 #include "i965/brw_public.h"
@@ -21,6 +22,8 @@ create_screen(int fd)
    if (debug_get_bool_option("BRW_SOFTPIPE", FALSE))
       screen = sw_screen_wrap(screen);
 
+   screen = debug_screen_wrap(screen);
+
    return screen;
 }
 
diff --git a/src/gallium/targets/egl-nouveau/Makefile b/src/gallium/targets/egl-nouveau/Makefile
index 3f0a373..0e16f11 100644
--- a/src/gallium/targets/egl-nouveau/Makefile
+++ b/src/gallium/targets/egl-nouveau/Makefile
@@ -5,8 +5,13 @@ EGL_DRIVER_NAME = nouveau
 EGL_DRIVER_SOURCES = target.c
 EGL_DRIVER_LIBS = -ldrm_nouveau
 
+EGL_DRIVER_DEFINES = \
+	-DGALLIUM_RBUG -DGALLIUM_TRACE
+
 EGL_DRIVER_PIPES = \
 	$(TOP)/src/gallium/winsys/nouveau/drm/libnouveaudrm.a \
+	$(TOP)/src/gallium/drivers/trace/libtrace.a \
+	$(TOP)/src/gallium/drivers/rbug/librbug.a \
 	$(TOP)/src/gallium/drivers/nvfx/libnvfx.a \
 	$(TOP)/src/gallium/drivers/nv50/libnv50.a \
 	$(TOP)/src/gallium/drivers/nouveau/libnouveau.a
diff --git a/src/gallium/targets/egl-nouveau/target.c b/src/gallium/targets/egl-nouveau/target.c
index 7d0b141..cf569ea 100644
--- a/src/gallium/targets/egl-nouveau/target.c
+++ b/src/gallium/targets/egl-nouveau/target.c
@@ -1,4 +1,5 @@
 
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "nouveau/drm/nouveau_drm_public.h"
 
@@ -11,6 +12,8 @@ create_screen(int fd)
    if (!screen)
       return NULL;
 
+   screen = debug_screen_wrap(screen);
+
    return screen;
 }
 
diff --git a/src/gallium/targets/egl-radeon/Makefile b/src/gallium/targets/egl-radeon/Makefile
index c988b48..2adc027 100644
--- a/src/gallium/targets/egl-radeon/Makefile
+++ b/src/gallium/targets/egl-radeon/Makefile
@@ -5,6 +5,9 @@ EGL_DRIVER_NAME = radeon
 EGL_DRIVER_SOURCES = target.c
 EGL_DRIVER_LIBS = -ldrm_radeon
 
+EGL_DRIVER_DEFINES = \
+	-DGALLIUM_RBUG -DGALLIUM_TRACE
+
 EGL_DRIVER_PIPES = \
 	$(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \
 	$(TOP)/src/gallium/drivers/trace/libtrace.a \
diff --git a/src/gallium/targets/egl-radeon/target.c b/src/gallium/targets/egl-radeon/target.c
index 5117eb8..ce07327 100644
--- a/src/gallium/targets/egl-radeon/target.c
+++ b/src/gallium/targets/egl-radeon/target.c
@@ -1,4 +1,5 @@
 
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "radeon/drm/radeon_drm_public.h"
 #include "r300/r300_public.h"
@@ -7,11 +8,19 @@ static struct pipe_screen *
 create_screen(int fd)
 {
    struct r300_winsys_screen *sws;
+   struct pipe_screen *screen;
+
    sws = r300_drm_winsys_screen_create(fd);
    if (!sws)
       return NULL;
 
-   return r300_screen_create(sws);
+   screen = r300_screen_create(sws);
+   if (!screen)
+      return NULL;
+
+   screen = debug_screen_wrap(screen);
+
+   return screen;
 }
 
 DRM_DRIVER_DESCRIPTOR("radeon", "radeon", create_screen)
diff --git a/src/gallium/targets/egl-vmwgfx/Makefile b/src/gallium/targets/egl-vmwgfx/Makefile
index a25bf88..92ec4cb 100644
--- a/src/gallium/targets/egl-vmwgfx/Makefile
+++ b/src/gallium/targets/egl-vmwgfx/Makefile
@@ -5,6 +5,9 @@ EGL_DRIVER_NAME = vmwgfx
 EGL_DRIVER_SOURCES = target.c
 EGL_DRIVER_LIBS =
 
+EGL_DRIVER_DEFINES = \
+	-DGALLIUM_RBUG -DGALLIUM_TRACE
+
 EGL_DRIVER_PIPES = \
 	$(TOP)/src/gallium/winsys/svga/drm/libsvgadrm.a \
 	$(TOP)/src/gallium/drivers/trace/libtrace.a \
diff --git a/src/gallium/targets/egl-vmwgfx/target.c b/src/gallium/targets/egl-vmwgfx/target.c
index 7dd0bb0..4e9f51c 100644
--- a/src/gallium/targets/egl-vmwgfx/target.c
+++ b/src/gallium/targets/egl-vmwgfx/target.c
@@ -1,4 +1,5 @@
 
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "svga/drm/svga_drm_public.h"
 #include "svga/svga_public.h"
@@ -7,11 +8,19 @@ static struct pipe_screen *
 create_screen(int fd)
 {
    struct svga_winsys_screen *sws;
+   struct pipe_screen *screen;
+
    sws = svga_drm_winsys_screen_create(fd);
    if (!sws)
       return NULL;
 
-   return svga_screen_create(sws);
+   screen = svga_screen_create(sws);
+   if (!screen)
+      return NULL;
+
+   screen = debug_screen_wrap(screen);
+
+   return screen;
 }
 
 DRM_DRIVER_DESCRIPTOR("vmwgfx", "vmwgfx", create_screen)
diff --git a/src/gallium/targets/xorg-i915/Makefile b/src/gallium/targets/xorg-i915/Makefile
index 4f9202b..3ab7285 100644
--- a/src/gallium/targets/xorg-i915/Makefile
+++ b/src/gallium/targets/xorg-i915/Makefile
@@ -8,7 +8,7 @@ C_SOURCES = \
 	intel_xorg.c
 
 DRIVER_DEFINES = \
-	-DHAVE_CONFIG_H
+	-DHAVE_CONFIG_H -DGALLIUM_RBUG -DGALLIUM_TRACE
 
 DRIVER_LINKS = \
 	$(TOP)/src/gallium/state_trackers/xorg/libxorgtracker.a \
diff --git a/src/gallium/targets/xorg-i915/intel_target.c b/src/gallium/targets/xorg-i915/intel_target.c
index a79238f..8c8ef7e 100644
--- a/src/gallium/targets/xorg-i915/intel_target.c
+++ b/src/gallium/targets/xorg-i915/intel_target.c
@@ -1,5 +1,6 @@
 
 #include "state_tracker/drm_driver.h"
+#include "target-helpers/inline_debug_helper.h"
 #include "i915/drm/i915_drm_public.h"
 #include "i915/i915_public.h"
 
@@ -7,11 +8,19 @@ static struct pipe_screen *
 create_screen(int fd)
 {
    struct i915_winsys *iws;
+   struct pipe_screen *screen;
+
    iws = i915_drm_winsys_create(fd);
    if (!iws)
       return NULL;
 
-   return i915_screen_create(iws);
+   screen = i915_screen_create(iws);
+   if (!screen)
+      return NULL;
+
+   screen = debug_screen_wrap(screen);
+
+   return screen;
 }
 
 DRM_DRIVER_DESCRIPTOR("i915", "i915", create_screen)
diff --git a/src/gallium/targets/xorg-i965/Makefile b/src/gallium/targets/xorg-i965/Makefile
index eede9f2..9bb8252 100644
--- a/src/gallium/targets/xorg-i965/Makefile
+++ b/src/gallium/targets/xorg-i965/Makefile
@@ -8,7 +8,8 @@ C_SOURCES = \
 	intel_xorg.c
 
 DRIVER_DEFINES = \
-	-DHAVE_CONFIG_H -DGALLIUM_SOFTPIPE
+	-DHAVE_CONFIG_H -DGALLIUM_SOFTPIPE \
+	-DGALLIUM_RBUG -DGALLIUM_TRACE
 
 DRIVER_LINKS = \
 	$(TOP)/src/gallium/state_trackers/xorg/libxorgtracker.a \
diff --git a/src/gallium/targets/xorg-i965/intel_target.c b/src/gallium/targets/xorg-i965/intel_target.c
index 36424c6..ce97f82 100644
--- a/src/gallium/targets/xorg-i965/intel_target.c
+++ b/src/gallium/targets/xorg-i965/intel_target.c
@@ -1,5 +1,6 @@
 
 #include "target-helpers/inline_wrapper_sw_helper.h"
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "i965/drm/i965_drm_public.h"
 #include "i965/brw_public.h"
@@ -21,6 +22,8 @@ create_screen(int fd)
    if (debug_get_bool_option("BRW_SOFTPIPE", FALSE))
       screen = sw_screen_wrap(screen);
 
+   screen = debug_screen_wrap(screen);
+
    return screen;
 }
 
diff --git a/src/gallium/targets/xorg-nouveau/Makefile b/src/gallium/targets/xorg-nouveau/Makefile
index 066ec6a..93f53e6 100644
--- a/src/gallium/targets/xorg-nouveau/Makefile
+++ b/src/gallium/targets/xorg-nouveau/Makefile
@@ -8,11 +8,13 @@ C_SOURCES = \
 	nouveau_xorg.c
 
 DRIVER_DEFINES = \
-	-DHAVE_CONFIG_H
+	-DHAVE_CONFIG_H -DGALLIUM_RBUG -DGALLIUM_TRACE
 
 DRIVER_LINKS = \
 	$(TOP)/src/gallium/state_trackers/xorg/libxorgtracker.a \
 	$(TOP)/src/gallium/winsys/nouveau/drm/libnouveaudrm.a \
+	$(TOP)/src/gallium/drivers/trace/libtrace.a \
+	$(TOP)/src/gallium/drivers/rbug/librbug.a \
 	$(TOP)/src/gallium/drivers/nvfx/libnvfx.a \
 	$(TOP)/src/gallium/drivers/nv50/libnv50.a \
 	$(TOP)/src/gallium/drivers/nouveau/libnouveau.a \
diff --git a/src/gallium/targets/xorg-nouveau/nouveau_target.c b/src/gallium/targets/xorg-nouveau/nouveau_target.c
index ca3ec53..e725a4d 100644
--- a/src/gallium/targets/xorg-nouveau/nouveau_target.c
+++ b/src/gallium/targets/xorg-nouveau/nouveau_target.c
@@ -1,4 +1,5 @@
 
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "nouveau/drm/nouveau_drm_public.h"
 
@@ -11,6 +12,8 @@ create_screen(int fd)
    if (!screen)
       return NULL;
 
+   screen = debug_screen_wrap(screen);
+
    return screen;
 }
 
diff --git a/src/gallium/targets/xorg-radeon/Makefile b/src/gallium/targets/xorg-radeon/Makefile
index c438ec4..ba7caea 100644
--- a/src/gallium/targets/xorg-radeon/Makefile
+++ b/src/gallium/targets/xorg-radeon/Makefile
@@ -8,7 +8,7 @@ C_SOURCES = \
 	radeon_xorg.c
 
 DRIVER_DEFINES = \
-	-DHAVE_CONFIG_H
+	-DHAVE_CONFIG_H -DGALLIUM_RBUG -DGALLIUM_TRACE
 
 DRIVER_LINKS = \
         $(TOP)/src/gallium/state_trackers/xorg/libxorgtracker.a \
diff --git a/src/gallium/targets/xorg-radeon/radeon_target.c b/src/gallium/targets/xorg-radeon/radeon_target.c
index 2c1beb6..5a0a8dc 100644
--- a/src/gallium/targets/xorg-radeon/radeon_target.c
+++ b/src/gallium/targets/xorg-radeon/radeon_target.c
@@ -1,4 +1,5 @@
 
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "radeon/drm/radeon_drm_public.h"
 #include "r300/r300_public.h"
@@ -7,11 +8,19 @@ static struct pipe_screen *
 create_screen(int fd)
 {
    struct r300_winsys_screen *sws;
+   struct pipe_screen *screen;
+
    sws = r300_drm_winsys_screen_create(fd);
    if (!sws)
       return NULL;
 
-   return r300_screen_create(sws);
+   screen = r300_screen_create(sws);
+   if (!screen)
+      return NULL;
+
+   screen = debug_screen_wrap(screen);
+
+   return screen;
 }
 
 DRM_DRIVER_DESCRIPTOR("radeon", "radeon", create_screen)
diff --git a/src/gallium/targets/xorg-vmwgfx/Makefile b/src/gallium/targets/xorg-vmwgfx/Makefile
index 0cc9be2..73a2cea 100644
--- a/src/gallium/targets/xorg-vmwgfx/Makefile
+++ b/src/gallium/targets/xorg-vmwgfx/Makefile
@@ -16,8 +16,11 @@ DRIVER_INCLUDES = \
 
 DRIVER_DEFINES = \
 	-std=gnu99 \
+	-DGALLIUM_RBUG \
+	-DGALLIUM_TRACE \
 	-DHAVE_CONFIG_H
 
+
 DRIVER_LINKS = \
 	$(TOP)/src/gallium/state_trackers/xorg/libxorgtracker.a \
 	$(TOP)/src/gallium/winsys/svga/drm/libsvgadrm.a \
diff --git a/src/gallium/targets/xorg-vmwgfx/vmw_target.c b/src/gallium/targets/xorg-vmwgfx/vmw_target.c
index 5f69653..15089d6 100644
--- a/src/gallium/targets/xorg-vmwgfx/vmw_target.c
+++ b/src/gallium/targets/xorg-vmwgfx/vmw_target.c
@@ -1,4 +1,5 @@
 
+#include "target-helpers/inline_debug_helper.h"
 #include "state_tracker/drm_driver.h"
 #include "svga/drm/svga_drm_public.h"
 #include "svga/svga_public.h"
@@ -7,11 +8,19 @@ static struct pipe_screen *
 create_screen(int fd)
 {
    struct svga_winsys_screen *sws;
+   struct pipe_screen *screen;
+
    sws = svga_drm_winsys_screen_create(fd);
    if (!sws)
       return NULL;
 
-   return svga_screen_create(sws);
+   screen = svga_screen_create(sws);
+   if (!screen)
+      return NULL;
+
+   screen = debug_screen_wrap(screen);
+
+   return screen;
 }
 
 DRM_DRIVER_DESCRIPTOR("vmwgfx", "vmwgfx", create_screen)



More information about the mesa-commit mailing list