mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 08:50:13 +01:00
radv: Fix vkCmdCopyQueryResults -> vkCmdResetPool hazard.
The Vulkan specification states: > Query commands, for the same query and submitted to the same queue, > execute in their entirety in submission order, relative to each other. In > effect there is an implicit execution dependency from each such query > command to all query commands previously submitted to the same queue. Fixes dEQP-VK.query_pool.statistics_query.reset_after_copy.* Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17400>
This commit is contained in:
parent
4f5e25ea8d
commit
768cd5715d
1 changed files with 7 additions and 0 deletions
|
|
@ -1046,6 +1046,13 @@ radv_query_shader(struct radv_cmd_buffer *cmd_buffer, VkPipeline *pipeline,
|
|||
|
||||
radv_unaligned_dispatch(cmd_buffer, count, 1, 1);
|
||||
|
||||
/* Ensure that the query copy dispatch is complete before a potential vkCmdResetPool because
|
||||
* there is an implicit execution dependency from each such query command to all query commands
|
||||
* previously submitted to the same queue.
|
||||
*/
|
||||
cmd_buffer->active_query_flush_bits |=
|
||||
RADV_CMD_FLAG_CS_PARTIAL_FLUSH | RADV_CMD_FLAG_INV_L2 | RADV_CMD_FLAG_INV_VCACHE;
|
||||
|
||||
/* Restore conditional rendering. */
|
||||
cmd_buffer->state.predicating = old_predicating;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue