wined3d: Avoid redundantly resetting timestamp queries.

Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jan Sikorski 2021-08-04 17:25:01 +02:00 committed by Alexandre Julliard
parent 9b9f07ca84
commit bd4b717702

View file

@ -1838,12 +1838,14 @@ static BOOL wined3d_query_timestamp_vk_issue(struct wined3d_query *query, uint32
context_vk = wined3d_context_vk(context_acquire(&device_vk->d, NULL, 0));
vk_info = context_vk->vk_info;
wined3d_context_vk_end_current_render_pass(context_vk);
command_buffer = wined3d_context_vk_get_command_buffer(context_vk);
if (!query_vk->pool_idx.pool_vk)
wined3d_context_vk_allocate_query(context_vk, query_vk->q.type, &query_vk->pool_idx);
VK_CALL(vkCmdResetQueryPool(command_buffer, query_vk->pool_idx.pool_vk->vk_query_pool,
query_vk->pool_idx.idx, 1));
if (query_vk->pool_idx.pool_vk)
wined3d_query_pool_vk_mark_complete(query_vk->pool_idx.pool_vk, query_vk->pool_idx.idx, context_vk);
if (!wined3d_context_vk_allocate_query(context_vk, query_vk->q.type, &query_vk->pool_idx))
{
ERR("Failed to allocate new query.\n");
return FALSE;
}
VK_CALL(vkCmdWriteTimestamp(command_buffer, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
query_vk->pool_idx.pool_vk->vk_query_pool, query_vk->pool_idx.idx));
wined3d_context_vk_reference_query(context_vk, query_vk);