From: Tapani Pälli Date: Thu, 28 Dec 2017 07:27:24 +0000 (+0200) Subject: dri: add interface for EGL_ANDROID_blob_cache extension X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cf4569da6be22bdf4f2414914a17732d730d4b93;p=mesa.git dri: add interface for EGL_ANDROID_blob_cache extension v2: move from __DRIcontext to __DRIscreen (Emil Velikov) Signed-off-by: Tapani Pälli Reviewed-by: Jordan Justen Reviewed-by: Emil Velikov --- diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h index 34a5c9fb01a..a0c11f184c8 100644 --- a/include/GL/internal/dri_interface.h +++ b/include/GL/internal/dri_interface.h @@ -82,7 +82,7 @@ typedef struct __DRI2flushExtensionRec __DRI2flushExtension; typedef struct __DRI2throttleExtensionRec __DRI2throttleExtension; typedef struct __DRI2fenceExtensionRec __DRI2fenceExtension; typedef struct __DRI2interopExtensionRec __DRI2interopExtension; - +typedef struct __DRI2blobExtensionRec __DRI2blobExtension; typedef struct __DRIimageLoaderExtensionRec __DRIimageLoaderExtension; typedef struct __DRIimageDriverExtensionRec __DRIimageDriverExtension; @@ -336,6 +336,30 @@ struct __DRI2throttleExtensionRec { enum __DRI2throttleReason reason); }; +/** + * Extension for EGL_ANDROID_blob_cache + */ + +#define __DRI2_BLOB "DRI2_Blob" +#define __DRI2_BLOB_VERSION 1 + +typedef void +(*__DRIblobCacheSet) (const void *key, signed long keySize, + const void *value, signed long valueSize); + +typedef signed long +(*__DRIblobCacheGet) (const void *key, signed long keySize, + void *value, signed long valueSize); + +struct __DRI2blobExtensionRec { + __DRIextension base; + + /** + * Set cache functions for setting and getting cache entries. + */ + void (*set_cache_funcs) (__DRIscreen *screen, + __DRIblobCacheSet set, __DRIblobCacheGet get); +}; /** * Extension for fences / synchronization objects.