* conjunction with the core extension.
*/
#define __DRI_SWRAST "DRI_SWRast"
-#define __DRI_SWRAST_VERSION 2
+#define __DRI_SWRAST_VERSION 3
struct __DRIswrastExtensionRec {
__DRIextension base;
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);
};
/**
* Create a context for a particular API with a set of attributes
*
* \since version 3
+ *
+ * \sa __DRIswrastExtensionRec::createContextAttribs
*/
__DRIcontext *(*createContextAttribs)(__DRIscreen *screen,
int api,
};
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
};