From: Marek Olšák Date: Mon, 29 Feb 2016 22:19:18 +0000 (+0100) Subject: dri_interface: add interface for GL interop with other APIs (v2) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5e9ed261ed8ec211ba9bf5aa58d50078304583ff;p=mesa.git dri_interface: add interface for GL interop with other APIs (v2) v2: - use const --- 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); +}; + /*@}*/ /**