summaryrefslogtreecommitdiffstats
path: root/include/GL/internal
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2016-02-29 23:19:18 +0100
committerMarek Olšák <[email protected]>2016-04-20 12:18:47 +0200
commit5e9ed261ed8ec211ba9bf5aa58d50078304583ff (patch)
tree4ea222a91f69b948cdc20b843ed77a4610be3dea /include/GL/internal
parent6eeb729490a7880f8dc17de855d205a7cce5f28c (diff)
dri_interface: add interface for GL interop with other APIs (v2)
v2: - use const
Diffstat (limited to 'include/GL/internal')
-rw-r--r--include/GL/internal/dri_interface.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h
index 2b49a2941e1..84731a06ef2 100644
--- a/include/GL/internal/dri_interface.h
+++ b/include/GL/internal/dri_interface.h
@@ -79,6 +79,7 @@ typedef struct __DRIdri2LoaderExtensionRec __DRIdri2LoaderExtension;
typedef struct __DRI2flushExtensionRec __DRI2flushExtension;
typedef struct __DRI2throttleExtensionRec __DRI2throttleExtension;
typedef struct __DRI2fenceExtensionRec __DRI2fenceExtension;
+typedef struct __DRI2interopExtensionRec __DRI2interopExtension;
typedef struct __DRIimageLoaderExtensionRec __DRIimageLoaderExtension;
@@ -392,6 +393,31 @@ struct __DRI2fenceExtensionRec {
};
+/**
+ * Extension for API interop.
+ * See GL/mesa_glinterop.h.
+ */
+
+#define __DRI2_INTEROP "DRI2_Interop"
+#define __DRI2_INTEROP_VERSION 1
+
+typedef struct _mesa_glinterop_device_info mesa_glinterop_device_info;
+typedef struct _mesa_glinterop_export_in mesa_glinterop_export_in;
+typedef struct _mesa_glinterop_export_out mesa_glinterop_export_out;
+
+struct __DRI2interopExtensionRec {
+ __DRIextension base;
+
+ /** Same as MesaGLInterop*QueryDeviceInfo. */
+ int (*query_device_info)(__DRIcontext *ctx,
+ mesa_glinterop_device_info *out);
+
+ /** Same as MesaGLInterop*ExportObject. */
+ int (*export_object)(__DRIcontext *ctx,
+ const mesa_glinterop_export_in *in,
+ mesa_glinterop_export_out *out);
+};
+
/*@}*/
/**