summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/drivers/dri/common/dri_util.c7
-rw-r--r--src/mesa/drivers/dri/common/dri_util.h50
-rw-r--r--src/mesa/drivers/dri/common/drisw_util.h9
-rw-r--r--src/mesa/drivers/dri/intel/intel_screen.c2
-rw-r--r--src/mesa/drivers/dri/nouveau/nouveau_screen.c2
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_screen.c3
6 files changed, 27 insertions, 46 deletions
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 <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 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 <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 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. */