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 <kenneth@whitecape.org>
This commit is contained in:
Iago Toral Quiroga
2016-12-14 10:05:44 +01:00
parent a5502a721f
commit 47351b843a

View File

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