summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTapani Pälli <tapani.palli@intel.com>2017-12-28 09:27:24 +0200
committerTapani Pälli <tapani.palli@intel.com>2018-02-07 14:45:34 +0200
commitcf4569da6be22bdf4f2414914a17732d730d4b93 (patch)
treee44c01016e2098b38c5fceb82d0a5a6a2bb5787f /include
parent757d36ee70b779d948f109f5f0e380c6c6480a8d (diff)
downloadmesa-cf4569da6be22bdf4f2414914a17732d730d4b93.tar.gz
mesa-cf4569da6be22bdf4f2414914a17732d730d4b93.tar.xz
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>
Diffstat (limited to 'include')
-rw-r--r--include/GL/internal/dri_interface.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h
index 34a5c9fb01..a0c11f184c 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.