pan/bi: Disallow FAU for CLPER in bi_check_fau_src
Previously this was allowing invalid forms like
"CLPER.i32.subgroup8.zero lane-id, src1" to reach bi_pack.
This fixes the assert that can be seen with
"dEQP-VK.glsl.derivate.dfdxsubgroup.*" but doesn't fix failures.
Fixes: 0acc6b564e ("pan/bi: Rework FAU lowering")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36006>
This commit is contained in:
committed by
Marge Bot
parent
48d716a05f
commit
db5ad8e3d2
@@ -2035,6 +2035,11 @@ bi_check_fau_src(bi_instr *ins, unsigned s, uint32_t *constants,
|
||||
assert(s < ins->nr_srcs);
|
||||
bi_index src = ins->src[s];
|
||||
|
||||
/* CLPER only support registers on source 0 */
|
||||
if (s == 0 &&
|
||||
(ins->op == BI_OPCODE_CLPER_OLD_I32 || ins->op == BI_OPCODE_CLPER_I32))
|
||||
return false;
|
||||
|
||||
/* Staging registers can't have FAU accesses */
|
||||
if (bi_is_staging_src(ins, s))
|
||||
return (src.type != BI_INDEX_CONSTANT) && (src.type != BI_INDEX_FAU);
|
||||
|
||||
Reference in New Issue
Block a user