[igt-dev] [RFC v2 3/5] tests/kms_available_modes_crc: Add cases for 64bit formats
Kevin Strasser
kevin.strasser at intel.com
Wed Mar 6 02:18:35 UTC 2019
This test iterates through all supported formats, add cases for new 64 bit
formats so it continues passing.
rfc2:
-Use uint64_t (Maarten)
Signed-off-by: Kevin Strasser <kevin.strasser at intel.com>
---
tests/kms_available_modes_crc.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/tests/kms_available_modes_crc.c b/tests/kms_available_modes_crc.c
index 7ff385f..33c8ab1 100644
--- a/tests/kms_available_modes_crc.c
+++ b/tests/kms_available_modes_crc.c
@@ -124,10 +124,11 @@ static const struct {
enum { BYTES_PP_1=1,
BYTES_PP_2=2,
BYTES_PP_4=4,
+ BYTES_PP_8=8,
NV12,
P010,
SKIP4 } bpp;
- uint32_t value;
+ uint64_t value;
} fillers[] = {
{ DRM_FORMAT_C8, 0, BYTES_PP_1, 0xff},
{ DRM_FORMAT_RGB565, 0, BYTES_PP_2, 0xffff},
@@ -146,6 +147,11 @@ static const struct {
{ DRM_FORMAT_XRGB2101010, 0, BYTES_PP_4, 0xffffffff},
{ DRM_FORMAT_XBGR2101010, 0, BYTES_PP_4, 0xffffffff},
+ { DRM_FORMAT_XRGB16161616F, 0, BYTES_PP_8, 0x3c003c003c003c00},
+ { DRM_FORMAT_XBGR16161616F, 0, BYTES_PP_8, 0x3c003c003c003c00},
+ { DRM_FORMAT_ARGB16161616F, 0, BYTES_PP_8, 0x3c003c003c003c00},
+ { DRM_FORMAT_ABGR16161616F, 0, BYTES_PP_8, 0x3c003c003c003c00},
+
{ DRM_FORMAT_YUYV, 0, BYTES_PP_4, 0x80eb80eb},
{ DRM_FORMAT_YVYU, 0, BYTES_PP_4, 0x80eb80eb},
{ DRM_FORMAT_VYUY, 0, BYTES_PP_4, 0xeb80eb80},
@@ -177,6 +183,7 @@ static bool fill_in_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
signed i, c, writesize;
unsigned short* ptemp_16_buf;
unsigned int* ptemp_32_buf;
+ unsigned long int* ptemp_64_buf;
for( i = 0; fillers[i].fourcc != 0; i++ ) {
if( fillers[i].fourcc == format )
@@ -184,6 +191,12 @@ static bool fill_in_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
}
switch (fillers[i].bpp) {
+ case BYTES_PP_8:
+ ptemp_64_buf = (uint64_t*)data->buf;
+ for (c = 0; c < data->size/8; c++)
+ ptemp_64_buf[c] = fillers[i].value;
+ writesize = data->size;
+ break;
case BYTES_PP_4:
ptemp_32_buf = (unsigned int*)data->buf;
for (c = 0; c < data->size/4; c++)
@@ -291,6 +304,10 @@ static bool setup_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
case BYTES_PP_4:
bpp = 32;
break;
+
+ case BYTES_PP_8:
+ bpp = 64;
+ break;
}
igt_get_fb_tile_size(data->gfx_fd, tiling, bpp,
--
2.7.4
More information about the igt-dev
mailing list