Add picture structure describing the DRI image. i.e. whether the DRI
image represents the whole picture or an interleaved (top/bottom field)
version.

This extension makes it possible to maintain stride and size calculations
internal to Mesa, while allowing for texturing interlaced contents. Some
implementations can have an explicit means to handle this case, or could
emulate it with 2*stride + extra bo offset to the selected field.
---
 include/GL/internal/dri_interface.h |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/include/GL/internal/dri_interface.h 
b/include/GL/internal/dri_interface.h
index a65ccc8..ea1328a 100644
--- a/include/GL/internal/dri_interface.h
+++ b/include/GL/internal/dri_interface.h
@@ -911,6 +911,11 @@ struct __DRIdri2ExtensionRec {
 #define __DRI_IMAGE_FORMAT_L8           0x1007
 #define __DRI_IMAGE_FORMAT_LA88         0x1008 /* luminance + alpha */
 
+/* Image structure: full picture or interlaced (top/bottom field) pictures */
+#define __DRI_IMAGE_STRUCTURE_FRAME     0x0000
+#define __DRI_IMAGE_STRUCTURE_TOP_FIELD 0x0001
+#define __DRI_IMAGE_STRUCTURE_BOTTOM_FIELD 0x0002
+
 #define __DRI_IMAGE_USE_SHARE          0x0001
 #define __DRI_IMAGE_USE_SCANOUT                0x0002
 #define __DRI_IMAGE_USE_CURSOR         0x0004
@@ -923,6 +928,7 @@ struct __DRIdri2ExtensionRec {
 #define __DRI_IMAGE_ATTRIB_HANDLE      0x2001
 #define __DRI_IMAGE_ATTRIB_NAME                0x2002
 #define __DRI_IMAGE_ATTRIB_FORMAT      0x2003 /* available in versions 3+ */
+#define __DRI_IMAGE_ATTRIB_STRUCTURE   0x2004 /* available in versions 4+ */
 
 typedef struct __DRIimageRec          __DRIimage;
 typedef struct __DRIimageAttrsRec     __DRIimageAttrs;
@@ -933,6 +939,7 @@ struct __DRIimageAttrsRec {
     unsigned int        width;
     unsigned int        height;
     unsigned int        pitch;
+    unsigned int        structure;
 };
 
 struct __DRIimageExtensionRec {
-- 
1.7.5.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to