Mesa (master): st/mesa: lower images when needed

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 18 15:39:52 UTC 2020


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

Author: Karol Herbst <kherbst at redhat.com>
Date:   Mon Jun 15 15:14:58 2020 +0200

st/mesa: lower images when needed

The "st/pbo download FS" builtin shader uses image derefs, so even with
PIPE_CAP_NIR_IMAGES_AS_DEREF set to 0 drivers ended up with those.

Signed-off-by: Karol Herbst <kherbst at redhat.com>
Reviewed-by: Gert Wollny <gert.wollny at collabora.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5480>

---

 src/mesa/state_tracker/st_nir_builtins.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/mesa/state_tracker/st_nir_builtins.c b/src/mesa/state_tracker/st_nir_builtins.c
index 52e68d3f69c..77ec8725ff7 100644
--- a/src/mesa/state_tracker/st_nir_builtins.c
+++ b/src/mesa/state_tracker/st_nir_builtins.c
@@ -24,6 +24,7 @@
 #include "st_nir.h"
 
 #include "compiler/nir/nir_builder.h"
+#include "compiler/glsl/gl_nir.h"
 
 struct pipe_shader_state *
 st_nir_finish_builtin_shader(struct st_context *st,
@@ -58,6 +59,8 @@ st_nir_finish_builtin_shader(struct st_context *st,
 
    st_nir_lower_samplers(screen, nir, NULL, NULL);
    st_nir_lower_uniforms(st, nir);
+   if (!screen->get_param(screen, PIPE_CAP_NIR_IMAGES_AS_DEREF))
+      NIR_PASS_V(nir, gl_nir_lower_images, false);
 
    if (screen->finalize_nir)
       screen->finalize_nir(screen, nir, true);



More information about the mesa-commit mailing list