panfrost: Split stack_shift nibble from unk0

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>
This commit is contained in:
Alyssa Rosenzweig 2019-12-09 08:41:33 -05:00
parent 6c6372770c
commit e6f8ef93ca
3 changed files with 5 additions and 2 deletions

View File

@ -149,7 +149,8 @@ panfrost_emit_mfbd(struct panfrost_batch *batch, unsigned vertex_count)
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),

View File

@ -1671,7 +1671,8 @@ struct bifrost_fb_extra {
#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;

View File

@ -1078,6 +1078,7 @@ pandecode_mfbd_bfr(uint64_t gpu_va, int job_no, bool is_fragment)
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)