panfrost: Handle PIPE_FORMAT_S8_UINT
For wallpaper blits with separate stencil. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827>
This commit is contained in:
parent
4c89148834
commit
816af26f02
|
@ -141,6 +141,7 @@ struct panfrost_format panfrost_pipe_format_table[PIPE_FORMAT_COUNT] = {
|
|||
[PIPE_FORMAT_Z32_FLOAT] = { MALI_R32F, _TZ },
|
||||
[PIPE_FORMAT_Z32_FLOAT_S8X24_UINT] = { MALI_R32F, _TZ },
|
||||
[PIPE_FORMAT_X24S8_UINT] = { MALI_RGBA8UI, _TZ },
|
||||
[PIPE_FORMAT_S8_UINT] = { MALI_R8UI, _T },
|
||||
|
||||
[PIPE_FORMAT_R32_FIXED] = { MALI_R32_FIXED, _V },
|
||||
[PIPE_FORMAT_R32G32_FIXED] = { MALI_RG32_FIXED, _V },
|
||||
|
|
|
@ -241,12 +241,19 @@ panfrost_emit_texture_payload(
|
|||
}
|
||||
}
|
||||
|
||||
#define MALI_SWIZZLE_R001 \
|
||||
(MALI_CHANNEL_RED << 0) | \
|
||||
(MALI_CHANNEL_ZERO << 3) | \
|
||||
(MALI_CHANNEL_ZERO << 6) | \
|
||||
(MALI_CHANNEL_ONE << 9)
|
||||
|
||||
#define MALI_SWIZZLE_A001 \
|
||||
(MALI_CHANNEL_ALPHA << 0) | \
|
||||
(MALI_CHANNEL_ZERO << 3) | \
|
||||
(MALI_CHANNEL_ZERO << 6) | \
|
||||
(MALI_CHANNEL_ONE << 9)
|
||||
|
||||
|
||||
void
|
||||
panfrost_new_texture(
|
||||
void *out,
|
||||
|
@ -283,6 +290,8 @@ panfrost_new_texture(
|
|||
.format = {
|
||||
.swizzle = (format == PIPE_FORMAT_X24S8_UINT) ?
|
||||
MALI_SWIZZLE_A001 :
|
||||
(format == PIPE_FORMAT_S8_UINT) ?
|
||||
MALI_SWIZZLE_R001 :
|
||||
panfrost_translate_swizzle_4(desc->swizzle),
|
||||
.format = mali_format,
|
||||
.srgb = (desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB),
|
||||
|
|
Loading…
Reference in New Issue