Reviewed-by: Lionel Landwerlin <lionel.g.landwer...@intel.com>

On 11/02/2019 09:44, Tapani Pälli wrote:
v2: use correct range for P10

Signed-off-by: Tapani Pälli <tapani.pa...@intel.com>
Signed-off-by: Harish Krupo <harish.krupo....@intel.com>
---
  tests/opengl.py                                    |  2 ++
  .../spec/ext_image_dma_buf_import/sample_common.c  |  1 +
  .../spec/ext_image_dma_buf_import/sample_common.h  |  1 +
  tests/spec/ext_image_dma_buf_import/sample_yuv.c   | 14 ++++++++++++++
  .../util/piglit-framework-gl/piglit_drm_dma_buf.c  |  5 +++++
  .../util/piglit-framework-gl/piglit_drm_dma_buf.h  |  4 ++++
  6 files changed, 27 insertions(+)

diff --git a/tests/opengl.py b/tests/opengl.py
index 97dfbf984..8676e231c 100644
--- a/tests/opengl.py
+++ b/tests/opengl.py
@@ -3030,6 +3030,8 @@ with profile.test_list.group_manager(
        'ext_image_dma_buf_import-sample_yvu420', run_concurrent=False)
      g(['ext_image_dma_buf_import-sample_yuv', '-fmt=AYUV'],
        'ext_image_dma_buf_import-sample_ayuv', run_concurrent=False)
+    g(['ext_image_dma_buf_import-sample_yuv', '-fmt=P010'],
+      'ext_image_dma_buf_import-sample_p010', run_concurrent=False)
      g(['ext_image_dma_buf_import-transcode-nv12-as-r8-gr88'],
        'ext_image_dma_buf_import-transcode-nv12-as-r8-gr88',
        run_concurrent=False)
diff --git a/tests/spec/ext_image_dma_buf_import/sample_common.c 
b/tests/spec/ext_image_dma_buf_import/sample_common.c
index 2f586c774..426f4cc52 100644
--- a/tests/spec/ext_image_dma_buf_import/sample_common.c
+++ b/tests/spec/ext_image_dma_buf_import/sample_common.c
@@ -153,6 +153,7 @@ egl_image_for_dma_buf_fd(struct piglit_dma_buf *buf, int 
fd, int fourcc, EGLImag
        EGLint *attr;
        switch (fourcc) {
        case DRM_FORMAT_NV12:
+       case DRM_FORMAT_P010:
                attr = attr_nv12;
                break;
        case DRM_FORMAT_YUV420:
diff --git a/tests/spec/ext_image_dma_buf_import/sample_common.h 
b/tests/spec/ext_image_dma_buf_import/sample_common.h
index 36a5bb584..155301250 100644
--- a/tests/spec/ext_image_dma_buf_import/sample_common.h
+++ b/tests/spec/ext_image_dma_buf_import/sample_common.h
@@ -25,6 +25,7 @@
#include "piglit-util-egl.h"
  #include "piglit-util-gl.h"
+#include "piglit-framework-gl/piglit_drm_dma_buf.h"
/**
   * Create a dma buffer with format 'fourcc' setting the given pixels as its
diff --git a/tests/spec/ext_image_dma_buf_import/sample_yuv.c 
b/tests/spec/ext_image_dma_buf_import/sample_yuv.c
index ed9f87e0f..78a0f25f3 100644
--- a/tests/spec/ext_image_dma_buf_import/sample_yuv.c
+++ b/tests/spec/ext_image_dma_buf_import/sample_yuv.c
@@ -45,6 +45,17 @@ static int fourcc = -1;
  enum piglit_result
  piglit_display(void)
  {
+       static const uint16_t p010[] = {
+               /* Y */
+               201,  281,  361, 441,
+               201,  281,  361, 441,
+               201,  281,  361, 441,
+               201,  281,  361, 441,
+               /* UV */
+               481, 522, 562, 522,
+               481, 642, 562, 642,
+       };
+
        static const unsigned char nv12[] = {
                /* Y */
                 50,  70,  90, 110,
@@ -127,6 +138,9 @@ piglit_display(void)
enum piglit_result res;
        switch (fourcc) {
+       case DRM_FORMAT_P010:
+               t = (unsigned char *) p010;
+               break;
        case DRM_FORMAT_NV12:
                t = nv12;
                break;
diff --git a/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c 
b/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c
index 13bf883f2..7f7420b23 100644
--- a/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c
+++ b/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c
@@ -163,6 +163,10 @@ piglit_intel_buf_create(unsigned w, unsigned h, unsigned 
fourcc,
                cpp = 1;
                buf_h = h * 3 / 2;
                break;
+       case DRM_FORMAT_P010:
+               cpp = 2;
+               buf_h = h * 3 / 2;
+               break;
        default:
                fprintf(stderr, "invalid fourcc: %.4s\n", (char *)&fourcc);
                return false;
@@ -192,6 +196,7 @@ piglit_intel_buf_create(unsigned w, unsigned h, unsigned 
fourcc,
switch (fourcc) {
        case DRM_FORMAT_NV12:
+       case DRM_FORMAT_P010:
                buf->offset[1] = stride * h;
                buf->stride[1] = stride;
                break;
diff --git a/tests/util/piglit-framework-gl/piglit_drm_dma_buf.h 
b/tests/util/piglit-framework-gl/piglit_drm_dma_buf.h
index b8a4e485d..b57ffa484 100644
--- a/tests/util/piglit-framework-gl/piglit_drm_dma_buf.h
+++ b/tests/util/piglit-framework-gl/piglit_drm_dma_buf.h
@@ -40,6 +40,10 @@
  #define DRM_FORMAT_GR88 fourcc_code('G', 'R', '8', '8')
  #endif
+#ifndef DRM_FORMAT_P010
+#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0') /* 2x2 subsampled 
Cb:Cr plane 10 bits per channel */
+#endif
+
  /* added in libdrm 2.4.95 */
  #ifndef DRM_FORMAT_INVALID
  #define DRM_FORMAT_INVALID 0


_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to