};
#define __DRI_DRI2_LOADER "DRI_DRI2Loader"
-#define __DRI_DRI2_LOADER_VERSION 4
+#define __DRI_DRI2_LOADER_VERSION 5
enum dri_loader_cap {
/* Whether the loader handles RGBA channel ordering correctly. If not,
* \since 4
*/
unsigned (*getCapability)(void *loaderPrivate, enum dri_loader_cap cap);
+
+ /**
+ * Clean up any loader state associated with an image.
+ *
+ * \param loaderPrivate Loader's private data that was previously passed
+ * into a __DRIimageExtensionRec::createImage function
+ * \since 5
+ */
+ void (*destroyLoaderImageState)(void *loaderPrivate);
};
/**
};
#define __DRI_IMAGE_LOADER "DRI_IMAGE_LOADER"
-#define __DRI_IMAGE_LOADER_VERSION 3
+#define __DRI_IMAGE_LOADER_VERSION 4
struct __DRIimageLoaderExtensionRec {
__DRIextension base;
* \since 3
*/
void (*flushSwapBuffers)(__DRIdrawable *driDrawable, void *loaderPrivate);
+
+ /**
+ * Clean up any loader state associated with an image.
+ *
+ * \param loaderPrivate Loader's private data that was previously passed
+ * into a __DRIimageExtensionRec::createImage function
+ * \since 4
+ */
+ void (*destroyLoaderImageState)(void *loaderPrivate);
};
/**