From: Icecream95 Date: Thu, 9 Jul 2020 23:19:07 +0000 (+1200) Subject: panfrost: Implement texture_barrier X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=391ad72812f582578db644ca2a9a0def5845360e;p=mesa.git panfrost: Implement texture_barrier This is needed for KHR_blend_equation_advanced with a blend barrier. Reviewed-by: Alyssa Rosenzweig Part-of: --- 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;