summaryrefslogtreecommitdiff
path: root/src/glx/x11/glxext.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2008-02-29 16:42:29 -0500
committerKristian Høgsberg <krh@redhat.com>2008-02-29 16:42:29 -0500
commit3c5a1e4c2d20da0e8581df22d82a45a4156e0894 (patch)
treee180f9d3b9553be30b3adce29ae399e14a4aca40 /src/glx/x11/glxext.c
parent51cd168da47bcc8d5453112745862bf9fbd03239 (diff)
Update libGL DRI loader to latest DRI interface changes.
Diffstat (limited to 'src/glx/x11/glxext.c')
-rw-r--r--src/glx/x11/glxext.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/glx/x11/glxext.c b/src/glx/x11/glxext.c
index b98d48d22d..7eef38446b 100644
--- a/src/glx/x11/glxext.c
+++ b/src/glx/x11/glxext.c
@@ -781,18 +781,36 @@ __glXDRIGetDrawableInfo(__DRIdrawable *drawable,
/**
* Table of functions exported by the loader to the driver.
*/
-static const __DRIinterfaceMethods interface_methods = {
+static const __DRIcontextModesExtension contextModesExtension = {
+ { __DRI_CONTEXT_MODES, __DRI_CONTEXT_MODES_VERSION },
_gl_context_modes_create,
_gl_context_modes_destroy,
+};
- __glXDRIGetDrawableInfo,
-
+static const __DRIsystemTimeExtension systemTimeExtension = {
+ { __DRI_SYSTEM_TIME, __DRI_SYSTEM_TIME_VERSION },
__glXGetUST,
__driGetMscRateOML,
+};
+
+static const __DRIgetDrawableInfoExtension getDrawableInfoExtension = {
+ { __DRI_GET_DRAWABLE_INFO, __DRI_GET_DRAWABLE_INFO_VERSION },
+ __glXDRIGetDrawableInfo
+};
+static const __DRIdamageExtension damageExtension = {
+ { __DRI_DAMAGE, __DRI_DAMAGE_VERSION },
__glXReportDamage,
};
+static const __DRIextension *loader_extensions[] = {
+ &contextModesExtension.base,
+ &systemTimeExtension.base,
+ &getDrawableInfoExtension.base,
+ &damageExtension.base,
+ NULL
+};
+
/**
@@ -830,8 +848,6 @@ CallCreateNewScreen(Display *dpy, int scrn, __GLXscreenConfigs *psc,
int status;
const char * err_msg;
const char * err_extra;
- int api_ver = __glXGetInternalVersion();
-
dri_version.major = driDpy->private->driMajor;
dri_version.minor = driDpy->private->driMinor;
@@ -945,8 +961,7 @@ CallCreateNewScreen(Display *dpy, int scrn, __GLXscreenConfigs *psc,
& framebuffer,
pSAREA,
fd,
- api_ver,
- & interface_methods,
+ loader_extensions,
& driver_modes );
filter_modes(&psc->configs, driver_modes);