Mesa (master): targets/dri: Add __driDriverGetExtensions_( r300|r600|radeonsi) symbols

Emil Velikov evelikov at kemper.freedesktop.org
Thu Jul 10 00:07:30 UTC 2014


Module: Mesa
Branch: master
Commit: 4cd1bb6a91eb7cd46d4f2e104e9a05924ed055a5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4cd1bb6a91eb7cd46d4f2e104e9a05924ed055a5

Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Mon Jun 16 23:44:22 2014 +0100

targets/dri: Add __driDriverGetExtensions_(r300|r600|radeonsi) symbols

The symbol is introduced by the mesa megadrivers, and
adding gallium support for it will allow us to merge
st/dri/drm and st/dri/sw. Resulting in a single dri library
across all of gallium.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Tested-by: Rob Clark <robclark at freedesktop.org>
Tested-by: Thomas Helland <thomashelland90 at gmail.com>
Acked-by: Tom Stellard <thomas.stellard at amd.com>

---

 .../auxiliary/target-helpers/inline_drm_helper.h   |   36 ++++++++++++++++++++
 src/gallium/targets/dri/Makefile.am                |    5 +++
 2 files changed, 41 insertions(+)

diff --git a/src/gallium/auxiliary/target-helpers/inline_drm_helper.h b/src/gallium/auxiliary/target-helpers/inline_drm_helper.h
index 62c4f8e..131798c 100644
--- a/src/gallium/auxiliary/target-helpers/inline_drm_helper.h
+++ b/src/gallium/auxiliary/target-helpers/inline_drm_helper.h
@@ -106,6 +106,18 @@ pipe_nouveau_create_screen(int fd)
 #endif
 
 #if defined(GALLIUM_R300)
+#if defined(DRI_TARGET)
+#include "dri_screen.h"
+
+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)
 {
@@ -117,6 +129,18 @@ pipe_r300_create_screen(int fd)
 #endif
 
 #if defined(GALLIUM_R600)
+#if defined(DRI_TARGET)
+#include "dri_screen.h"
+
+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)
 {
@@ -128,6 +152,18 @@ pipe_r600_create_screen(int fd)
 #endif
 
 #if defined(GALLIUM_RADEONSI)
+#if defined(DRI_TARGET)
+#include "dri_screen.h"
+
+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)
 {
diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am
index f9d3482..4f4c0da 100644
--- a/src/gallium/targets/dri/Makefile.am
+++ b/src/gallium/targets/dri/Makefile.am
@@ -18,6 +18,11 @@ AM_CPPFLAGS += \
 	-DDRI_TARGET
 endif
 
+if NEED_RADEON_DRM_WINSYS
+AM_CPPFLAGS += \
+	-DDRI_TARGET
+endif
+
 dridir = $(DRI_DRIVER_INSTALL_DIR)
 dri_LTLIBRARIES = gallium_dri.la
 




More information about the mesa-commit mailing list