Got a error state on DG2 with a jump to secondary. The secondary is empty and padded with MI_NOOPs to workaround the CS prefetching. According to the error state, the return jump address from the secondary to the primary is 0x0. The ACTHD register value is 0x10, so it seems that the command streamer indeed jumped to 0x0 and hanged on a few dwords after that. The return address should have been set edited by a previous MI_STORE_DATA_IMM instruction. So it appears it did not complete in time for the command stream to catch it. On Gfx12+ this can happend if we do not set ForceWriteCompletionCheck. This change also takes the opportunity to remove the padding MI_NOOPs at the end of secondaries on Gfx12+ by using disabling the prefetching just before jumping into secondaries and reenabling it at the beginning of each secondary. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: mesa-stable Reviewed-by: Ivan Briano <ivan.briano@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26665> |
||
|---|---|---|
| .. | ||
| blorp | ||
| ci | ||
| common | ||
| compiler | ||
| dev | ||
| ds | ||
| genxml | ||
| isl | ||
| nullhw-layer | ||
| perf | ||
| tools | ||
| vulkan | ||
| vulkan_hasvk | ||
| meson.build | ||