Push __driDriverExtensions out of dri_util.c and into the drivers
This lets the individual drivers select which extensions to advertise. Specifically, most drivers (tdfx, sis, savage etc) don't support DRI2 but the shared extension list in dri_util.c does list the DRI2 extension. Pushing the list into the drivers, lets us avoid listing the DRI2 extension for drivers that don't support it.
This commit is contained in:
@@ -346,4 +346,12 @@ PUBLIC const struct __DriverAPIRec driDriverAPI = {
|
|||||||
.InitScreen2 = dri_init_screen2,
|
.InitScreen2 = dri_init_screen2,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
&driDRI2Extension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
/* vim: set sw=3 ts=8 sts=3 expandtab: */
|
/* vim: set sw=3 ts=8 sts=3 expandtab: */
|
||||||
|
@@ -841,7 +841,7 @@ const __DRIlegacyExtension driLegacyExtension = {
|
|||||||
driCreateNewContext,
|
driCreateNewContext,
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Legacy DRI interface */
|
/** DRI2 interface */
|
||||||
const __DRIdri2Extension driDRI2Extension = {
|
const __DRIdri2Extension driDRI2Extension = {
|
||||||
{ __DRI_DRI2, __DRI_DRI2_VERSION },
|
{ __DRI_DRI2, __DRI_DRI2_VERSION },
|
||||||
dri2CreateNewScreen,
|
dri2CreateNewScreen,
|
||||||
@@ -849,14 +849,6 @@ const __DRIdri2Extension driDRI2Extension = {
|
|||||||
dri2CreateNewContext,
|
dri2CreateNewContext,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* This is the table of extensions that the loader will dlsym() for. */
|
|
||||||
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
|
||||||
&driCoreExtension.base,
|
|
||||||
&driLegacyExtension.base,
|
|
||||||
&driDRI2Extension.base,
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
driFrameTracking(__DRIdrawable *drawable, GLboolean enable)
|
driFrameTracking(__DRIdrawable *drawable, GLboolean enable)
|
||||||
{
|
{
|
||||||
|
@@ -64,6 +64,7 @@ typedef struct __DRIswapInfoRec __DRIswapInfo;
|
|||||||
*/
|
*/
|
||||||
extern const __DRIlegacyExtension driLegacyExtension;
|
extern const __DRIlegacyExtension driLegacyExtension;
|
||||||
extern const __DRIcoreExtension driCoreExtension;
|
extern const __DRIcoreExtension driCoreExtension;
|
||||||
|
extern const __DRIdri2Extension driDRI2Extension;
|
||||||
extern const __DRIextension driReadDrawableExtension;
|
extern const __DRIextension driReadDrawableExtension;
|
||||||
extern const __DRIcopySubBufferExtension driCopySubBufferExtension;
|
extern const __DRIcopySubBufferExtension driCopySubBufferExtension;
|
||||||
extern const __DRIswapControlExtension driSwapControlExtension;
|
extern const __DRIswapControlExtension driSwapControlExtension;
|
||||||
|
@@ -785,3 +785,10 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
|
|||||||
|
|
||||||
return (void *) psp;
|
return (void *) psp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -722,3 +722,10 @@ const struct __DriverAPIRec driDriverAPI = {
|
|||||||
.WaitForSBC = NULL,
|
.WaitForSBC = NULL,
|
||||||
.SwapBuffersMSC = NULL
|
.SwapBuffersMSC = NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -263,3 +263,10 @@ void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
|
|||||||
psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &gammaAPI);
|
psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &gammaAPI);
|
||||||
return (void *) psp;
|
return (void *) psp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -356,3 +356,10 @@ const struct __DriverAPIRec driDriverAPI = {
|
|||||||
.WaitForSBC = NULL,
|
.WaitForSBC = NULL,
|
||||||
.SwapBuffersMSC = NULL
|
.SwapBuffersMSC = NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -831,3 +831,11 @@ const struct __DriverAPIRec driDriverAPI = {
|
|||||||
|
|
||||||
.InitScreen2 = intelInitScreen2,
|
.InitScreen2 = intelInitScreen2,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
&driDRI2Extension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -457,3 +457,9 @@ const struct __DriverAPIRec driDriverAPI = {
|
|||||||
.SwapBuffersMSC = NULL
|
.SwapBuffersMSC = NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -998,3 +998,10 @@ const struct __DriverAPIRec driDriverAPI = {
|
|||||||
.WaitForSBC = NULL,
|
.WaitForSBC = NULL,
|
||||||
.SwapBuffersMSC = NULL
|
.SwapBuffersMSC = NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -517,3 +517,10 @@ const struct __DriverAPIRec driDriverAPI = {
|
|||||||
.WaitForSBC = NULL,
|
.WaitForSBC = NULL,
|
||||||
.SwapBuffersMSC = NULL
|
.SwapBuffersMSC = NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -1751,3 +1751,10 @@ const struct __DriverAPIRec driDriverAPI = {
|
|||||||
.InitScreen2 = radeonInitScreen2,
|
.InitScreen2 = radeonInitScreen2,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
&driDRI2Extension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -1001,3 +1001,10 @@ const struct __DriverAPIRec driDriverAPI = {
|
|||||||
savageMakeCurrent,
|
savageMakeCurrent,
|
||||||
savageUnbindContext
|
savageUnbindContext
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -325,3 +325,10 @@ const struct __DriverAPIRec driDriverAPI = {
|
|||||||
.SwapBuffersMSC = NULL
|
.SwapBuffersMSC = NULL
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -440,3 +440,10 @@ const struct __DriverAPIRec driDriverAPI = {
|
|||||||
.WaitForSBC = NULL,
|
.WaitForSBC = NULL,
|
||||||
.SwapBuffersMSC = NULL
|
.SwapBuffersMSC = NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
@@ -443,3 +443,10 @@ const struct __DriverAPIRec driDriverAPI = {
|
|||||||
.WaitForSBC = NULL,
|
.WaitForSBC = NULL,
|
||||||
.SwapBuffersMSC = NULL
|
.SwapBuffersMSC = NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This is the table of extensions that the loader will dlsym() for. */
|
||||||
|
PUBLIC const __DRIextension *__driDriverExtensions[] = {
|
||||||
|
&driCoreExtension.base,
|
||||||
|
&driLegacyExtension.base,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
Reference in New Issue
Block a user