diff --git a/src/gallium/include/pipe/p_format.h b/src/gallium/include/pipe/p_format.h index c15c5c8dbfe..3387d3091ab 100644 --- a/src/gallium/include/pipe/p_format.h +++ b/src/gallium/include/pipe/p_format.h @@ -295,6 +295,7 @@ enum pipe_format { PIPE_FORMAT_NV12, PIPE_FORMAT_NV21, + PIPE_FORMAT_Y8_400_UNORM, /* PIPE_FORMAT_Y8_U8_V8_420_UNORM = IYUV */ /* PIPE_FORMAT_Y8_U8V8_420_UNORM = NV12 */ PIPE_FORMAT_Y8_U8_V8_422_UNORM, @@ -635,6 +636,8 @@ pipe_format_to_chroma_format(enum pipe_format format) case PIPE_FORMAT_Y8_U8_V8_444_UNORM: case PIPE_FORMAT_Y16_U16_V16_444_UNORM: return PIPE_VIDEO_CHROMA_FORMAT_444; + case PIPE_FORMAT_Y8_400_UNORM: + return PIPE_VIDEO_CHROMA_FORMAT_400; default: return PIPE_VIDEO_CHROMA_FORMAT_NONE; } diff --git a/src/util/format/u_format.csv b/src/util/format/u_format.csv index ef85be4ae38..689399ebaa1 100644 --- a/src/util/format/u_format.csv +++ b/src/util/format/u_format.csv @@ -397,6 +397,7 @@ PIPE_FORMAT_YV16 , planar3, 1, 1, 1, , , , , xy PIPE_FORMAT_IYUV , planar3, 1, 1, 1, , , , , xyzw, yuv PIPE_FORMAT_NV12 , planar2, 1, 1, 1, , , , , xyzw, yuv PIPE_FORMAT_NV21 , planar2, 1, 1, 1, , , , , xyzw, yuv +PIPE_FORMAT_Y8_400_UNORM , other , 1, 1, 1, un8, , , , x001, yuv # RGB version of NV12 and YV12 for hardware that supports sampling from # multiplane textures but needs color-space conversion in the shader. diff --git a/src/util/format/u_format.h b/src/util/format/u_format.h index 6946c598bda..643704b890c 100644 --- a/src/util/format/u_format.h +++ b/src/util/format/u_format.h @@ -1377,6 +1377,7 @@ util_format_get_plane_format(enum pipe_format format, unsigned plane) case PIPE_FORMAT_IYUV: case PIPE_FORMAT_Y8_U8_V8_422_UNORM: case PIPE_FORMAT_Y8_U8_V8_444_UNORM: + case PIPE_FORMAT_Y8_400_UNORM: return PIPE_FORMAT_R8_UNORM; case PIPE_FORMAT_NV12: case PIPE_FORMAT_Y8_U8V8_422_UNORM: diff --git a/src/util/format/u_format_table.py b/src/util/format/u_format_table.py index 5adbb9f9594..36992ccd1d3 100644 --- a/src/util/format/u_format_table.py +++ b/src/util/format/u_format_table.py @@ -101,6 +101,7 @@ def has_access(format): 'r8g8_r8b8_unorm', 'g8r8_b8r8_unorm', 'g8r8_g8b8_unorm', + 'y8_400_unorm', 'y8_u8_v8_422_unorm', 'y8_u8v8_422_unorm', 'y8_u8_v8_444_unorm',