Mesa (master): panfrost: Implement texture_barrier

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jul 13 14:04:07 UTC 2020


Module: Mesa
Branch: master
Commit: 391ad72812f582578db644ca2a9a0def5845360e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=391ad72812f582578db644ca2a9a0def5845360e

Author: Icecream95 <ixn at keemail.me>
Date:   Fri Jul 10 11:19:07 2020 +1200

panfrost: Implement texture_barrier

This is needed for KHR_blend_equation_advanced with a blend
barrier.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755>

---

 src/gallium/drivers/panfrost/pan_context.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c
index 0cf7b3e6e5c..27e2c35c611 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -274,6 +274,13 @@ panfrost_flush(
                 pandecode_next_frame();
 }
 
+static void
+panfrost_texture_barrier(struct pipe_context *pipe, unsigned flags)
+{
+        struct panfrost_context *ctx = pan_context(pipe);
+        panfrost_flush_all_batches(ctx, false);
+}
+
 #define DEFINE_CASE(c) case PIPE_PRIM_##c: return MALI_##c;
 
 static int
@@ -1443,6 +1450,7 @@ panfrost_create_context(struct pipe_screen *screen, void *priv, unsigned flags)
         gallium->flush = panfrost_flush;
         gallium->clear = panfrost_clear;
         gallium->draw_vbo = panfrost_draw_vbo;
+        gallium->texture_barrier = panfrost_texture_barrier;
 
         gallium->set_vertex_buffers = panfrost_set_vertex_buffers;
         gallium->set_constant_buffer = panfrost_set_constant_buffer;



More information about the mesa-commit mailing list