Mesa (master): dri_interface: add interface for GL interop with other APIs (v2)

Marek Olšák mareko at kemper.freedesktop.org
Wed Apr 20 10:27:41 UTC 2016


Module: Mesa
Branch: master
Commit: 5e9ed261ed8ec211ba9bf5aa58d50078304583ff
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e9ed261ed8ec211ba9bf5aa58d50078304583ff

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Feb 29 23:19:18 2016 +0100

dri_interface: add interface for GL interop with other APIs (v2)

v2: - use const

---

 include/GL/internal/dri_interface.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h
index 2b49a29..84731a0 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);
+};
+
 /*@}*/
 
 /**




More information about the mesa-commit mailing list