mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-16 19:48:20 +02:00
ir3: Properly validate pcopy reg sizes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12033>
This commit is contained in:
parent
dd4e2f507a
commit
cca2e0fc14
1 changed files with 11 additions and 0 deletions
|
|
@ -185,6 +185,10 @@ validate_instr(struct ir3_validate_ctx *ctx, struct ir3_instruction *instr)
|
|||
/* handled below */
|
||||
} else if (opc_cat(instr->opc) == 0) {
|
||||
/* end/chmask/etc are allowed to have different size sources */
|
||||
} else if (instr->opc == OPC_META_PARALLEL_COPY) {
|
||||
/* pcopy sources have to match with their destination but can have
|
||||
* different size.
|
||||
*/
|
||||
} else if (n > 0) {
|
||||
validate_assert(ctx, (last_reg->flags & IR3_REG_HALF) ==
|
||||
(reg->flags & IR3_REG_HALF));
|
||||
|
|
@ -322,6 +326,13 @@ validate_instr(struct ir3_validate_ctx *ctx, struct ir3_instruction *instr)
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (instr->opc == OPC_META_PARALLEL_COPY) {
|
||||
foreach_src_n (src, n, instr) {
|
||||
validate_assert(ctx, reg_class_flags(src) ==
|
||||
reg_class_flags(instr->dsts[n]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue