Mesa (main): panfrost: Make pan_preload_emit_viewport() applicable to blits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri May 7 16:11:29 UTC 2021


Module: Mesa
Branch: main
Commit: db92509bf636f7facad030b637c692ddb0e9dfc4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=db92509bf636f7facad030b637c692ddb0e9dfc4

Author: Boris Brezillon <boris.brezillon at collabora.com>
Date:   Wed Apr 28 13:23:39 2021 +0200

panfrost: Make pan_preload_emit_viewport() applicable to blits

We will emit one viewport and attach it to several DCDs for multi-layer
blits. Make that possible by adjusting the prototype and rename the
function along the way.

Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10548>

---

 src/panfrost/lib/pan_blitter.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/panfrost/lib/pan_blitter.c b/src/panfrost/lib/pan_blitter.c
index 7ba559b2a41..20260a4c68b 100644
--- a/src/panfrost/lib/pan_blitter.c
+++ b/src/panfrost/lib/pan_blitter.c
@@ -879,10 +879,9 @@ pan_preload_emit_textures(struct pan_pool *pool,
                 draw->textures = pan_blitter_emit_midgard_textures(pool, tex_count, views);
 }
 
-static void
-pan_preload_emit_viewport(struct pan_pool *pool,
-                          const struct pan_fb_info *fb,
-                          struct MALI_DRAW *draw)
+static mali_ptr
+pan_blitter_emit_viewport(struct pan_pool *pool,
+                          const struct pan_fb_info *fb)
 {
         struct panfrost_ptr vp = panfrost_pool_alloc_desc(pool, VIEWPORT);
 
@@ -901,7 +900,7 @@ pan_preload_emit_viewport(struct pan_pool *pool,
                 }
         }
 
-        draw->viewport = vp.gpu;
+        return vp.gpu;
 }
 
 static void
@@ -919,7 +918,7 @@ pan_preload_emit_dcd(struct pan_pool *pool,
 
                 cfg.position = coordinates;
                 pan_preload_emit_varying(pool, coordinates, &cfg);
-                pan_preload_emit_viewport(pool, fb, &cfg);
+                cfg.viewport = pan_blitter_emit_viewport(pool, fb);
                 pan_preload_emit_textures(pool, fb, zs, &cfg);
 
                 if (pan_is_bifrost(pool->dev)) {



More information about the mesa-commit mailing list