[Mesa-dev] [PATCH 24/40] target-helpers: move the DRI specifics to the target
Emil Velikov
emil.l.velikov at gmail.com
Sat Oct 17 15:57:58 PDT 2015
Rather than having all targets include the file, with only some defining
the relevant guard macro, just move things where they are used.
XXX: Can we use __alias__ ? Will it work considering the 'base' symbols
are/should be private ?
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
.../auxiliary/target-helpers/inline_drm_helper.h | 126 -----------------
.../auxiliary/target-helpers/inline_sw_helper.h | 10 --
src/gallium/state_trackers/dri/drisw.c | 3 +
src/gallium/targets/dri/Android.mk | 2 +-
src/gallium/targets/dri/Makefile.am | 1 -
src/gallium/targets/dri/SConscript | 1 -
src/gallium/targets/dri/target.c | 151 +++++++++++++++++++++
7 files changed, 155 insertions(+), 139 deletions(-)
diff --git a/src/gallium/auxiliary/target-helpers/inline_drm_helper.h b/src/gallium/auxiliary/target-helpers/inline_drm_helper.h
index 08271a7..0033f87 100644
--- a/src/gallium/auxiliary/target-helpers/inline_drm_helper.h
+++ b/src/gallium/auxiliary/target-helpers/inline_drm_helper.h
@@ -67,14 +67,6 @@ static char* driver_name = NULL;
#if defined(DRI_TARGET)
#if defined(HAVE_LIBDRM)
-const __DRIextension **__driDriverGetExtensions_kms_swrast(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_kms_swrast(void)
-{
- globalDriverAPI = &dri_kms_driver_api;
- return galliumdrm_driver_extensions;
-}
-
struct pipe_screen *
kms_swrast_create_screen(int fd)
{
@@ -93,16 +85,6 @@ kms_swrast_create_screen(int fd)
#endif
#if defined(GALLIUM_I915)
-#if defined(DRI_TARGET)
-
-const __DRIextension **__driDriverGetExtensions_i915(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_i915(void)
-{
- globalDriverAPI = &galliumdrm_driver_api;
- return galliumdrm_driver_extensions;
-}
-#endif
static struct pipe_screen *
pipe_i915_create_screen(int fd)
@@ -120,16 +102,6 @@ pipe_i915_create_screen(int fd)
#endif
#if defined(GALLIUM_ILO)
-#if defined(DRI_TARGET)
-
-const __DRIextension **__driDriverGetExtensions_i965(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_i965(void)
-{
- globalDriverAPI = &galliumdrm_driver_api;
- return galliumdrm_driver_extensions;
-}
-#endif
static struct pipe_screen *
pipe_ilo_create_screen(int fd)
@@ -147,16 +119,6 @@ pipe_ilo_create_screen(int fd)
#endif
#if defined(GALLIUM_NOUVEAU)
-#if defined(DRI_TARGET)
-
-const __DRIextension **__driDriverGetExtensions_nouveau(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_nouveau(void)
-{
- globalDriverAPI = &galliumdrm_driver_api;
- return galliumdrm_driver_extensions;
-}
-#endif
static struct pipe_screen *
pipe_nouveau_create_screen(int fd)
@@ -169,16 +131,6 @@ pipe_nouveau_create_screen(int fd)
#endif
#if defined(GALLIUM_R300)
-#if defined(DRI_TARGET)
-
-const __DRIextension **__driDriverGetExtensions_r300(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_r300(void)
-{
- globalDriverAPI = &galliumdrm_driver_api;
- return galliumdrm_driver_extensions;
-}
-#endif
static struct pipe_screen *
pipe_r300_create_screen(int fd)
@@ -191,16 +143,6 @@ pipe_r300_create_screen(int fd)
#endif
#if defined(GALLIUM_R600)
-#if defined(DRI_TARGET)
-
-const __DRIextension **__driDriverGetExtensions_r600(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_r600(void)
-{
- globalDriverAPI = &galliumdrm_driver_api;
- return galliumdrm_driver_extensions;
-}
-#endif
static struct pipe_screen *
pipe_r600_create_screen(int fd)
@@ -213,16 +155,6 @@ pipe_r600_create_screen(int fd)
#endif
#if defined(GALLIUM_RADEONSI)
-#if defined(DRI_TARGET)
-
-const __DRIextension **__driDriverGetExtensions_radeonsi(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_radeonsi(void)
-{
- globalDriverAPI = &galliumdrm_driver_api;
- return galliumdrm_driver_extensions;
-}
-#endif
static struct pipe_screen *
pipe_radeonsi_create_screen(int fd)
@@ -240,16 +172,6 @@ pipe_radeonsi_create_screen(int fd)
#endif
#if defined(GALLIUM_VMWGFX)
-#if defined(DRI_TARGET)
-
-const __DRIextension **__driDriverGetExtensions_vmwgfx(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_vmwgfx(void)
-{
- globalDriverAPI = &galliumdrm_driver_api;
- return galliumdrm_driver_extensions;
-}
-#endif
static struct pipe_screen *
pipe_vmwgfx_create_screen(int fd)
@@ -267,24 +189,6 @@ pipe_vmwgfx_create_screen(int fd)
#endif
#if defined(GALLIUM_FREEDRENO)
-#if defined(DRI_TARGET)
-
-const __DRIextension **__driDriverGetExtensions_msm(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_msm(void)
-{
- globalDriverAPI = &galliumdrm_driver_api;
- return galliumdrm_driver_extensions;
-}
-
-const __DRIextension **__driDriverGetExtensions_kgsl(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_kgsl(void)
-{
- globalDriverAPI = &galliumdrm_driver_api;
- return galliumdrm_driver_extensions;
-}
-#endif
static struct pipe_screen *
pipe_freedreno_create_screen(int fd)
@@ -297,36 +201,6 @@ pipe_freedreno_create_screen(int fd)
#endif
#if defined(GALLIUM_VC4)
-#if defined(DRI_TARGET)
-
-const __DRIextension **__driDriverGetExtensions_vc4(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_vc4(void)
-{
- globalDriverAPI = &galliumdrm_driver_api;
- return galliumdrm_driver_extensions;
-}
-
-#if defined(USE_VC4_SIMULATOR)
-const __DRIextension **__driDriverGetExtensions_i965(void);
-
-/**
- * When building using the simulator (on x86), we advertise ourselves as the
- * i965 driver so that you can just make a directory with a link from
- * i965_dri.so to the built vc4_dri.so, and point LIBGL_DRIVERS_PATH to that
- * on your i965-using host to run the driver under simulation.
- *
- * This is, of course, incompatible with building with the ilo driver, but you
- * shouldn't be building that anyway.
- */
-PUBLIC const __DRIextension **__driDriverGetExtensions_i965(void)
-{
- globalDriverAPI = &galliumdrm_driver_api;
- return galliumdrm_driver_extensions;
-}
-#endif
-
-#endif
static struct pipe_screen *
pipe_vc4_create_screen(int fd)
diff --git a/src/gallium/auxiliary/target-helpers/inline_sw_helper.h b/src/gallium/auxiliary/target-helpers/inline_sw_helper.h
index 7e8c2bc..48925b0 100644
--- a/src/gallium/auxiliary/target-helpers/inline_sw_helper.h
+++ b/src/gallium/auxiliary/target-helpers/inline_sw_helper.h
@@ -61,15 +61,6 @@ sw_screen_create(struct sw_winsys *winsys)
#if defined(DRI_TARGET)
#include "target-helpers/inline_debug_helper.h"
#include "sw/dri/dri_sw_winsys.h"
-#include "dri_screen.h"
-
-const __DRIextension **__driDriverGetExtensions_swrast(void);
-
-PUBLIC const __DRIextension **__driDriverGetExtensions_swrast(void)
-{
- globalDriverAPI = &galliumsw_driver_api;
- return galliumsw_driver_extensions;
-}
inline struct pipe_screen *
drisw_create_screen(struct drisw_loader_funcs *lf)
@@ -91,7 +82,6 @@ drisw_create_screen(struct drisw_loader_funcs *lf)
return screen;
}
#endif // DRI_TARGET
-
#endif // GALLIUM_SOFTPIPE
diff --git a/src/gallium/state_trackers/dri/drisw.c b/src/gallium/state_trackers/dri/drisw.c
index 4ec6992..5bba591 100644
--- a/src/gallium/state_trackers/dri/drisw.c
+++ b/src/gallium/state_trackers/dri/drisw.c
@@ -34,6 +34,9 @@
* for createImage/destroyImage similar to DRI2 getBuffers.
*/
+/* XXX: Temporary hack, until we get rid of drisw_create_screen() */
+#define DRI_TARGET
+
#include "util/u_format.h"
#include "util/u_memory.h"
#include "util/u_inlines.h"
diff --git a/src/gallium/targets/dri/Android.mk b/src/gallium/targets/dri/Android.mk
index a33d7f8..89b420f 100644
--- a/src/gallium/targets/dri/Android.mk
+++ b/src/gallium/targets/dri/Android.mk
@@ -35,7 +35,7 @@ endif
LOCAL_SRC_FILES := target.c
-LOCAL_CFLAGS := -DDRI_TARGET
+LOCAL_CFLAGS :=
LOCAL_SHARED_LIBRARIES := \
libdl \
diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am
index 67be036..26a0667 100644
--- a/src/gallium/targets/dri/Makefile.am
+++ b/src/gallium/targets/dri/Makefile.am
@@ -10,7 +10,6 @@ AM_CFLAGS = \
AM_CPPFLAGS = \
$(DEFINES) \
- -DDRI_TARGET \
-DGALLIUM_DDEBUG \
-DGALLIUM_NOOP \
-DGALLIUM_RBUG \
diff --git a/src/gallium/targets/dri/SConscript b/src/gallium/targets/dri/SConscript
index 2fb0da0..8d28924 100644
--- a/src/gallium/targets/dri/SConscript
+++ b/src/gallium/targets/dri/SConscript
@@ -30,7 +30,6 @@ env.PkgUseModules('DRM')
env.Append(CPPDEFINES = [
'GALLIUM_VMWGFX',
'GALLIUM_SOFTPIPE',
- 'DRI_TARGET',
])
env.Prepend(LIBS = [
diff --git a/src/gallium/targets/dri/target.c b/src/gallium/targets/dri/target.c
index 32a11ef..62aaff0 100644
--- a/src/gallium/targets/dri/target.c
+++ b/src/gallium/targets/dri/target.c
@@ -1,2 +1,153 @@
#include "target-helpers/inline_drm_helper.h"
#include "target-helpers/inline_sw_helper.h"
+
+#include "dri_screen.h"
+
+#if defined(GALLIUM_SOFTPIPE)
+
+const __DRIextension **__driDriverGetExtensions_swrast(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_swrast(void)
+{
+ globalDriverAPI = &galliumsw_driver_api;
+ return galliumsw_driver_extensions;
+}
+
+#if defined(HAVE_LIBDRM)
+
+const __DRIextension **__driDriverGetExtensions_kms_swrast(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_kms_swrast(void)
+{
+ globalDriverAPI = &dri_kms_driver_api;
+ return galliumdrm_driver_extensions;
+}
+
+#endif
+#endif
+
+#if defined(GALLIUM_I915)
+
+const __DRIextension **__driDriverGetExtensions_i915(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_i915(void)
+{
+ globalDriverAPI = &galliumdrm_driver_api;
+ return galliumdrm_driver_extensions;
+}
+#endif
+
+#if defined(GALLIUM_ILO)
+
+const __DRIextension **__driDriverGetExtensions_i965(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_i965(void)
+{
+ globalDriverAPI = &galliumdrm_driver_api;
+ return galliumdrm_driver_extensions;
+}
+#endif
+
+#if defined(GALLIUM_NOUVEAU)
+
+const __DRIextension **__driDriverGetExtensions_nouveau(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_nouveau(void)
+{
+ globalDriverAPI = &galliumdrm_driver_api;
+ return galliumdrm_driver_extensions;
+}
+#endif
+
+#if defined(GALLIUM_R300)
+
+const __DRIextension **__driDriverGetExtensions_r300(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_r300(void)
+{
+ globalDriverAPI = &galliumdrm_driver_api;
+ return galliumdrm_driver_extensions;
+}
+#endif
+
+#if defined(GALLIUM_R600)
+
+const __DRIextension **__driDriverGetExtensions_r600(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_r600(void)
+{
+ globalDriverAPI = &galliumdrm_driver_api;
+ return galliumdrm_driver_extensions;
+}
+#endif
+
+#if defined(GALLIUM_RADEONSI)
+
+const __DRIextension **__driDriverGetExtensions_radeonsi(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_radeonsi(void)
+{
+ globalDriverAPI = &galliumdrm_driver_api;
+ return galliumdrm_driver_extensions;
+}
+#endif
+
+#if defined(GALLIUM_VMWGFX)
+
+const __DRIextension **__driDriverGetExtensions_vmwgfx(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_vmwgfx(void)
+{
+ globalDriverAPI = &galliumdrm_driver_api;
+ return galliumdrm_driver_extensions;
+}
+#endif
+
+#if defined(GALLIUM_FREEDRENO)
+
+const __DRIextension **__driDriverGetExtensions_msm(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_msm(void)
+{
+ globalDriverAPI = &galliumdrm_driver_api;
+ return galliumdrm_driver_extensions;
+}
+
+const __DRIextension **__driDriverGetExtensions_kgsl(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_kgsl(void)
+{
+ globalDriverAPI = &galliumdrm_driver_api;
+ return galliumdrm_driver_extensions;
+}
+#endif
+
+#if defined(GALLIUM_VC4)
+
+const __DRIextension **__driDriverGetExtensions_vc4(void);
+
+PUBLIC const __DRIextension **__driDriverGetExtensions_vc4(void)
+{
+ globalDriverAPI = &galliumdrm_driver_api;
+ return galliumdrm_driver_extensions;
+}
+
+#if defined(USE_VC4_SIMULATOR)
+const __DRIextension **__driDriverGetExtensions_i965(void);
+
+/**
+ * When building using the simulator (on x86), we advertise ourselves as the
+ * i965 driver so that you can just make a directory with a link from
+ * i965_dri.so to the built vc4_dri.so, and point LIBGL_DRIVERS_PATH to that
+ * on your i965-using host to run the driver under simulation.
+ *
+ * This is, of course, incompatible with building with the ilo driver, but you
+ * shouldn't be building that anyway.
+ */
+PUBLIC const __DRIextension **__driDriverGetExtensions_i965(void)
+{
+ globalDriverAPI = &galliumdrm_driver_api;
+ return galliumdrm_driver_extensions;
+}
+#endif
+#endif
--
2.6.1
More information about the mesa-dev
mailing list