summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTapani Pälli <tapani.palli@intel.com>2019-02-13 14:20:03 +0200
committerTapani Pälli <tapani.palli@intel.com>2019-02-14 07:45:01 +0200
commit3ce4e483a8e3dfcf3259032ead3894cc390185b3 (patch)
tree8f979331f08b38ad4e82a66df6e7ba869bde5493 /tests
parent11a2588a848dc50ce41c1dcfb14a4552cc710f6d (diff)
EGL_EXT_image_dma_buf_import: add P12, P16 format support
v2: fix indentation and add /* Y */ comment to P16 Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/opengl.py4
-rw-r--r--tests/spec/ext_image_dma_buf_import/sample_common.c2
-rw-r--r--tests/spec/ext_image_dma_buf_import/sample_yuv.c28
-rw-r--r--tests/util/piglit-framework-gl/piglit_drm_dma_buf.c4
-rw-r--r--tests/util/piglit-framework-gl/piglit_drm_dma_buf.h8
5 files changed, 46 insertions, 0 deletions
diff --git a/tests/opengl.py b/tests/opengl.py
index 59e05f127..83f980177 100644
--- a/tests/opengl.py
+++ b/tests/opengl.py
@@ -3037,6 +3037,10 @@ with profile.test_list.group_manager(
'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-sample_yuv', '-fmt=P012'],
+ 'ext_image_dma_buf_import-sample_p012', run_concurrent=False)
+ g(['ext_image_dma_buf_import-sample_yuv', '-fmt=P016'],
+ 'ext_image_dma_buf_import-sample_p016', 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 426f4cc52..249840f01 100644
--- a/tests/spec/ext_image_dma_buf_import/sample_common.c
+++ b/tests/spec/ext_image_dma_buf_import/sample_common.c
@@ -154,6 +154,8 @@ egl_image_for_dma_buf_fd(struct piglit_dma_buf *buf, int fd, int fourcc, EGLImag
switch (fourcc) {
case DRM_FORMAT_NV12:
case DRM_FORMAT_P010:
+ case DRM_FORMAT_P012:
+ case DRM_FORMAT_P016:
attr = attr_nv12;
break;
case DRM_FORMAT_YUV420:
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 78a0f25f3..5ce55af9a 100644
--- a/tests/spec/ext_image_dma_buf_import/sample_yuv.c
+++ b/tests/spec/ext_image_dma_buf_import/sample_yuv.c
@@ -56,6 +56,28 @@ piglit_display(void)
481, 642, 562, 642,
};
+ static const uint16_t p012[] = {
+ /* Y */
+ 803, 1124, 1445, 1766,
+ 803, 1124, 1445, 1766,
+ 803, 1124, 1445, 1766,
+ 803, 1124, 1445, 1766,
+ /* UV */
+ 1927, 2088, 2248, 2088,
+ 1927, 2569, 2248, 2569,
+ };
+
+ static const uint16_t p016[] = {
+ /* Y */
+ 12850, 17990, 23130, 28270,
+ 12850, 17990, 23130, 28270,
+ 12850, 17990, 23130, 28270,
+ 12850, 17990, 23130, 28270,
+ /* UV */
+ 30840, 33410, 35980, 33410,
+ 30840, 41120, 35980, 41120,
+ };
+
static const unsigned char nv12[] = {
/* Y */
50, 70, 90, 110,
@@ -141,6 +163,12 @@ piglit_display(void)
case DRM_FORMAT_P010:
t = (unsigned char *) p010;
break;
+ case DRM_FORMAT_P012:
+ t = (unsigned char *) p012;
+ break;
+ case DRM_FORMAT_P016:
+ t = (unsigned char *) p016;
+ 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 7f7420b23..8beafad77 100644
--- a/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c
+++ b/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c
@@ -164,6 +164,8 @@ piglit_intel_buf_create(unsigned w, unsigned h, unsigned fourcc,
buf_h = h * 3 / 2;
break;
case DRM_FORMAT_P010:
+ case DRM_FORMAT_P012:
+ case DRM_FORMAT_P016:
cpp = 2;
buf_h = h * 3 / 2;
break;
@@ -197,6 +199,8 @@ piglit_intel_buf_create(unsigned w, unsigned h, unsigned fourcc,
switch (fourcc) {
case DRM_FORMAT_NV12:
case DRM_FORMAT_P010:
+ case DRM_FORMAT_P012:
+ case DRM_FORMAT_P016:
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 b57ffa484..9f59bf7da 100644
--- a/tests/util/piglit-framework-gl/piglit_drm_dma_buf.h
+++ b/tests/util/piglit-framework-gl/piglit_drm_dma_buf.h
@@ -44,6 +44,14 @@
#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0') /* 2x2 subsampled Cb:Cr plane 10 bits per channel */
#endif
+#ifndef DRM_FORMAT_P012
+#define DRM_FORMAT_P012 fourcc_code('P', '0', '1', '2') /* 2x2 subsampled Cb:Cr plane 12 bits per channel */
+#endif
+
+#ifndef DRM_FORMAT_P016
+#define DRM_FORMAT_P016 fourcc_code('P', '0', '1', '6') /* 2x2 subsampled Cb:Cr plane 16 bits per channel */
+#endif
+
/* added in libdrm 2.4.95 */
#ifndef DRM_FORMAT_INVALID
#define DRM_FORMAT_INVALID 0