dri2: Add createContextAttribs entry point for DRISW version 3

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Ian Romanick 2011-12-01 13:56:38 -08:00
parent 1ab545494a
commit b5b2081d75
2 changed files with 25 additions and 3 deletions

View File

@ -679,7 +679,7 @@ struct __DRIlegacyExtensionRec {
* conjunction with the core extension.
*/
#define __DRI_SWRAST "DRI_SWRast"
#define __DRI_SWRAST_VERSION 2
#define __DRI_SWRAST_VERSION 3
struct __DRIswrastExtensionRec {
__DRIextension base;
@ -699,6 +699,22 @@ struct __DRIswrastExtensionRec {
const __DRIconfig *config,
__DRIcontext *shared,
void *data);
/**
* Create a context for a particular API with a set of attributes
*
* \since version 3
*
* \sa __DRIdri2ExtensionRec::createContextAttribs
*/
__DRIcontext *(*createContextAttribs)(__DRIscreen *screen,
int api,
const __DRIconfig *config,
__DRIcontext *shared,
unsigned num_attribs,
const uint32_t *attribs,
unsigned *error,
void *loaderPrivate);
};
/**
@ -859,6 +875,8 @@ struct __DRIdri2ExtensionRec {
* Create a context for a particular API with a set of attributes
*
* \since version 3
*
* \sa __DRIswrastExtensionRec::createContextAttribs
*/
__DRIcontext *(*createContextAttribs)(__DRIscreen *screen,
int api,

View File

@ -288,8 +288,12 @@ const __DRIcoreExtension driCoreExtension = {
};
const __DRIswrastExtension driSWRastExtension = {
{ __DRI_SWRAST, __DRI_SWRAST_VERSION },
/* Force the version to 2 because the underlying driver don't (can't!)
* support the extra requirements of CreateContextAttribs.
*/
{ __DRI_SWRAST, 2 },
driCreateNewScreen,
driCreateNewDrawable,
driCreateNewContextForAPI
driCreateNewContextForAPI,
NULL
};