From cf4569da6be22bdf4f2414914a17732d730d4b93 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tapani=20P=C3=A4lli?= Date: Thu, 28 Dec 2017 09:27:24 +0200 Subject: [PATCH] dri: add interface for EGL_ANDROID_blob_cache extension MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit v2: move from __DRIcontext to __DRIscreen (Emil Velikov) Signed-off-by: Tapani Pälli Reviewed-by: Jordan Justen Reviewed-by: Emil Velikov --- include/GL/internal/dri_interface.h | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) 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. -- 2.11.0