drm/msm: Revert "drm/msm/sde: fix color component order"

This reverts commit <c3e05abca5fabd7580be1378c5165a8b8f523f98>
(<drm/msm/sde: fix color component order>).

Color component order is specific to the rendering framework as well.
This change reverts the commit mentioned above to take other
frameworks into account which have different endianness.

Change-Id: Ic3135d5742dd4cf999f2d7271fc56ee46c74a353
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
This commit is contained in:
Abhinav Kumar 2017-02-23 16:51:31 -08:00
parent d72462d943
commit ccf767c2fe

View file

@ -102,169 +102,169 @@ flg, fm, np) \
static const struct sde_format sde_format_map[] = { static const struct sde_format sde_format_map[] = {
INTERLEAVED_RGB_FMT(ARGB8888, INTERLEAVED_RGB_FMT(ARGB8888,
COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4,
true, 4, 0, true, 4, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(ABGR8888, INTERLEAVED_RGB_FMT(ABGR8888,
COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4,
true, 4, 0, true, 4, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(XBGR8888, INTERLEAVED_RGB_FMT(XBGR8888,
COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4,
true, 4, 0, true, 4, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(RGBA8888, INTERLEAVED_RGB_FMT(RGBA8888,
COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4,
true, 4, 0, true, 4, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(BGRA8888, INTERLEAVED_RGB_FMT(BGRA8888,
COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4,
true, 4, 0, true, 4, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(BGRX8888, INTERLEAVED_RGB_FMT(BGRX8888,
COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4,
false, 4, 0, false, 4, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(XRGB8888, INTERLEAVED_RGB_FMT(XRGB8888,
COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4,
false, 4, 0, false, 4, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(RGBX8888, INTERLEAVED_RGB_FMT(RGBX8888,
COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4,
false, 4, 0, false, 4, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(RGB888, INTERLEAVED_RGB_FMT(RGB888,
0, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, 0, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3, C1_B_Cb, C0_G_Y, C2_R_Cr, 0, 3,
false, 3, 0, false, 3, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(BGR888, INTERLEAVED_RGB_FMT(BGR888,
0, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, 0, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C1_B_Cb, C0_G_Y, C2_R_Cr, 0, 3, C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3,
false, 3, 0, false, 3, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(RGB565, INTERLEAVED_RGB_FMT(RGB565,
0, COLOR_5BIT, COLOR_6BIT, COLOR_5BIT, 0, COLOR_5BIT, COLOR_6BIT, COLOR_5BIT,
C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3, C1_B_Cb, C0_G_Y, C2_R_Cr, 0, 3,
false, 2, 0, false, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(BGR565, INTERLEAVED_RGB_FMT(BGR565,
0, COLOR_5BIT, COLOR_6BIT, COLOR_5BIT, 0, COLOR_5BIT, COLOR_6BIT, COLOR_5BIT,
C1_B_Cb, C0_G_Y, C2_R_Cr, 0, 3, C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3,
false, 2, 0, false, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(ARGB1555, INTERLEAVED_RGB_FMT(ARGB1555,
COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT, COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT,
C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4,
true, 2, 0, true, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(ABGR1555, INTERLEAVED_RGB_FMT(ABGR1555,
COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT, COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT,
C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4,
true, 2, 0, true, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(RGBA5551, INTERLEAVED_RGB_FMT(RGBA5551,
COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT, COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT,
C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4,
true, 2, 0, true, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(BGRA5551, INTERLEAVED_RGB_FMT(BGRA5551,
COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT, COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT,
C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4,
true, 2, 0, true, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(XRGB1555, INTERLEAVED_RGB_FMT(XRGB1555,
COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT, COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT,
C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4,
false, 2, 0, false, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(XBGR1555, INTERLEAVED_RGB_FMT(XBGR1555,
COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT, COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT,
C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4,
false, 2, 0, false, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(RGBX5551, INTERLEAVED_RGB_FMT(RGBX5551,
COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT, COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT,
C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4,
false, 2, 0, false, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(BGRX5551, INTERLEAVED_RGB_FMT(BGRX5551,
COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT, COLOR_ALPHA_1BIT, COLOR_5BIT, COLOR_5BIT, COLOR_5BIT,
C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4,
false, 2, 0, false, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(ARGB4444, INTERLEAVED_RGB_FMT(ARGB4444,
COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT,
C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4,
true, 2, 0, true, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(ABGR4444, INTERLEAVED_RGB_FMT(ABGR4444,
COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT,
C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4,
true, 2, 0, true, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(RGBA4444, INTERLEAVED_RGB_FMT(RGBA4444,
COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT,
C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4,
true, 2, 0, true, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(BGRA4444, INTERLEAVED_RGB_FMT(BGRA4444,
COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT,
C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4,
true, 2, 0, true, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(XRGB4444, INTERLEAVED_RGB_FMT(XRGB4444,
COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT,
C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4,
false, 2, 0, false, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(XBGR4444, INTERLEAVED_RGB_FMT(XBGR4444,
COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT,
C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4,
false, 2, 0, false, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(RGBX4444, INTERLEAVED_RGB_FMT(RGBX4444,
COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT,
C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4,
false, 2, 0, false, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
INTERLEAVED_RGB_FMT(BGRX4444, INTERLEAVED_RGB_FMT(BGRX4444,
COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_ALPHA_4BIT, COLOR_4BIT, COLOR_4BIT, COLOR_4BIT,
C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4,
false, 2, 0, false, 2, 0,
SDE_FETCH_LINEAR, 1), SDE_FETCH_LINEAR, 1),
@ -366,13 +366,13 @@ static const struct sde_format sde_format_map[] = {
PLANAR_YUV_FMT(YUV420, PLANAR_YUV_FMT(YUV420,
0, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, 0, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C0_G_Y, C1_B_Cb, C2_R_Cr, C2_R_Cr, C1_B_Cb, C0_G_Y,
false, SDE_CHROMA_420, 1, SDE_FORMAT_FLAG_YUV, false, SDE_CHROMA_420, 1, SDE_FORMAT_FLAG_YUV,
SDE_FETCH_LINEAR, 3), SDE_FETCH_LINEAR, 3),
PLANAR_YUV_FMT(YVU420, PLANAR_YUV_FMT(YVU420,
0, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, 0, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C0_G_Y, C2_R_Cr, C1_B_Cb, C1_B_Cb, C2_R_Cr, C0_G_Y,
false, SDE_CHROMA_420, 1, SDE_FORMAT_FLAG_YUV, false, SDE_CHROMA_420, 1, SDE_FORMAT_FLAG_YUV,
SDE_FETCH_LINEAR, 3), SDE_FETCH_LINEAR, 3),
}; };
@ -384,19 +384,19 @@ static const struct sde_format sde_format_map[] = {
* the data will be passed by user-space. * the data will be passed by user-space.
*/ */
static const struct sde_format sde_format_map_ubwc[] = { static const struct sde_format sde_format_map_ubwc[] = {
INTERLEAVED_RGB_FMT(RGB565, INTERLEAVED_RGB_FMT(BGR565,
0, COLOR_5BIT, COLOR_6BIT, COLOR_5BIT, 0, COLOR_5BIT, COLOR_6BIT, COLOR_5BIT,
C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3, C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3,
false, 2, 0, false, 2, 0,
SDE_FETCH_UBWC, 2), SDE_FETCH_UBWC, 2),
INTERLEAVED_RGB_FMT(RGBA8888, INTERLEAVED_RGB_FMT(ABGR8888,
COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4,
true, 4, 0, true, 4, 0,
SDE_FETCH_UBWC, 2), SDE_FETCH_UBWC, 2),
INTERLEAVED_RGB_FMT(RGBX8888, INTERLEAVED_RGB_FMT(XBGR8888,
COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT, COLOR_8BIT,
C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4,
false, 4, 0, false, 4, 0,
@ -513,14 +513,15 @@ static int _sde_format_get_plane_sizes_ubwc(
ALIGN(DIV_ROUND_UP(height / 2, uv_tile_height), 16), ALIGN(DIV_ROUND_UP(height / 2, uv_tile_height), 16),
4096); 4096);
} else if (fmt->base.pixel_format == DRM_FORMAT_RGBA8888 || } else if (fmt->base.pixel_format == DRM_FORMAT_ABGR8888 ||
fmt->base.pixel_format == DRM_FORMAT_RGBX8888 || fmt->base.pixel_format == DRM_FORMAT_XBGR8888 ||
fmt->base.pixel_format == DRM_FORMAT_RGBA1010102 || fmt->base.pixel_format == DRM_FORMAT_BGRA1010102 ||
fmt->base.pixel_format == DRM_FORMAT_RGBX1010102 || fmt->base.pixel_format == DRM_FORMAT_BGRX1010102 ||
fmt->base.pixel_format == DRM_FORMAT_RGB565) { fmt->base.pixel_format == DRM_FORMAT_BGR565) {
uint32_t stride_alignment, aligned_bitstream_width; uint32_t stride_alignment, aligned_bitstream_width;
if (fmt->base.pixel_format == DRM_FORMAT_RGB565) if (fmt->base.pixel_format == DRM_FORMAT_BGR565)
stride_alignment = 128; stride_alignment = 128;
else else
stride_alignment = 64; stride_alignment = 64;