From 7192c37294964b3f6e1551469f161593ec8f851d Mon Sep 17 00:00:00 2001 From: George Sapountzis Date: Thu, 3 Nov 2011 12:46:08 +0200 Subject: [PATCH] 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 357cc4994da..f45a95a67f9 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 39d7d30a13d..2c650cfd3ae 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 da4e39f9c01..1775a43fc3e 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 +#include #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 7a3b0a9b2f5..b4f17d139df 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 -#include -#include -#include -#include "xmlconfig.h" -#include "main/glheader.h" +#include #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 deb27093627..1d3b14c6f52 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 4ee70f9b3f7..19dbc9fe140 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 a6e2186cf43..2ce07647317 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 f53a54727d3..84b0b5a20e3 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. */ -- 2.11.0