summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/winsys/xlib/SConscript54
-rw-r--r--src/gallium/winsys/xlib/xm_winsys.c13
2 files changed, 42 insertions, 25 deletions
diff --git a/src/gallium/winsys/xlib/SConscript b/src/gallium/winsys/xlib/SConscript
index 14a85ae0f2b..8650f595a72 100644
--- a/src/gallium/winsys/xlib/SConscript
+++ b/src/gallium/winsys/xlib/SConscript
@@ -9,31 +9,35 @@ if env['platform'] == 'linux' \
and 'i965simple' in env['drivers'] \
and not env['dri']:
- env = env.Clone()
+ env = env.Clone()
- env.Append(CPPPATH = [
- '#/src/mesa',
- '#/src/mesa/main',
- ])
+ env.Append(CPPPATH = [
+ '#/src/mesa',
+ '#/src/mesa/main',
+ ])
- sources = [
- 'glxapi.c',
- 'fakeglx.c',
- 'xfonts.c',
- 'xm_api.c',
- 'xm_winsys.c',
- 'xm_winsys_aub.c',
- 'brw_aub.c',
- ]
-
- drivers = [
- softpipe,
- i965simple
- ]
+ sources = [
+ 'glxapi.c',
+ 'fakeglx.c',
+ 'xfonts.c',
+ 'xm_api.c',
+ 'xm_winsys.c',
+ 'xm_winsys_aub.c',
+ 'brw_aub.c',
+ ]
+
+ drivers = [
+ softpipe,
+ i965simple,
+ ]
+
+ if 'trace' in env['drivers']:
+ env.Append(CPPDEFINES = 'GALLIUM_TRACE')
+ drivers += [trace]
- # TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions
- env.SharedLibrary(
- target ='GL',
- source = sources,
- LIBS = glapi + mesa + drivers + auxiliaries + env['LIBS'],
- )
+ # TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions
+ env.SharedLibrary(
+ target ='GL',
+ source = sources,
+ LIBS = glapi + mesa + drivers + auxiliaries + env['LIBS'],
+ )
diff --git a/src/gallium/winsys/xlib/xm_winsys.c b/src/gallium/winsys/xlib/xm_winsys.c
index 9225ee510df..5a01b6167ba 100644
--- a/src/gallium/winsys/xlib/xm_winsys.c
+++ b/src/gallium/winsys/xlib/xm_winsys.c
@@ -54,6 +54,11 @@
#define TILE_SIZE 32 /* avoid compilation errors */
#endif
+#ifdef GALLIUM_TRACE
+#include "trace/tr_screen.h"
+#include "trace/tr_context.h"
+#endif
+
#include "xm_winsys_aub.h"
@@ -674,7 +679,15 @@ xmesa_create_pipe_context(XMesaContext xmesa, uint pixelformat)
{
struct pipe_screen *screen = softpipe_create_screen(pws);
+#ifdef GALLIUM_TRACE
+ screen = trace_screen_create(screen);
+#endif
+
pipe = softpipe_create(screen, pws, NULL);
+
+#ifdef GALLIUM_TRACE
+ pipe = trace_context_create(pipe);
+#endif
}
if (pipe)