Module: Mesa
Branch: master
Commit: 51523ab9fa21ef3ee02dfa9e5995eab654cfe43a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=51523ab9fa21ef3ee02dfa9e5995eab654cfe43a

Author: Lucas Stach <l.st...@pengutronix.de>
Date:   Tue May 30 15:07:13 2017 +0200

st/dri: allow direct YUYV import

Push this format to the pipe driver unchanged.

Signed-off-by: Lucas Stach <l.st...@pengutronix.de>
Reviewed-by: Philipp Zabel <p.za...@pengutronix.de>

---

 include/GL/internal/dri_interface.h   | 1 +
 src/gallium/state_trackers/dri/dri2.c | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/include/GL/internal/dri_interface.h 
b/include/GL/internal/dri_interface.h
index b47947380c..5b6cc8d70e 100644
--- a/include/GL/internal/dri_interface.h
+++ b/include/GL/internal/dri_interface.h
@@ -1226,6 +1226,7 @@ struct __DRIdri2ExtensionRec {
 #define __DRI_IMAGE_FORMAT_ARGB1555     0x100c
 #define __DRI_IMAGE_FORMAT_R16          0x100d
 #define __DRI_IMAGE_FORMAT_GR1616       0x100e
+#define __DRI_IMAGE_FORMAT_YUYV         0x100f
 
 #define __DRI_IMAGE_USE_SHARE          0x0001
 #define __DRI_IMAGE_USE_SCANOUT                0x0002
diff --git a/src/gallium/state_trackers/dri/dri2.c 
b/src/gallium/state_trackers/dri/dri2.c
index d5ae9cbd69..3388b17da5 100644
--- a/src/gallium/state_trackers/dri/dri2.c
+++ b/src/gallium/state_trackers/dri/dri2.c
@@ -121,6 +121,10 @@ static int convert_fourcc(int format, int 
*dri_components_p)
       format = __DRI_IMAGE_FORMAT_GR1616;
       dri_components = __DRI_IMAGE_COMPONENTS_RG;
       break;
+   case __DRI_IMAGE_FOURCC_YUYV:
+      format = __DRI_IMAGE_FORMAT_YUYV;
+      dri_components = __DRI_IMAGE_COMPONENTS_Y_XUXV;
+      break;
    /*
     * For multi-planar YUV formats, we return the format of the first
     * plane only.  Since there is only one caller which supports multi-
@@ -210,6 +214,9 @@ static enum pipe_format dri2_format_to_pipe_format (int 
format)
    case __DRI_IMAGE_FORMAT_GR1616:
       pf = PIPE_FORMAT_R16G16_UNORM;
       break;
+   case __DRI_IMAGE_FORMAT_YUYV:
+      pf = PIPE_FORMAT_YUYV;
+      break;
    default:
       pf = PIPE_FORMAT_NONE;
       break;

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to