[Mesa-dev] [PATCH 06/10] winsys/xlib: move xlib_create_sw_winsys within the winsys

Emil Velikov emil.l.velikov at gmail.com
Thu Feb 13 08:18:16 PST 2014


v2: Rebase on top of vl_winsys_xsp.c removal
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Jakob Bornecrantz <jakob at vmware.com> (v1)
---
 src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c |  2 +-
 src/gallium/include/state_tracker/xlib_sw_winsys.h | 29 ----------------------
 src/gallium/include/state_tracker/xlibsw_api.h     | 19 ++++++++++++++
 src/gallium/state_trackers/egl/Makefile.am         |  1 +
 src/gallium/state_trackers/egl/SConscript          |  1 +
 src/gallium/state_trackers/egl/x11/native_ximage.c |  3 ++-
 src/gallium/state_trackers/glx/xlib/xm_api.h       |  2 +-
 src/gallium/targets/graw-xlib/SConscript           |  1 +
 src/gallium/targets/graw-xlib/graw_xlib.c          |  3 ++-
 src/gallium/winsys/sw/xlib/xlib_sw_winsys.c        |  3 ++-
 src/gallium/winsys/sw/xlib/xlib_sw_winsys.h        | 10 ++++++++
 11 files changed, 40 insertions(+), 34 deletions(-)
 delete mode 100644 src/gallium/include/state_tracker/xlib_sw_winsys.h
 create mode 100644 src/gallium/include/state_tracker/xlibsw_api.h
 create mode 100644 src/gallium/winsys/sw/xlib/xlib_sw_winsys.h

diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c
index 7f3f93b..90d2975 100644
--- a/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c
+++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c
@@ -30,8 +30,8 @@
 #include "util/u_memory.h"
 #include "util/u_dl.h"
 #include "sw/null/null_sw_winsys.h"
+#include "sw/xlib/xlib_sw_winsys.h"
 #include "target-helpers/inline_sw_helper.h"
-#include "state_tracker/xlib_sw_winsys.h"
 
 struct pipe_loader_sw_device {
    struct pipe_loader_device base;
diff --git a/src/gallium/include/state_tracker/xlib_sw_winsys.h b/src/gallium/include/state_tracker/xlib_sw_winsys.h
deleted file mode 100644
index 4e7ccc1..0000000
--- a/src/gallium/include/state_tracker/xlib_sw_winsys.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef XLIB_SW_WINSYS_H
-#define XLIB_SW_WINSYS_H
-
-#include "state_tracker/sw_winsys.h"
-#include <X11/Xlib.h>
-
-
-struct pipe_screen;
-struct pipe_resource;
-
-/* This is what the xlib software winsys expects to find in the
- * "private" field of flush_frontbuffers().
- *
- * Xlib-based state trackers somehow need to know this.
- */
-struct xlib_drawable {
-   Visual *visual;
-   int depth;
-   Drawable drawable;
-};
-
-
-/* This is the public interface to the ws/xlib module.  Why isn't it
- * being defined in that directory?
- */
-struct sw_winsys *xlib_create_sw_winsys( Display *display );
-
-
-#endif
diff --git a/src/gallium/include/state_tracker/xlibsw_api.h b/src/gallium/include/state_tracker/xlibsw_api.h
new file mode 100644
index 0000000..9301279
--- /dev/null
+++ b/src/gallium/include/state_tracker/xlibsw_api.h
@@ -0,0 +1,19 @@
+#ifndef XLIB_SW_WINSYS_H
+#define XLIB_SW_WINSYS_H
+
+#include "state_tracker/sw_winsys.h"
+#include <X11/Xlib.h>
+
+
+/* This is what the xlib software winsys expects to find in the
+ * "private" field of flush_frontbuffers().
+ *
+ * Xlib-based state trackers somehow need to know this.
+ */
+struct xlib_drawable {
+   Visual *visual;
+   int depth;
+   Drawable drawable;
+};
+
+#endif
diff --git a/src/gallium/state_trackers/egl/Makefile.am b/src/gallium/state_trackers/egl/Makefile.am
index 9c00f06..26266ed 100644
--- a/src/gallium/state_trackers/egl/Makefile.am
+++ b/src/gallium/state_trackers/egl/Makefile.am
@@ -42,6 +42,7 @@ AM_CFLAGS += \
 	$(LIBDRM_CFLAGS) \
 	$(DRI2PROTO_CFLAGS)
 AM_CPPFLAGS += \
+	-I$(top_srcdir)/src/gallium/winsys \
 	-I$(top_srcdir)/src/gallium/drivers \
 	-I$(top_srcdir)/src/glx \
 	-I$(top_srcdir)/src/mapi \
diff --git a/src/gallium/state_trackers/egl/SConscript b/src/gallium/state_trackers/egl/SConscript
index 066a7fd..3ddf0bc 100644
--- a/src/gallium/state_trackers/egl/SConscript
+++ b/src/gallium/state_trackers/egl/SConscript
@@ -7,6 +7,7 @@ env = env.Clone()
 
 env.Append(CPPPATH = [
     '#/src/egl/main',
+    '#/src/gallium/winsys',
     '#/src/gallium/winsys/sw',
     '.',
 ])
diff --git a/src/gallium/state_trackers/egl/x11/native_ximage.c b/src/gallium/state_trackers/egl/x11/native_ximage.c
index 019e535..d3d1924 100644
--- a/src/gallium/state_trackers/egl/x11/native_ximage.c
+++ b/src/gallium/state_trackers/egl/x11/native_ximage.c
@@ -29,7 +29,8 @@
 #include "util/u_format.h"
 #include "pipe/p_compiler.h"
 #include "util/u_inlines.h"
-#include "state_tracker/xlib_sw_winsys.h"
+#include "state_tracker/xlibsw_api.h"
+#include "sw/xlib/xlib_sw_winsys.h"
 #include "util/u_debug.h"
 #include "egllog.h"
 
diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.h b/src/gallium/state_trackers/glx/xlib/xm_api.h
index fa97ea4..6d0bc3f 100644
--- a/src/gallium/state_trackers/glx/xlib/xm_api.h
+++ b/src/gallium/state_trackers/glx/xlib/xm_api.h
@@ -61,7 +61,7 @@ and create a window, you must do the following to use the X/Mesa interface:
 #include "state_tracker/st_api.h"
 #include "os/os_thread.h"
 
-#include "state_tracker/xlib_sw_winsys.h"
+#include "state_tracker/xlibsw_api.h"
 
 # include <X11/Xlib.h>
 # include <X11/Xlibint.h>
diff --git a/src/gallium/targets/graw-xlib/SConscript b/src/gallium/targets/graw-xlib/SConscript
index 9cbe7bb..76e4d4f 100644
--- a/src/gallium/targets/graw-xlib/SConscript
+++ b/src/gallium/targets/graw-xlib/SConscript
@@ -16,6 +16,7 @@ env.Append(LIBPATH = env['X11_LIBPATH'])
 env.Append(CPPPATH = [
     '#src/gallium/drivers',
     '#src/gallium/include/state_tracker',
+    '#src/gallium/winsys',
 ])
 
 env.Append(CPPDEFINES = ['GALLIUM_RBUG', 'GALLIUM_TRACE', 'GALLIUM_GALAHAD'])
diff --git a/src/gallium/targets/graw-xlib/graw_xlib.c b/src/gallium/targets/graw-xlib/graw_xlib.c
index 148837c..db2637b 100644
--- a/src/gallium/targets/graw-xlib/graw_xlib.c
+++ b/src/gallium/targets/graw-xlib/graw_xlib.c
@@ -5,8 +5,9 @@
 #include "util/u_memory.h"
 #include "target-helpers/inline_sw_helper.h"
 #include "target-helpers/inline_debug_helper.h"
-#include "state_tracker/xlib_sw_winsys.h"
+#include "state_tracker/xlibsw_api.h"
 #include "state_tracker/graw.h"
+#include "sw/xlib/xlib_sw_winsys.h"
 
 #include <X11/Xlib.h>
 #include <X11/Xlibint.h>
diff --git a/src/gallium/winsys/sw/xlib/xlib_sw_winsys.c b/src/gallium/winsys/sw/xlib/xlib_sw_winsys.c
index bf246bc..8831071 100644
--- a/src/gallium/winsys/sw/xlib/xlib_sw_winsys.c
+++ b/src/gallium/winsys/sw/xlib/xlib_sw_winsys.c
@@ -39,7 +39,8 @@
 #include "util/u_math.h"
 #include "util/u_memory.h"
 
-#include "state_tracker/xlib_sw_winsys.h"
+#include "state_tracker/xlibsw_api.h"
+#include "xlib_sw_winsys.h"
 
 #include <X11/Xlib.h>
 #include <X11/Xlibint.h>
diff --git a/src/gallium/winsys/sw/xlib/xlib_sw_winsys.h b/src/gallium/winsys/sw/xlib/xlib_sw_winsys.h
new file mode 100644
index 0000000..0a1dad1
--- /dev/null
+++ b/src/gallium/winsys/sw/xlib/xlib_sw_winsys.h
@@ -0,0 +1,10 @@
+#ifndef XLIB_SW_WINSYS
+#define XLIB_SW_WINSYS
+
+#include <X11/Xlib.h>
+
+struct sw_winsys;
+
+struct sw_winsys *xlib_create_sw_winsys(Display *display);
+
+#endif
-- 
1.8.5.4



More information about the mesa-dev mailing list