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@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@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>
This commit is contained in:
Rob Clark 2020-01-13 11:36:19 -08:00 committed by Daniel Stone
parent 4cda61f11e
commit 1c6a2efa06
1 changed files with 4 additions and 0 deletions

View File

@ -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;