anv: fix preemption enable emission in gpu_memcpy

This has to be before the MI_BATCH_BUFFER_END otherwise it has no
effect.

This also was messing around with you batch length alignment.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: b9aa66d5d0 ("anv: disable preemption for 3DPRIMITIVE during streamout")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20802>
This commit is contained in:
Lionel Landwerlin 2023-01-20 09:41:04 +02:00
parent b3fd72fd09
commit 6f02f9d108

View file

@ -258,13 +258,13 @@ genX(emit_so_memcpy_fini)(struct anv_memcpy_state *state)
void
genX(emit_so_memcpy_end)(struct anv_memcpy_state *state)
{
if (intel_device_info_is_dg2(state->device->info))
genX(batch_set_preemption)(state->batch, true);
anv_batch_emit(state->batch, GENX(MI_BATCH_BUFFER_END), end);
if ((state->batch->next - state->batch->start) & 4)
anv_batch_emit(state->batch, GENX(MI_NOOP), noop);
if (intel_device_info_is_dg2(state->device->info))
genX(batch_set_preemption)(state->batch, true);
}
void