Mesa (master): dri: unify __DriverAPIRec

George Sapountzis gsap7 at kemper.freedesktop.org
Fri Nov 4 21:34:21 UTC 2011


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

Author: George Sapountzis <gsapountzis at gmail.com>
Date:   Thu Nov  3 12:46:08 2011 +0200

dri: unify __DriverAPIRec

I dropped the comments because they don't add much.

---

 src/gallium/state_trackers/dri/drm/dri2.c     |    2 +-
 src/gallium/state_trackers/dri/sw/drisw.c     |    3 +-
 src/mesa/drivers/dri/common/dri_util.c        |    7 +--
 src/mesa/drivers/dri/common/dri_util.h        |   50 ++++++------------------
 src/mesa/drivers/dri/common/drisw_util.h      |    9 ++++-
 src/mesa/drivers/dri/intel/intel_screen.c     |    2 +-
 src/mesa/drivers/dri/nouveau/nouveau_screen.c |    2 +-
 src/mesa/drivers/dri/radeon/radeon_screen.c   |    3 +-
 8 files changed, 29 insertions(+), 49 deletions(-)

diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c
index 357cc49..f45a95a 100644
--- a/src/gallium/state_trackers/dri/drm/dri2.c
+++ b/src/gallium/state_trackers/dri/drm/dri2.c
@@ -701,7 +701,7 @@ dri2_create_buffer(__DRIscreen * sPriv,
  * DRI versions differ in their implementation of init_screen and swap_buffers.
  */
 const struct __DriverAPIRec driDriverAPI = {
-   .InitScreen2 = dri2_init_screen,
+   .InitScreen = dri2_init_screen,
    .DestroyScreen = dri_destroy_screen,
    .CreateContext = dri_create_context,
    .DestroyContext = dri_destroy_context,
diff --git a/src/gallium/state_trackers/dri/sw/drisw.c b/src/gallium/state_trackers/dri/sw/drisw.c
index 39d7d30..2c650cf 100644
--- a/src/gallium/state_trackers/dri/sw/drisw.c
+++ b/src/gallium/state_trackers/dri/sw/drisw.c
@@ -356,10 +356,9 @@ const struct __DriverAPIRec driDriverAPI = {
    .DestroyContext = dri_destroy_context,
    .CreateBuffer = drisw_create_buffer,
    .DestroyBuffer = dri_destroy_buffer,
+   .SwapBuffers = drisw_swap_buffers,
    .MakeCurrent = dri_make_current,
    .UnbindContext = dri_unbind_context,
-
-   .SwapBuffers = drisw_swap_buffers,
 };
 
 /* This is the table of extensions that the loader will dlsym() for. */
diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c
index da4e39f..1775a43 100644
--- a/src/mesa/drivers/dri/common/dri_util.c
+++ b/src/mesa/drivers/dri/common/dri_util.c
@@ -21,6 +21,8 @@
 
 #include "main/imports.h"
 
+#include <drm.h>
+#include <xf86drm.h>
 #include "dri_util.h"
 #include "utils.h"
 #include "xmlpool.h"
@@ -410,9 +412,6 @@ dri2CreateNewScreen(int scrn, int fd,
     __DRIscreen *psp;
     drmVersionPtr version;
 
-    if (driDriverAPI.InitScreen2 == NULL)
-        return NULL;
-
     psp = calloc(1, sizeof(*psp));
     if (!psp)
 	return NULL;
@@ -433,7 +432,7 @@ dri2CreateNewScreen(int scrn, int fd,
 
     psp->DriverAPI = driDriverAPI;
     psp->api_mask = (1 << __DRI_API_OPENGL);
-    *driver_configs = driDriverAPI.InitScreen2(psp);
+    *driver_configs = driDriverAPI.InitScreen(psp);
     if (*driver_configs == NULL) {
 	free(psp);
 	return NULL;
diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h
index 7a3b0a9..b4f17d1 100644
--- a/src/mesa/drivers/dri/common/dri_util.h
+++ b/src/mesa/drivers/dri/common/dri_util.h
@@ -48,15 +48,10 @@
 #define _DRI_UTIL_H_
 
 #include <GL/gl.h>
-#include <drm.h>
-#include <drm_sarea.h>
-#include <xf86drm.h>
-#include "xmlconfig.h"
-#include "main/glheader.h"
+#include <GL/internal/dri_interface.h>
 #include "main/mtypes.h"
-#include "GL/internal/dri_interface.h"
+#include "xmlconfig.h"
 
-#define GLX_BAD_CONTEXT                    5
 
 /**
  * Extensions.
@@ -76,56 +71,37 @@ extern const __DRI2configQueryExtension dri2ConfigQueryExtension;
  * this structure.
  */
 struct __DriverAPIRec {
-    /**
-     * Screen destruction callback
-     */
+    const __DRIconfig **(*InitScreen) (__DRIscreen * priv);
+
     void (*DestroyScreen)(__DRIscreen *driScrnPriv);
 
-    /**
-     * Context creation callback
-     */	    	    
     GLboolean (*CreateContext)(gl_api api,
-			       const struct gl_config *glVis,
-			       __DRIcontext *driContextPriv,
+                               const struct gl_config *glVis,
+                               __DRIcontext *driContextPriv,
                                void *sharedContextPrivate);
 
-    /**
-     * Context destruction callback
-     */
     void (*DestroyContext)(__DRIcontext *driContextPriv);
 
-    /**
-     * Buffer (drawable) creation callback
-     */
     GLboolean (*CreateBuffer)(__DRIscreen *driScrnPriv,
                               __DRIdrawable *driDrawPriv,
                               const struct gl_config *glVis,
                               GLboolean pixmapBuffer);
-    
-    /**
-     * Buffer (drawable) destruction callback
-     */
+
     void (*DestroyBuffer)(__DRIdrawable *driDrawPriv);
 
-    /**
-     * Context activation callback
-     */
+    void (*SwapBuffers)(__DRIdrawable *driDrawPriv);
+
     GLboolean (*MakeCurrent)(__DRIcontext *driContextPriv,
                              __DRIdrawable *driDrawPriv,
                              __DRIdrawable *driReadPriv);
 
-    /**
-     * Context unbinding callback
-     */
     GLboolean (*UnbindContext)(__DRIcontext *driContextPriv);
 
-    /* DRI2 Entry point */
-    const __DRIconfig **(*InitScreen2) (__DRIscreen * priv);
-
     __DRIbuffer *(*AllocateBuffer) (__DRIscreen *screenPrivate,
-				    unsigned int attachment,
-				    unsigned int format,
-				    int width, int height);
+                                    unsigned int attachment,
+                                    unsigned int format,
+                                    int width, int height);
+
     void (*ReleaseBuffer) (__DRIscreen *screenPrivate, __DRIbuffer *buffer);
 };
 
diff --git a/src/mesa/drivers/dri/common/drisw_util.h b/src/mesa/drivers/dri/common/drisw_util.h
index deb2709..1d3b14c 100644
--- a/src/mesa/drivers/dri/common/drisw_util.h
+++ b/src/mesa/drivers/dri/common/drisw_util.h
@@ -56,7 +56,7 @@ struct __DriverAPIRec {
 
     void (*DestroyScreen)(__DRIscreen *driScrnPriv);
 
-    GLboolean (*CreateContext)(gl_api glapi,
+    GLboolean (*CreateContext)(gl_api api,
                                const struct gl_config *glVis,
                                __DRIcontext *driContextPriv,
                                void *sharedContextPrivate);
@@ -77,6 +77,13 @@ struct __DriverAPIRec {
                              __DRIdrawable *driReadPriv);
 
     GLboolean (*UnbindContext)(__DRIcontext *driContextPriv);
+
+    __DRIbuffer *(*AllocateBuffer) (__DRIscreen *screenPrivate,
+                                    unsigned int attachment,
+                                    unsigned int format,
+                                    int width, int height);
+
+    void (*ReleaseBuffer) (__DRIscreen *screenPrivate, __DRIbuffer *buffer);
 };
 
 extern const struct __DriverAPIRec driDriverAPI;
diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c
index 4ee70f9..19dbc9f 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.c
+++ b/src/mesa/drivers/dri/intel/intel_screen.c
@@ -846,6 +846,7 @@ intelReleaseBuffer(__DRIscreen *screen, __DRIbuffer *buffer)
 
 
 const struct __DriverAPIRec driDriverAPI = {
+   .InitScreen		 = intelInitScreen2,
    .DestroyScreen	 = intelDestroyScreen,
    .CreateContext	 = intelCreateContext,
    .DestroyContext	 = intelDestroyContext,
@@ -853,7 +854,6 @@ const struct __DriverAPIRec driDriverAPI = {
    .DestroyBuffer	 = intelDestroyBuffer,
    .MakeCurrent		 = intelMakeCurrent,
    .UnbindContext	 = intelUnbindContext,
-   .InitScreen2		 = intelInitScreen2,
    .AllocateBuffer       = intelAllocateBuffer,
    .ReleaseBuffer        = intelReleaseBuffer
 };
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_screen.c b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
index a6e2186..2ce0764 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_screen.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
@@ -241,7 +241,7 @@ static const __DRIextension *nouveau_screen_extensions[] = {
 };
 
 const struct __DriverAPIRec driDriverAPI = {
-	.InitScreen2     = nouveau_init_screen2,
+	.InitScreen      = nouveau_init_screen2,
 	.DestroyScreen   = nouveau_destroy_screen,
 	.CreateBuffer    = nouveau_create_buffer,
 	.DestroyBuffer   = nouveau_destroy_buffer,
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index f53a547..84b0b5a 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -1354,6 +1354,7 @@ __DRIconfig **radeonInitScreen2(__DRIscreen *psp)
 }
 
 const struct __DriverAPIRec driDriverAPI = {
+   .InitScreen      = radeonInitScreen2,
    .DestroyScreen   = radeonDestroyScreen,
 #if defined(RADEON_R200)
    .CreateContext   = r200CreateContext,
@@ -1366,8 +1367,6 @@ const struct __DriverAPIRec driDriverAPI = {
    .DestroyBuffer   = radeonDestroyBuffer,
    .MakeCurrent     = radeonMakeCurrent,
    .UnbindContext   = radeonUnbindContext,
-    /* DRI2 */
-   .InitScreen2     = radeonInitScreen2,
 };
 
 /* This is the table of extensions that the loader will dlsym() for. */




More information about the mesa-commit mailing list