Browse Source

VUID-vkCmdBeginQuery-None-00807

xbzk/vulkan-vuid-goodies-pack
xbzk 4 weeks ago
parent
commit
d03ca7181a
  1. 5
      src/video_core/renderer_vulkan/vk_query_cache.cpp
  2. 1
      src/video_core/vulkan_common/vulkan_wrapper.cpp
  3. 5
      src/video_core/vulkan_common/vulkan_wrapper.h

5
src/video_core/renderer_vulkan/vk_query_cache.cpp

@ -454,6 +454,11 @@ private:
void ReserveHostQuery() {
size_t new_slot = ReserveBankSlot();
scheduler.RecordWithUploadBuffer([query_pool = current_query_pool,
query_index = current_bank_slot](vk::CommandBuffer,
vk::CommandBuffer upload_cmdbuf) {
upload_cmdbuf.ResetQueryPool(query_pool, static_cast<u32>(query_index), 1);
});
current_bank->AddReference(1);
num_slots_used++;
if (current_query) {

1
src/video_core/vulkan_common/vulkan_wrapper.cpp

@ -127,6 +127,7 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept {
X(vkCmdPipelineBarrier);
X(vkCmdPushConstants);
X(vkCmdPushDescriptorSetWithTemplateKHR);
X(vkCmdResetQueryPool);
X(vkCmdSetBlendConstants);
X(vkCmdSetDepthBias);
X(vkCmdSetDepthBias2EXT);

5
src/video_core/vulkan_common/vulkan_wrapper.h

@ -228,6 +228,7 @@ struct DeviceDispatch : InstanceDispatch {
PFN_vkCmdPushConstants vkCmdPushConstants{};
PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR{};
PFN_vkCmdResolveImage vkCmdResolveImage{};
PFN_vkCmdResetQueryPool vkCmdResetQueryPool{};
PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants{};
PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT{};
PFN_vkCmdSetDepthBias vkCmdSetDepthBias{};
@ -1164,6 +1165,10 @@ public:
dld->vkCmdBeginQuery(handle, query_pool, query, flags);
}
void ResetQueryPool(VkQueryPool query_pool, u32 first, u32 count) const noexcept {
dld->vkCmdResetQueryPool(handle, query_pool, first, count);
}
void EndQuery(VkQueryPool query_pool, u32 query) const noexcept {
dld->vkCmdEndQuery(handle, query_pool, query);
}

Loading…
Cancel
Save