X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=blobdiff_plain;f=src%2Futil%2Fformat%2Fu_format.h;h=f13dc9fc0d8d40f8270ba31c79a84fd30ad5a4cc;hp=1b6f0b882893a316bbcdf01fbc1196a41a1decf4;hb=cf9926714783efa4524ca2afd62a9817dcbccf06;hpb=d491b0dfd97c27b245ad0ed0e7356377f25ebe67 diff --git a/src/util/format/u_format.h b/src/util/format/u_format.h index 1b6f0b88289..f13dc9fc0d8 100644 --- a/src/util/format/u_format.h +++ b/src/util/format/u_format.h @@ -1336,13 +1336,21 @@ util_format_get_plane_format(enum pipe_format format, unsigned plane) case PIPE_FORMAT_YV12: case PIPE_FORMAT_YV16: case PIPE_FORMAT_IYUV: + case PIPE_FORMAT_Y8_U8_V8_422_UNORM: + case PIPE_FORMAT_Y8_U8_V8_444_UNORM: return PIPE_FORMAT_R8_UNORM; case PIPE_FORMAT_NV12: + case PIPE_FORMAT_Y8_U8V8_422_UNORM: return !plane ? PIPE_FORMAT_R8_UNORM : PIPE_FORMAT_RG88_UNORM; case PIPE_FORMAT_NV21: return !plane ? PIPE_FORMAT_R8_UNORM : PIPE_FORMAT_GR88_UNORM; + case PIPE_FORMAT_Y16_U16_V16_420_UNORM: + case PIPE_FORMAT_Y16_U16_V16_422_UNORM: + case PIPE_FORMAT_Y16_U16_V16_444_UNORM: + return PIPE_FORMAT_R16_UNORM; case PIPE_FORMAT_P010: case PIPE_FORMAT_P016: + case PIPE_FORMAT_Y16_U16V16_422_UNORM: return !plane ? PIPE_FORMAT_R16_UNORM : PIPE_FORMAT_R16G16_UNORM; default: return format; @@ -1361,6 +1369,11 @@ util_format_get_plane_width(enum pipe_format format, unsigned plane, case PIPE_FORMAT_NV21: case PIPE_FORMAT_P010: case PIPE_FORMAT_P016: + case PIPE_FORMAT_Y8_U8_V8_422_UNORM: + case PIPE_FORMAT_Y8_U8V8_422_UNORM: + case PIPE_FORMAT_Y16_U16_V16_420_UNORM: + case PIPE_FORMAT_Y16_U16_V16_422_UNORM: + case PIPE_FORMAT_Y16_U16V16_422_UNORM: return !plane ? width : (width + 1) / 2; default: return width; @@ -1378,6 +1391,7 @@ util_format_get_plane_height(enum pipe_format format, unsigned plane, case PIPE_FORMAT_NV21: case PIPE_FORMAT_P010: case PIPE_FORMAT_P016: + case PIPE_FORMAT_Y16_U16_V16_420_UNORM: return !plane ? height : (height + 1) / 2; case PIPE_FORMAT_YV16: default: