On Bifrost traces, we can observe that this bit is always enabled.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832>
static struct mali_rt_format
panfrost_mfbd_format(struct pipe_surface *surf)
{
+ struct panfrost_device *dev = pan_device(surf->context->screen);
+ bool is_bifrost = dev->quirks & IS_BIFROST;
+
/* Explode details on the format */
const struct util_format_description *desc =
.unk2 = 0x1,
.nr_channels = MALI_POSITIVE(desc->nr_channels),
.unk3 = 0x4,
+ .unk4 = is_bifrost,
.flags = 0x8,
.swizzle = panfrost_translate_swizzle_4(swizzle),
.no_preload = true
unsigned nr_channels : 2; /* MALI_POSITIVE */
- unsigned unk3 : 5;
+ unsigned unk3 : 4;
+ unsigned unk4 : 1;
enum mali_block_format block : 2;
unsigned flags : 4;
pandecode_prop("unk1 = 0x%" PRIx32, format.unk1);
pandecode_prop("unk2 = 0x%" PRIx32, format.unk2);
pandecode_prop("unk3 = 0x%" PRIx32, format.unk3);
+ pandecode_prop("unk4 = 0x%" PRIx32, format.unk4);
pandecode_prop("block = %s", pandecode_block_format(format.block));