diff options
author | Axel Davy <[email protected]> | 2014-06-18 23:27:35 -0400 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2014-06-27 11:39:34 +1000 |
commit | 8a66a5de83e659b2430f8866ec8b347f499994e9 (patch) | |
tree | b278f54b8dab7176e38caec854b1a46e3dfc11e7 | |
parent | 27c686309e035d211c7cf38d1c0902f1bf2886c5 (diff) |
dri/image: add blitImage to the specification
It allows to blit two __DRIimages.
Signed-off-by: Axel Davy <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r-- | include/GL/internal/dri_interface.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h index 4d57d0b8247..300156eb436 100644 --- a/include/GL/internal/dri_interface.h +++ b/include/GL/internal/dri_interface.h @@ -1005,7 +1005,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 +1133,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 +1246,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); }; |