freedreno/ir3: Don't lower s2en if samp/tex is too large

We only have four bits to encode an immediate samp/tex.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13353>
This commit is contained in:
Rob Clark 2021-10-13 14:14:29 -07:00 committed by Marge Bot
parent bfd8b7c930
commit 5b6e5db5d0

View file

@ -621,7 +621,8 @@ instr_cp(struct ir3_cp_ctx *ctx, struct ir3_instruction *instr)
struct ir3_register *samp = samp_tex->srcs[0];
struct ir3_register *tex = samp_tex->srcs[1];
if ((samp->flags & IR3_REG_IMMED) && (tex->flags & IR3_REG_IMMED)) {
if ((samp->flags & IR3_REG_IMMED) && (tex->flags & IR3_REG_IMMED) &&
(samp->iim_val < 16) && (tex->iim_val < 16)) {
instr->flags &= ~IR3_INSTR_S2EN;
instr->cat5.samp = samp->iim_val;
instr->cat5.tex = tex->iim_val;