mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 06:58:05 +02:00
pan/afrc: Add v14+ AFRC YUV compression mappings
v14+ no longer uses specific AFRC compression formats for YUV. Instead, generic R8/R8G8 and R10/R10G10 formats are used. Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
This commit is contained in:
parent
3c70f841f3
commit
f89d31e1ba
1 changed files with 21 additions and 0 deletions
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (C) 2023 Collabora, Ltd.
|
||||
* Copyright (C) 2026 Arm Ltd.
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
|
|
@ -347,6 +348,25 @@ pan_afrc_format(struct pan_afrc_format_info info, uint64_t modifier,
|
|||
return (scan ? MALI_AFRC_FORMAT_R10G10B10A10_SCAN
|
||||
: MALI_AFRC_FORMAT_R10G10B10A10_ROT);
|
||||
|
||||
#if PAN_ARCH >= 14
|
||||
case PAN_AFRC_ICHANGE_FORMAT_YUV444:
|
||||
case PAN_AFRC_ICHANGE_FORMAT_YUV422:
|
||||
case PAN_AFRC_ICHANGE_FORMAT_YUV420:
|
||||
if (info.bpc == 8) {
|
||||
if (plane == 0 || info.num_planes == 3)
|
||||
return (scan ? MALI_AFRC_FORMAT_R8_SCAN : MALI_AFRC_FORMAT_R8_ROT);
|
||||
|
||||
return (scan ? MALI_AFRC_FORMAT_R8G8_SCAN : MALI_AFRC_FORMAT_R8G8_ROT);
|
||||
}
|
||||
|
||||
if (plane == 0 || info.num_planes == 3)
|
||||
return (scan ? MALI_AFRC_FORMAT_R10_SCAN : MALI_AFRC_FORMAT_R10_ROT);
|
||||
|
||||
assert(info.ichange_fmt == PAN_AFRC_ICHANGE_FORMAT_YUV422 ||
|
||||
info.ichange_fmt == PAN_AFRC_ICHANGE_FORMAT_YUV420);
|
||||
return (scan ? MALI_AFRC_FORMAT_R10G10_SCAN
|
||||
: MALI_AFRC_FORMAT_R10G10_ROT);
|
||||
#else
|
||||
case PAN_AFRC_ICHANGE_FORMAT_YUV444:
|
||||
if (info.bpc == 8) {
|
||||
if (plane == 0 || info.num_planes == 3)
|
||||
|
|
@ -394,6 +414,7 @@ pan_afrc_format(struct pan_afrc_format_info info, uint64_t modifier,
|
|||
|
||||
return (scan ? MALI_AFRC_FORMAT_R10G10_420_SCAN
|
||||
: MALI_AFRC_FORMAT_R10G10_420_ROT);
|
||||
#endif /* PAN_ARCH >= 14 */
|
||||
|
||||
default:
|
||||
return MALI_AFRC_FORMAT_INVALID;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue