diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-03-09 00:45:23 +0000 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-03-12 02:37:42 +0000 |
commit | 587ad37e72d2a343b82a0c62c41c869d6825e14d (patch) | |
tree | cedcbf722a390c43cf592dc2f4b67d7f9c66f0a0 /src/gallium/drivers/panfrost/include | |
parent | e57ea53acf14ef8285e713f279b6c61d6b07a35d (diff) |
panfrost: Identify fragment_extra flags
The fragment_extra structure contains additional fields extending the
MRT framebuffer descriptor, snuck in between the main framebuffer
descriptor and the render targets. Its fields include those related to
transaction elimination and depth/stencil buffers. This patch identifies
the flags field (previously just "unk" with some magic values) as well
as identifying some (but not all) flags set by the driver.
The process of identifying flags brought a bug to light where
transaction elimination (checksumming) could not be enabled unless AFBC
was in-use. This issue is now resolved.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Tomeu Vizoso <[email protected]>
Diffstat (limited to 'src/gallium/drivers/panfrost/include')
-rw-r--r-- | src/gallium/drivers/panfrost/include/panfrost-job.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/drivers/panfrost/include/panfrost-job.h b/src/gallium/drivers/panfrost/include/panfrost-job.h index 28ba3f85ad4..85ef02d04e0 100644 --- a/src/gallium/drivers/panfrost/include/panfrost-job.h +++ b/src/gallium/drivers/panfrost/include/panfrost-job.h @@ -1419,12 +1419,19 @@ struct bifrost_render_target { * - TODO: Anything else? */ +/* Flags field: note, these are guesses */ + +#define MALI_EXTRA_PRESENT (0x400) +#define MALI_EXTRA_AFBC (0x20) +#define MALI_EXTRA_AFBC_ZS (0x10) +#define MALI_EXTRA_ZS (0x4) + struct bifrost_fb_extra { mali_ptr checksum; /* Each tile has an 8 byte checksum, so the stride is "width in tiles * 8" */ u32 checksum_stride; - u32 unk; + u32 flags; union { /* Note: AFBC is only allowed for 24/8 combined depth/stencil. */ |