It's conceptually independent from the upper part (which is not yet
understood, but for spilling generally remains equal to 0x1e).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
unsigned height = batch->key.height;
struct bifrost_framebuffer framebuffer = {
- .unk0 = 0x1e5, /* 1e4 if no spill */
+ .stack_shift = 0x5,
+ .unk0 = 0x1e,
.width1 = MALI_POSITIVE(width),
.height1 = MALI_POSITIVE(height),
.width2 = MALI_POSITIVE(width),
#define MALI_MFBD_EXTRA (1 << 13)
struct bifrost_framebuffer {
- u32 unk0; // = 0x10
+ u32 stack_shift : 4;
+ u32 unk0 : 28;
u32 unknown2; // = 0x1f, same as SFBD
mali_ptr scratchpad;
pandecode_log("struct bifrost_framebuffer framebuffer_%"PRIx64"_%d = {\n", gpu_va, job_no);
pandecode_indent++;
+ pandecode_prop("stack_shift = 0x%x", fb->stack_shift);
pandecode_prop("unk0 = 0x%x", fb->unk0);
if (fb->sample_locations)