Mesa (master): mesa/st: lower samplers before nir_lower_tex

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jan 13 23:35:37 UTC 2020


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

Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Jan 13 11:36:19 2020 -0800

mesa/st: lower samplers before nir_lower_tex

Fixes incorrect lowering of YUV samplers when there are non-yuv
samplers.

Signed-off-by: Rob Clark <robdclark at chromium.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3368>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3368>

---

 src/mesa/state_tracker/st_program.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index ef10399fa18..d441ac777ab 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -1227,6 +1227,10 @@ st_create_fp_variant(struct st_context *st,
       if (unlikely(key->external.lower_nv12 || key->external.lower_iyuv ||
                    key->external.lower_xy_uxvx || key->external.lower_yx_xuxv ||
                    key->external.lower_ayuv || key->external.lower_xyuv)) {
+
+         st_nir_lower_samplers(pipe->screen, state.ir.nir,
+                               stfp->shader_program, &stfp->Base);
+
          nir_lower_tex_options options = {0};
          options.lower_y_uv_external = key->external.lower_nv12;
          options.lower_y_u_v_external = key->external.lower_iyuv;



More information about the mesa-commit mailing list