diff options
Diffstat (limited to 'mesalib/include/GL/internal')
-rw-r--r-- | mesalib/include/GL/internal/dri_interface.h | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/mesalib/include/GL/internal/dri_interface.h b/mesalib/include/GL/internal/dri_interface.h index 4d57d0b82..725d622a1 100644 --- a/mesalib/include/GL/internal/dri_interface.h +++ b/mesalib/include/GL/internal/dri_interface.h @@ -40,6 +40,7 @@ #ifndef DRI_INTERFACE_H #define DRI_INTERFACE_H +#include <stdbool.h> /* For archs with no drm.h */ #if defined(__APPLE__) || defined(__CYGWIN__) || defined(__GNU__) #ifndef __NOT_HAVE_DRM_H @@ -1005,7 +1006,7 @@ struct __DRIdri2ExtensionRec { * extensions. */ #define __DRI_IMAGE "DRI_IMAGE" -#define __DRI_IMAGE_VERSION 8 +#define __DRI_IMAGE_VERSION 9 /** * These formats correspond to the similarly named MESA_FORMAT_* @@ -1133,6 +1134,13 @@ enum __DRIChromaSiting { #define __DRI_IMAGE_ERROR_BAD_PARAMETER 3 /*@}*/ +/** + * blitImage flags + */ + +#define __BLIT_FLAG_FLUSH 0x0001 +#define __BLIT_FLAG_FINISH 0x0002 + typedef struct __DRIimageRec __DRIimage; typedef struct __DRIimageExtensionRec __DRIimageExtension; struct __DRIimageExtensionRec { @@ -1239,6 +1247,21 @@ struct __DRIimageExtensionRec { enum __DRIChromaSiting vert_siting, unsigned *error, void *loaderPrivate); + + /** + * Blit a part of a __DRIimage to another and flushes + * + * flush_flag: + * 0: no flush + * __BLIT_FLAG_FLUSH: flush after the blit operation + * __BLIT_FLAG_FINISH: flush and wait the blit finished + * + * \since 9 + */ + void (*blitImage)(__DRIcontext *context, __DRIimage *dst, __DRIimage *src, + int dstx0, int dsty0, int dstwidth, int dstheight, + int srcx0, int srcy0, int srcwidth, int srcheight, + int flush_flag); }; @@ -1272,9 +1295,9 @@ typedef struct __DRI2configQueryExtensionRec __DRI2configQueryExtension; struct __DRI2configQueryExtensionRec { __DRIextension base; - int (*configQueryb)(__DRIscreen *screen, const char *var, GLboolean *val); - int (*configQueryi)(__DRIscreen *screen, const char *var, GLint *val); - int (*configQueryf)(__DRIscreen *screen, const char *var, GLfloat *val); + int (*configQueryb)(__DRIscreen *screen, const char *var, bool *val); + int (*configQueryi)(__DRIscreen *screen, const char *var, int *val); + int (*configQueryf)(__DRIscreen *screen, const char *var, float *val); }; /** |