aboutsummaryrefslogtreecommitdiffstats
path: root/src/panfrost/include
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-02-10 08:47:09 -0500
committerAlyssa Rosenzweig <[email protected]>2020-02-16 09:16:46 -0500
commit6dc105555b43695e1de49baf946c6179987f2f4a (patch)
tree0da37f93032eb10a88a7e65d243e15a8301f4efd /src/panfrost/include
parent254f40fd535ef57dee2bcc4afd97840749ce5918 (diff)
panfrost: Unify bifrost_scratchpad with mali_shared_memory
It looks like these are the same structure, so this allows us to reuse mali_shared_memory across architectures, and dispels with the Bifrost-specific mystery of the scratchpads... nothing so mysterious after all, just stack. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3835>
Diffstat (limited to 'src/panfrost/include')
-rw-r--r--src/panfrost/include/panfrost-job.h20
1 files changed, 4 insertions, 16 deletions
diff --git a/src/panfrost/include/panfrost-job.h b/src/panfrost/include/panfrost-job.h
index 8027abebf34..d0d56810ecc 100644
--- a/src/panfrost/include/panfrost-job.h
+++ b/src/panfrost/include/panfrost-job.h
@@ -1056,17 +1056,6 @@ struct bifrost_tiler_only {
u64 zero8;
} __attribute__((packed));
-struct bifrost_scratchpad {
- u32 zero;
- u32 flags; // = 0x1f
- /* This is a pointer to a CPU-inaccessible buffer, 16 pages, allocated
- * during startup. It seems to serve the same purpose as the
- * gpu_scratchpad in the SFBD for Midgard, although it's slightly
- * larger.
- */
- mali_ptr gpu_scratchpad;
-} __attribute__((packed));
-
struct mali_vertex_tiler_postfix {
/* Zero for vertex jobs. Pointer to the position (gl_Position) varying
* output from the vertex shader for tiler jobs.
@@ -1100,11 +1089,10 @@ struct mali_vertex_tiler_postfix {
u64 viewport;
u64 occlusion_counter; /* A single bit as far as I can tell */
- /* Note: on Bifrost, this isn't actually the FBD. It points to
- * bifrost_scratchpad instead. However, it does point to the same thing
- * in vertex and tiler jobs.
- */
- mali_ptr framebuffer;
+ /* On Bifrost, this points directly to a mali_shared_memory structure.
+ * On Midgard, this points to a framebuffer (either SFBD or MFBD as
+ * tagged), which embeds a mali_shared_memory structure */
+ mali_ptr shared_memory;
} __attribute__((packed));
struct midgard_payload_vertex_tiler {