Mesa (master): llvmpipe: flush resources on sampler view binding

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jul 10 22:23:55 UTC 2020


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Apr 23 12:32:53 2020 +1000

llvmpipe: flush resources on sampler view binding

The resource may have been written to as images previously.

KHR-GL45.shader_image_load_store.advanced-sync-imageAccess2

Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5835>

---

 src/gallium/drivers/llvmpipe/lp_state_sampler.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/drivers/llvmpipe/lp_state_sampler.c b/src/gallium/drivers/llvmpipe/lp_state_sampler.c
index 5bebc10ea21..f802af45f5a 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_sampler.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_sampler.c
@@ -39,6 +39,7 @@
 #include "lp_state.h"
 #include "lp_debug.h"
 #include "frontend/sw_winsys.h"
+#include "lp_flush.h"
 
 
 static void *
@@ -137,6 +138,9 @@ llvmpipe_set_sampler_views(struct pipe_context *pipe,
          debug_printf("Illegal setting of sampler_view %d created in another "
                       "context\n", i);
       }
+
+      if (views[i])
+         llvmpipe_flush_resource(pipe, views[i]->texture, 0, true, false, false, "sampler_view");
       pipe_sampler_view_reference(&llvmpipe->sampler_views[shader][start + i],
                                   views[i]);
    }



More information about the mesa-commit mailing list