dri: add interface for EGL_ANDROID_blob_cache extension

v2: move from __DRIcontext to __DRIscreen (Emil Velikov)

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:
Tapani Pälli
2017-12-28 09:27:24 +02:00
parent 757d36ee70
commit cf4569da6b

View File

@@ -82,7 +82,7 @@ typedef struct __DRI2flushExtensionRec __DRI2flushExtension;
typedef struct __DRI2throttleExtensionRec __DRI2throttleExtension; typedef struct __DRI2throttleExtensionRec __DRI2throttleExtension;
typedef struct __DRI2fenceExtensionRec __DRI2fenceExtension; typedef struct __DRI2fenceExtensionRec __DRI2fenceExtension;
typedef struct __DRI2interopExtensionRec __DRI2interopExtension; typedef struct __DRI2interopExtensionRec __DRI2interopExtension;
typedef struct __DRI2blobExtensionRec __DRI2blobExtension;
typedef struct __DRIimageLoaderExtensionRec __DRIimageLoaderExtension; typedef struct __DRIimageLoaderExtensionRec __DRIimageLoaderExtension;
typedef struct __DRIimageDriverExtensionRec __DRIimageDriverExtension; typedef struct __DRIimageDriverExtensionRec __DRIimageDriverExtension;
@@ -336,6 +336,30 @@ struct __DRI2throttleExtensionRec {
enum __DRI2throttleReason reason); 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. * Extension for fences / synchronization objects.