ac/cmdbuf: add an assertion for COPY_DATA+PFP with registers

This shouldn't be used.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40341>
This commit is contained in:
Samuel Pitoiset 2026-03-20 10:01:49 +01:00 committed by Marge Bot
parent 42de2fc38e
commit dfbed0d016

View file

@ -245,8 +245,13 @@ ac_emit_cp_copy_data(struct ac_cmdbuf *cs, uint32_t src_sel, uint32_t dst_sel,
dword0 |= COPY_DATA_WR_CONFIRM; dword0 |= COPY_DATA_WR_CONFIRM;
if (flags & AC_CP_COPY_DATA_COUNT_SEL) if (flags & AC_CP_COPY_DATA_COUNT_SEL)
dword0 |= COPY_DATA_COUNT_SEL; dword0 |= COPY_DATA_COUNT_SEL;
if (flags & AC_CP_COPY_DATA_ENGINE_PFP) if (flags & AC_CP_COPY_DATA_ENGINE_PFP) {
/* COPY_DATA shouldn't set registers in PFP because that would execute
* out-of-order with SET register packets that are executed by ME.
*/
assert(src_sel != COPY_DATA_REG && dst_sel != COPY_DATA_REG);
dword0 |= COPY_DATA_ENGINE_PFP; dword0 |= COPY_DATA_ENGINE_PFP;
}
ac_cmdbuf_begin(cs); ac_cmdbuf_begin(cs);
ac_cmdbuf_emit(PKT3(PKT3_COPY_DATA, 4, predicate)); ac_cmdbuf_emit(PKT3(PKT3_COPY_DATA, 4, predicate));