fb.format.unk2 |= MALI_SFBD_FORMAT_MSAA_B;
}
- return panfrost_upload_transient(batch, &fb, sizeof(fb)) | MALI_SFBD;
+ return panfrost_upload_transient(batch, &fb, sizeof(fb));
}
int32_t src_offset;
} __attribute__((packed));
-enum mali_fbd_type {
- MALI_SFBD = 0,
- MALI_MFBD = 1,
-};
-
-#define FBD_TYPE (1)
#define FBD_MASK (~0x3f)
+/* MFBD, rather than SFBD */
+#define MALI_MFBD (0x1)
+
/* ORed into an MFBD address to specify the fbx section is included */
#define MALI_MFBD_TAG_EXTRA (0x2)
};
if (is_bifrost)
- pandecode_scratchpad(p->framebuffer & ~FBD_TYPE, job_no, suffix);
+ pandecode_scratchpad(p->framebuffer & ~1, job_no, suffix);
else if (p->framebuffer & MALI_MFBD)
fbd_info = pandecode_mfbd_bfr((u64) ((uintptr_t) p->framebuffer) & FBD_MASK, job_no, false);
else if (job_type == JOB_TYPE_COMPUTE)
{
const struct mali_payload_fragment *PANDECODE_PTR_VAR(s, mem, payload);
- bool is_mfbd = (s->framebuffer & FBD_TYPE) == MALI_MFBD;
+ bool is_mfbd = s->framebuffer & MALI_MFBD;
/* Bifrost theoretically may retain support for SFBD on compute jobs,
* but for graphics workloads with a FRAGMENT payload, use MFBD */
* additional structures follow the MFBD header (an extra payload or
* not, as well as a count of render targets) */
- unsigned expected_tag = is_mfbd ? MALI_MFBD : MALI_SFBD;
+ unsigned expected_tag = is_mfbd ? MALI_MFBD : 0;
if (is_mfbd) {
if (info.has_extra)