r600/sfn: use only as many components as needed for tex backend coord
Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20141>
This commit is contained in:
@@ -1162,14 +1162,16 @@ LowerTexToBackend::finalize(nir_tex_instr *tex,
|
|||||||
nir_ssa_def *
|
nir_ssa_def *
|
||||||
LowerTexToBackend::prep_src(std::array<nir_ssa_def *, 4>& coord, int& used_coord_mask)
|
LowerTexToBackend::prep_src(std::array<nir_ssa_def *, 4>& coord, int& used_coord_mask)
|
||||||
{
|
{
|
||||||
|
int max_coord = 0;
|
||||||
for (int i = 0; i < 4; ++i) {
|
for (int i = 0; i < 4; ++i) {
|
||||||
if (coord[i])
|
if (coord[i]) {
|
||||||
used_coord_mask |= 1 << i;
|
used_coord_mask |= 1 << i;
|
||||||
else
|
max_coord = i;
|
||||||
|
} else
|
||||||
coord[i] = get_undef();
|
coord[i] = get_undef();
|
||||||
}
|
}
|
||||||
|
|
||||||
return nir_vec(b, coord.data(), 4);
|
return nir_vec(b, coord.data(), max_coord + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
nir_ssa_def *
|
nir_ssa_def *
|
||||||
|
|||||||
Reference in New Issue
Block a user