anv: Do an end-of-pipe sync before updating AUX table entries

We've found in GL that an actual end-of-pipe sync is required before
invalidating the aux tables and that a simple CS stall is insufficient.
If we're about to modify the actual AUX table entries from the GPU, we
should definitely make sure it's stopped dead before we do so.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4206>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4206>
This commit is contained in:
Jason Ekstrand
2020-03-16 22:58:53 -05:00
committed by Marge Bot
parent 3dd0d12aa5
commit d60375cbc2
+1 -1
View File
@@ -1021,7 +1021,7 @@ anv_image_init_aux_tt(struct anv_cmd_buffer *cmd_buffer,
* with not having this stall in some cases if we were really careful but
* it's better to play it safe. Full stall the GPU.
*/
cmd_buffer->state.pending_pipe_bits |= ANV_PIPE_CS_STALL_BIT;
cmd_buffer->state.pending_pipe_bits |= ANV_PIPE_END_OF_PIPE_SYNC_BIT;
genX(cmd_buffer_apply_pipe_flushes)(cmd_buffer);
struct gen_mi_builder b;