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