mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 22:38:05 +02:00
panfrost: Implement YTR availability check
Depends on format. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Tested-by: Icecream95 <ixn@keemail.me> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6159>
This commit is contained in:
parent
acb8dcfebd
commit
d285ea6467
2 changed files with 19 additions and 0 deletions
|
|
@ -128,3 +128,19 @@ panfrost_afbc_header_size(unsigned width, unsigned height)
|
|||
return ALIGN_POT(header_bytes, AFBC_CACHE_ALIGN);
|
||||
|
||||
}
|
||||
|
||||
/* The lossless colour transform (AFBC_FORMAT_MOD_YTR) requires RGB. */
|
||||
|
||||
bool
|
||||
panfrost_afbc_can_ytr(enum pipe_format format)
|
||||
{
|
||||
const struct util_format_description *desc =
|
||||
util_format_description(format);
|
||||
|
||||
/* YTR is only defined for RGB(A) */
|
||||
if (desc->nr_channels != 3 && desc->nr_channels != 4)
|
||||
return false;
|
||||
|
||||
/* The fourth channel if it exists doesn't matter */
|
||||
return desc->colorspace == UTIL_FORMAT_COLORSPACE_RGB;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,6 +85,9 @@ panfrost_format_supports_afbc(enum pipe_format format);
|
|||
unsigned
|
||||
panfrost_afbc_header_size(unsigned width, unsigned height);
|
||||
|
||||
bool
|
||||
panfrost_afbc_can_ytr(enum pipe_format format);
|
||||
|
||||
/* mali_texture_descriptor */
|
||||
|
||||
unsigned
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue