Mesa (master): st/dri/drm: remove __driDriverExtensions and driDriverAPI

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


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

Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Fri Jun 27 19:30:38 2014 +0100

st/dri/drm: remove __driDriverExtensions and driDriverAPI

... and use libmegadriver_stub as their provider.
Teach scons how to build the library archive and use it.

v2: scons: fix build on a drm-less system.

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>

---

 src/gallium/state_trackers/dri/drm/dri2.c |   22 ----------------------
 src/gallium/targets/dri/Makefile.am       |    1 +
 src/gallium/targets/dri/SConscript        |    1 +
 src/mesa/drivers/dri/common/SConscript    |   27 +++++++++++++++++++++++++++
 4 files changed, 29 insertions(+), 22 deletions(-)

diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c
index 1d26522..f6a4fe6 100644
--- a/src/gallium/state_trackers/dri/drm/dri2.c
+++ b/src/gallium/state_trackers/dri/drm/dri2.c
@@ -1328,20 +1328,6 @@ dri2_create_buffer(__DRIscreen * sPriv,
  *
  * DRI versions differ in their implementation of init_screen and swap_buffers.
  */
-const struct __DriverAPIRec driDriverAPI = {
-   .InitScreen = dri2_init_screen,
-   .DestroyScreen = dri_destroy_screen,
-   .CreateContext = dri_create_context,
-   .DestroyContext = dri_destroy_context,
-   .CreateBuffer = dri2_create_buffer,
-   .DestroyBuffer = dri_destroy_buffer,
-   .MakeCurrent = dri_make_current,
-   .UnbindContext = dri_unbind_context,
-
-   .AllocateBuffer = dri2_allocate_buffer,
-   .ReleaseBuffer  = dri2_release_buffer,
-};
-
 const struct __DriverAPIRec galliumdrm_driver_api = {
    .InitScreen = dri2_init_screen,
    .DestroyScreen = dri_destroy_screen,
@@ -1357,14 +1343,6 @@ const struct __DriverAPIRec galliumdrm_driver_api = {
 };
 
 /* This is the table of extensions that the loader will dlsym() for. */
-PUBLIC const __DRIextension *__driDriverExtensions[] = {
-    &driCoreExtension.base,
-    &driImageDriverExtension.base,
-    &driDRI2Extension.base,
-    &gallium_config_options.base,
-    NULL
-};
-
 const __DRIextension *galliumdrm_driver_extensions[] = {
     &driCoreExtension.base,
     &driImageDriverExtension.base,
diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am
index 090103e..fd19d652 100644
--- a/src/gallium/targets/dri/Makefile.am
+++ b/src/gallium/targets/dri/Makefile.am
@@ -37,6 +37,7 @@ endif # HAVE_LD_VERSION_SCRIPT
 gallium_dri_la_LIBADD = \
 	$(top_builddir)/src/mesa/libmesagallium.la \
 	$(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \
+	$(top_builddir)/src/mesa/drivers/dri/common/libmegadriver_stub.la \
 	$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
 	$(top_builddir)/src/gallium/drivers/galahad/libgalahad.la \
diff --git a/src/gallium/targets/dri/SConscript b/src/gallium/targets/dri/SConscript
index 5b5ddc6..a78a1b1 100644
--- a/src/gallium/targets/dri/SConscript
+++ b/src/gallium/targets/dri/SConscript
@@ -34,6 +34,7 @@ env.Prepend(LIBS = [
     mesa,
     glsl,
     gallium,
+    megadrivers_stub,
     COMMON_DRI_DRM_OBJECTS
 ])
 
diff --git a/src/mesa/drivers/dri/common/SConscript b/src/mesa/drivers/dri/common/SConscript
index 41f6356..2763380 100644
--- a/src/mesa/drivers/dri/common/SConscript
+++ b/src/mesa/drivers/dri/common/SConscript
@@ -76,9 +76,36 @@ driswenv.AppendUnique(LIBS = [
     'expat',
 ])
 
+#
+# megadrivers_stub
+#
+env = env.Clone()
+
+env.Append(CPPPATH = [
+    '#/include',
+    '#/src/',
+    '#/src/mapi',
+    '#/src/mesa',
+])
+
+env.Append(CPPDEFINES = [
+    '__NOT_HAVE_DRM_H',
+    'HAVE_DLADDR',
+])
+
+sources = env.ParseSourceList('Makefile.sources', 'megadriver_stub_FILES')
+
+megadrivers_stub = env.ConvenienceLibrary(
+	target = 'megadrivers_stub',
+	source = sources,
+)
+
+env.Alias('megadrivers_stub', megadrivers_stub)
+
 Export([
     'drienv',
     'driswenv',
     'COMMON_DRI_SW_OBJECTS',
     'COMMON_DRI_DRM_OBJECTS',
+    'megadrivers_stub',
 ])




More information about the mesa-commit mailing list