On Wednesday 17 April 2013 22:18:03 ville.syrjala@xxxxxxxxxxxxxxx wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > tests/modetest/buffers.c | 120 ++++++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 115 insertions(+), 5 deletions(-) > > diff --git a/tests/modetest/buffers.c b/tests/modetest/buffers.c > index 7f534a1..3b1685c 100644 > --- a/tests/modetest/buffers.c > +++ b/tests/modetest/buffers.c > @@ -102,17 +102,44 @@ static const struct format_info format_info[] = { > /* YUV planar */ > { DRM_FORMAT_YVU420, "YV12", MAKE_YUV_INFO(YUV_YCrCb, 2, 2, 1) }, > /* RGB16 */ > + { DRM_FORMAT_ARGB4444, "AR12", MAKE_RGB_INFO(4, 8, 4, 4, 4, 0, 4, 12) }, > + { DRM_FORMAT_XRGB4444, "XR12", MAKE_RGB_INFO(4, 8, 4, 4, 4, 0, 0, 0) }, > + { DRM_FORMAT_ABGR4444, "AB12", MAKE_RGB_INFO(4, 0, 4, 4, 4, 8, 4, 12) }, > + { DRM_FORMAT_XBGR4444, "XB12", MAKE_RGB_INFO(4, 0, 4, 4, 4, 8, 0, 0) }, > + { DRM_FORMAT_RGBA4444, "RA12", MAKE_RGB_INFO(4, 12, 4, 8, 4, 4, 4, 0) }, > + { DRM_FORMAT_RGBX4444, "RX12", MAKE_RGB_INFO(4, 12, 4, 8, 4, 4, 0, 0) }, > + { DRM_FORMAT_BGRA4444, "BA12", MAKE_RGB_INFO(4, 4, 4, 8, 4, 12, 4, 0) }, > + { DRM_FORMAT_BGRX4444, "BX12", MAKE_RGB_INFO(4, 4, 4, 8, 4, 12, 0, 0) }, > { DRM_FORMAT_ARGB1555, "AR15", MAKE_RGB_INFO(5, 10, 5, 5, 5, 0, 1, 15) }, > { DRM_FORMAT_XRGB1555, "XR15", MAKE_RGB_INFO(5, 10, 5, 5, 5, 0, 0, 0) }, > + { DRM_FORMAT_ABGR1555, "AB15", MAKE_RGB_INFO(5, 0, 5, 5, 5, 10, 1, 15) }, > + { DRM_FORMAT_XBGR1555, "XB15", MAKE_RGB_INFO(5, 0, 5, 5, 5, 10, 0, 0) }, > + { DRM_FORMAT_RGBA5551, "RA15", MAKE_RGB_INFO(5, 11, 5, 6, 5, 1, 1, 0) }, > + { DRM_FORMAT_RGBX5551, "RX15", MAKE_RGB_INFO(5, 11, 5, 6, 5, 1, 0, 0) }, > + { DRM_FORMAT_BGRA5551, "BA15", MAKE_RGB_INFO(5, 1, 5, 6, 5, 11, 1, 0) }, > + { DRM_FORMAT_BGRX5551, "BX15", MAKE_RGB_INFO(5, 1, 5, 6, 5, 11, 0, 0) }, > { DRM_FORMAT_RGB565, "RG16", MAKE_RGB_INFO(5, 11, 6, 5, 5, 0, 0, 0) }, > + { DRM_FORMAT_BGR565, "BG16", MAKE_RGB_INFO(5, 0, 6, 5, 5, 11, 0, 0) }, > /* RGB24 */ > { DRM_FORMAT_BGR888, "BG24", MAKE_RGB_INFO(8, 0, 8, 8, 8, 16, 0, 0) }, > { DRM_FORMAT_RGB888, "RG24", MAKE_RGB_INFO(8, 16, 8, 8, 8, 0, 0, 0) }, > /* RGB32 */ > { DRM_FORMAT_ARGB8888, "AR24", MAKE_RGB_INFO(8, 16, 8, 8, 8, 0, 8, 24) }, > - { DRM_FORMAT_BGRA8888, "BA24", MAKE_RGB_INFO(8, 8, 8, 16, 8, 24, 8, 0) }, > { DRM_FORMAT_XRGB8888, "XR24", MAKE_RGB_INFO(8, 16, 8, 8, 8, 0, 0, 0) }, > + { DRM_FORMAT_ABGR8888, "AB24", MAKE_RGB_INFO(8, 0, 8, 8, 8, 16, 8, 24) }, > + { DRM_FORMAT_XBGR8888, "XB24", MAKE_RGB_INFO(8, 0, 8, 8, 8, 16, 0, 0) }, > + { DRM_FORMAT_RGBA8888, "RA24", MAKE_RGB_INFO(8, 24, 8, 16, 8, 8, 8, 0) }, > + { DRM_FORMAT_RGBX8888, "RX24", MAKE_RGB_INFO(8, 24, 8, 16, 8, 8, 0, 0) }, > + { DRM_FORMAT_BGRA8888, "BA24", MAKE_RGB_INFO(8, 8, 8, 16, 8, 24, 8, 0) }, > { DRM_FORMAT_BGRX8888, "BX24", MAKE_RGB_INFO(8, 8, 8, 16, 8, 24, 0, 0) }, > + { DRM_FORMAT_ARGB2101010, "AR30", MAKE_RGB_INFO(10, 20, 10, 10, 10, 0, 2, > 30) }, + { DRM_FORMAT_XRGB2101010, "XR30", MAKE_RGB_INFO(10, 20, 10, 10, > 10, 0, 0, 0) }, + { DRM_FORMAT_ABGR2101010, "AB30", MAKE_RGB_INFO(10, 0, > 10, 10, 10, 20, 2, 30) }, + { DRM_FORMAT_XBGR2101010, "XB30", > MAKE_RGB_INFO(10, 0, 10, 10, 10, 20, 0, 0) }, + { DRM_FORMAT_RGBA1010102, > "RA30", MAKE_RGB_INFO(10, 22, 10, 12, 10, 2, 2, 0) }, + { > DRM_FORMAT_RGBX1010102, "RX30", MAKE_RGB_INFO(10, 22, 10, 12, 10, 2, 0, 0) > }, + { DRM_FORMAT_BGRA1010102, "BA30", MAKE_RGB_INFO(10, 2, 10, 12, 10, 22, > 2, 0) }, + { DRM_FORMAT_BGRX1010102, "BX30", MAKE_RGB_INFO(10, 2, 10, 12, > 10, 22, 0, 0) }, }; > > unsigned int format_fourcc(const char *name) > @@ -577,19 +604,47 @@ fill_smpte(const struct format_info *info, void > *planes[3], unsigned int width, return fill_smpte_yuv_planar(&info->yuv, > planes[0], planes[1], > planes[2], width, height, stride); > > + case DRM_FORMAT_ARGB4444: > + case DRM_FORMAT_XRGB4444: > + case DRM_FORMAT_ABGR4444: > + case DRM_FORMAT_XBGR4444: > + case DRM_FORMAT_RGBA4444: > + case DRM_FORMAT_RGBX4444: > + case DRM_FORMAT_BGRA4444: > + case DRM_FORMAT_BGRX4444: > case DRM_FORMAT_RGB565: > + case DRM_FORMAT_BGR565: > case DRM_FORMAT_ARGB1555: > case DRM_FORMAT_XRGB1555: > + case DRM_FORMAT_ABGR1555: > + case DRM_FORMAT_XBGR1555: > + case DRM_FORMAT_RGBA5551: > + case DRM_FORMAT_RGBX5551: > + case DRM_FORMAT_BGRA5551: > + case DRM_FORMAT_BGRX5551: > return fill_smpte_rgb16(&info->rgb, planes[0], > width, height, stride); > + > case DRM_FORMAT_BGR888: > case DRM_FORMAT_RGB888: > return fill_smpte_rgb24(&info->rgb, planes[0], > width, height, stride); > case DRM_FORMAT_ARGB8888: > - case DRM_FORMAT_BGRA8888: > case DRM_FORMAT_XRGB8888: > + case DRM_FORMAT_ABGR8888: > + case DRM_FORMAT_XBGR8888: > + case DRM_FORMAT_RGBA8888: > + case DRM_FORMAT_RGBX8888: > + case DRM_FORMAT_BGRA8888: > case DRM_FORMAT_BGRX8888: > + case DRM_FORMAT_ARGB2101010: > + case DRM_FORMAT_XRGB2101010: > + case DRM_FORMAT_ABGR2101010: > + case DRM_FORMAT_XBGR2101010: > + case DRM_FORMAT_RGBA1010102: > + case DRM_FORMAT_RGBX1010102: > + case DRM_FORMAT_BGRA1010102: > + case DRM_FORMAT_BGRX1010102: > return fill_smpte_rgb32(&info->rgb, planes[0], > width, height, stride); > } > @@ -810,19 +865,47 @@ fill_tiles(const struct format_info *info, void > *planes[3], unsigned int width, return fill_tiles_yuv_planar(&info->yuv, > planes[0], planes[1], > planes[2], width, height, stride); > > + case DRM_FORMAT_ARGB4444: > + case DRM_FORMAT_XRGB4444: > + case DRM_FORMAT_ABGR4444: > + case DRM_FORMAT_XBGR4444: > + case DRM_FORMAT_RGBA4444: > + case DRM_FORMAT_RGBX4444: > + case DRM_FORMAT_BGRA4444: > + case DRM_FORMAT_BGRX4444: > case DRM_FORMAT_RGB565: > + case DRM_FORMAT_BGR565: > case DRM_FORMAT_ARGB1555: > case DRM_FORMAT_XRGB1555: > + case DRM_FORMAT_ABGR1555: > + case DRM_FORMAT_XBGR1555: > + case DRM_FORMAT_RGBA5551: > + case DRM_FORMAT_RGBX5551: > + case DRM_FORMAT_BGRA5551: > + case DRM_FORMAT_BGRX5551: > return fill_tiles_rgb16(&info->rgb, planes[0], > width, height, stride); > + > case DRM_FORMAT_BGR888: > case DRM_FORMAT_RGB888: > return fill_tiles_rgb24(&info->rgb, planes[0], > width, height, stride); > case DRM_FORMAT_ARGB8888: > - case DRM_FORMAT_BGRA8888: > case DRM_FORMAT_XRGB8888: > + case DRM_FORMAT_ABGR8888: > + case DRM_FORMAT_XBGR8888: > + case DRM_FORMAT_RGBA8888: > + case DRM_FORMAT_RGBX8888: > + case DRM_FORMAT_BGRA8888: > case DRM_FORMAT_BGRX8888: > + case DRM_FORMAT_ARGB2101010: > + case DRM_FORMAT_XRGB2101010: > + case DRM_FORMAT_ABGR2101010: > + case DRM_FORMAT_XBGR2101010: > + case DRM_FORMAT_RGBA1010102: > + case DRM_FORMAT_RGBX1010102: > + case DRM_FORMAT_BGRA1010102: > + case DRM_FORMAT_BGRX1010102: > return fill_tiles_rgb32(&info->rgb, planes[0], > width, height, stride); > } > @@ -986,15 +1069,42 @@ create_test_buffer(struct kms_driver *kms, unsigned > int format, planes[2] = virtual + offsets[2]; > break; > > - case DRM_FORMAT_RGB565: > + case DRM_FORMAT_ARGB4444: > + case DRM_FORMAT_XRGB4444: > + case DRM_FORMAT_ABGR4444: > + case DRM_FORMAT_XBGR4444: > + case DRM_FORMAT_RGBA4444: > + case DRM_FORMAT_RGBX4444: > + case DRM_FORMAT_BGRA4444: > + case DRM_FORMAT_BGRX4444: > case DRM_FORMAT_ARGB1555: > case DRM_FORMAT_XRGB1555: > + case DRM_FORMAT_ABGR1555: > + case DRM_FORMAT_XBGR1555: > + case DRM_FORMAT_RGBA5551: > + case DRM_FORMAT_RGBX5551: > + case DRM_FORMAT_BGRA5551: > + case DRM_FORMAT_BGRX5551: > + case DRM_FORMAT_RGB565: > + case DRM_FORMAT_BGR565: > case DRM_FORMAT_BGR888: > case DRM_FORMAT_RGB888: > case DRM_FORMAT_ARGB8888: > - case DRM_FORMAT_BGRA8888: > case DRM_FORMAT_XRGB8888: > + case DRM_FORMAT_ABGR8888: > + case DRM_FORMAT_XBGR8888: > + case DRM_FORMAT_RGBA8888: > + case DRM_FORMAT_RGBX8888: > + case DRM_FORMAT_BGRA8888: > case DRM_FORMAT_BGRX8888: > + case DRM_FORMAT_ARGB2101010: > + case DRM_FORMAT_XRGB2101010: > + case DRM_FORMAT_ABGR2101010: > + case DRM_FORMAT_XBGR2101010: > + case DRM_FORMAT_RGBA1010102: > + case DRM_FORMAT_RGBX1010102: > + case DRM_FORMAT_BGRA1010102: > + case DRM_FORMAT_BGRX1010102: > offsets[0] = 0; > kms_bo_get_prop(bo, KMS_HANDLE, &handles[0]); > kms_bo_get_prop(bo, KMS_PITCH, &pitches[0]); -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel