Module: Mesa Branch: staging/20.0 Commit: 98cd8c666d141fc87f0b8794ae77b113e0adea9b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=98cd8c666d141fc87f0b8794ae77b113e0adea9b
Author: Rafael Antognolli <[email protected]> Date: Fri Feb 28 13:57:07 2020 -0800 anv: Wait for the GPU to be idle before invalidating the aux table. Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4005> (cherry picked from commit 43dc842cb91c195fe7bb47a7ce324425096bf6f5) --- .pick_status.json | 2 +- src/intel/vulkan/genX_cmd_buffer.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 0c183f08c7e..bc1da2486ae 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -6133,7 +6133,7 @@ "description": "anv: Wait for the GPU to be idle before invalidating the aux table.", "nominated": false, "nomination_type": null, - "resolution": 4, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index d3abc98511c..29d63564b35 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -2028,6 +2028,16 @@ genX(cmd_buffer_apply_pipe_flushes)(struct anv_cmd_buffer *cmd_buffer) if (bits & ANV_PIPE_FLUSH_BITS) bits |= ANV_PIPE_NEEDS_END_OF_PIPE_SYNC_BIT; + + /* HSD 1209978178: docs say that before programming the aux table: + * + * "Driver must ensure that the engine is IDLE but ensure it doesn't + * add extra flushes in the case it knows that the engine is already + * IDLE." + */ + if (GEN_GEN == 12 && ANV_PIPE_AUX_TABLE_INVALIDATE_BIT) + bits |= ANV_PIPE_NEEDS_END_OF_PIPE_SYNC_BIT; + /* If we're going to do an invalidate and we have a pending end-of-pipe * sync that has yet to be resolved, we do the end-of-pipe sync now. */ _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
