From 47351b843a8213e931bbd70cb6a2501b87cb525e Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Wed, 14 Dec 2016 10:05:44 +0100 Subject: [PATCH] nir/lower_tex: fix number of components in replace_gradient_with_lod() We should make the dest in the textureLod() operation have the same number of components as the destination in the original textureGrad() Fixes regression in ES3-CTS.gtf.GL3Tests.shadow Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99072 Reviewed-by: Kenneth Graunke --- src/compiler/nir/nir_lower_tex.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_lower_tex.c b/src/compiler/nir/nir_lower_tex.c index c67a8eda3f2..3e3ac8c2558 100644 --- a/src/compiler/nir/nir_lower_tex.c +++ b/src/compiler/nir/nir_lower_tex.c @@ -349,7 +349,8 @@ replace_gradient_with_lod(nir_builder *b, nir_ssa_def *lod, nir_tex_instr *tex) assert(src_num == num_srcs); - nir_ssa_dest_init(&txl->instr, &txl->dest, 4, 32, NULL); + nir_ssa_dest_init(&txl->instr, &txl->dest, + tex->dest.ssa.num_components, 32, NULL); nir_builder_instr_insert(b, &txl->instr); nir_ssa_def_rewrite_uses(&tex->dest.ssa, nir_src_for_ssa(&txl->dest.ssa)); -- 2.30.2