radv: fix clearing of TRUNC_COORD with tg4 and immutable samplers

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Fixes: 15640e58d9 ("radv,aco: lower texture descriptor loads in NIR")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16148>
(cherry picked from commit f97d82c52b)
This commit is contained in:
Rhys Perry 2022-04-25 19:42:30 +01:00 committed by Dylan Baker
parent 3dd54edd12
commit 8939224350
2 changed files with 3 additions and 2 deletions

View file

@ -265,7 +265,7 @@
"description": "radv: fix clearing of TRUNC_COORD with tg4 and immutable samplers",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "15640e58d96c5db0cd78769a06b6b204dcd60799"
},

View file

@ -251,8 +251,9 @@ get_sampler_desc(nir_builder *b, apply_layout_state *state, nir_deref_instr *der
}
}
uint32_t dword0_mask = tex->op == nir_texop_tg4 ? C_008F30_TRUNC_COORD : 0xffffffffu;
const uint32_t *samplers = radv_immutable_samplers(layout, binding);
return nir_imm_ivec4(b, samplers[constant_index * 4 + 0], samplers[constant_index * 4 + 1],
return nir_imm_ivec4(b, samplers[constant_index * 4 + 0] & dword0_mask, samplers[constant_index * 4 + 1],
samplers[constant_index * 4 + 2], samplers[constant_index * 4 + 3]);
}