diff options
author | David Stevens <stevensd@chromium.org> | 2020-11-26 14:03:16 +0900 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2020-12-15 06:05:27 +0000 |
commit | 479840459f9562afaecb150537da3173c8735b18 (patch) | |
tree | 0e32b8878c1de5c90474285ab21884baeed2a87c /include | |
parent | 80a028d830e2198a839e346b3b845999680c92e6 (diff) |
dri: add image cleanup callback to loader extensions
The callback may be used by dri drivers to perform cleanup when images
are destroyed. It is added to the dri2 and image loader extensions.
Signed-off-by: David Stevens <stevensd@chromium.org>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7805>
Diffstat (limited to 'include')
-rw-r--r-- | include/GL/internal/dri_interface.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h index 39d5dd07533..9b85e67ce49 100644 --- a/include/GL/internal/dri_interface.h +++ b/include/GL/internal/dri_interface.h @@ -1106,7 +1106,7 @@ struct __DRIbufferRec { }; #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, @@ -1177,6 +1177,15 @@ struct __DRIdri2LoaderExtensionRec { * \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); }; /** @@ -2032,7 +2041,7 @@ struct __DRIimageList { }; #define __DRI_IMAGE_LOADER "DRI_IMAGE_LOADER" -#define __DRI_IMAGE_LOADER_VERSION 3 +#define __DRI_IMAGE_LOADER_VERSION 4 struct __DRIimageLoaderExtensionRec { __DRIextension base; @@ -2091,6 +2100,15 @@ struct __DRIimageLoaderExtensionRec { * \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); }; /** |