From f12e1c558614156fa1650abe4dc6b4ccec63bada Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Tue, 10 Oct 2017 13:58:46 +0200 Subject: [PATCH] dri_interface: add an error-returning version of createImageFromRenderbuffer We ought to be able to distinguish between allocation errors and bad parameters (non-existent renderbuffer object). Bumps the version of the DRI Image extension to 17. Reviewed-by: Eric Engestrom --- include/GL/internal/dri_interface.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h index 783ff1c..aefba92 100644 --- a/include/GL/internal/dri_interface.h +++ b/include/GL/internal/dri_interface.h @@ -1180,7 +1180,7 @@ struct __DRIdri2ExtensionRec { * extensions. */ #define __DRI_IMAGE "DRI_IMAGE" -#define __DRI_IMAGE_VERSION 16 +#define __DRI_IMAGE_VERSION 17 /** * These formats correspond to the similarly named MESA_FORMAT_* @@ -1377,6 +1377,7 @@ struct __DRIimageExtensionRec { int name, int pitch, void *loaderPrivate); + /* Deprecated since version 17; see createImageFromRenderbuffer2 */ __DRIimage *(*createImageFromRenderbuffer)(__DRIcontext *context, int renderbuffer, void *loaderPrivate); @@ -1625,6 +1626,22 @@ struct __DRIimageExtensionRec { GLboolean (*queryDmaBufFormatModifierAttribs)(__DRIscreen *screen, uint32_t fourcc, uint64_t modifier, int attrib, uint64_t *value); + + /** + * Create a DRI image from the given renderbuffer. + * + * \param context the current DRI context + * \param renderbuffer the GL name of the renderbuffer + * \param loaderPrivate for callbacks into the loader related to the image + * \param error will be set to one of __DRI_IMAGE_ERROR_xxx + * \return the newly created image on success, or NULL otherwise + * + * \since 17 + */ + __DRIimage *(*createImageFromRenderbuffer2)(__DRIcontext *context, + int renderbuffer, + void *loaderPrivate, + unsigned *error); }; -- 2.7.4