浏览代码

fixed a query pool validation error

warriormaster12 2 年之前
父节点
当前提交
10797d58dd
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      drivers/vulkan/rendering_device_vulkan.cpp

+ 5 - 0
drivers/vulkan/rendering_device_vulkan.cpp

@@ -8924,6 +8924,11 @@ void RenderingDeviceVulkan::initialize(VulkanContext *p_context, bool p_local_de
 		}
 	}
 
+	for (int i = 0; i < frame_count; i++) {
+		//Reset all queries in a query pool before doing any operations with them.
+		vkCmdResetQueryPool(frames[0].setup_command_buffer, frames[i].timestamp_pool, 0, max_timestamp_query_elements);
+	}
+
 	staging_buffer_block_size = GLOBAL_GET("rendering/rendering_device/staging_buffer/block_size_kb");
 	staging_buffer_block_size = MAX(4u, staging_buffer_block_size);
 	staging_buffer_block_size *= 1024; // Kb -> bytes.