mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-06-01 20:47:08 +02:00
VUID-vkCmdBeginQuery-None-00807
This commit is contained in:
parent
a08114bd5d
commit
d03ca7181a
3 changed files with 13 additions and 2 deletions
|
|
@ -157,10 +157,10 @@ public:
|
||||||
ReserveHostQuery();
|
ReserveHostQuery();
|
||||||
|
|
||||||
scheduler.Record([query_pool = current_query_pool,
|
scheduler.Record([query_pool = current_query_pool,
|
||||||
query_index = current_bank_slot](vk::CommandBuffer cmdbuf) {
|
query_index = current_bank_slot](vk::CommandBuffer cmdbuf) {
|
||||||
const bool use_precise = Settings::IsGPULevelHigh();
|
const bool use_precise = Settings::IsGPULevelHigh();
|
||||||
cmdbuf.BeginQuery(query_pool, static_cast<u32>(query_index),
|
cmdbuf.BeginQuery(query_pool, static_cast<u32>(query_index),
|
||||||
use_precise ? VK_QUERY_CONTROL_PRECISE_BIT : 0);
|
use_precise ? VK_QUERY_CONTROL_PRECISE_BIT : 0);
|
||||||
});
|
});
|
||||||
|
|
||||||
has_started = true;
|
has_started = true;
|
||||||
|
|
@ -454,6 +454,11 @@ private:
|
||||||
|
|
||||||
void ReserveHostQuery() {
|
void ReserveHostQuery() {
|
||||||
size_t new_slot = ReserveBankSlot();
|
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);
|
current_bank->AddReference(1);
|
||||||
num_slots_used++;
|
num_slots_used++;
|
||||||
if (current_query) {
|
if (current_query) {
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,7 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept {
|
||||||
X(vkCmdPipelineBarrier);
|
X(vkCmdPipelineBarrier);
|
||||||
X(vkCmdPushConstants);
|
X(vkCmdPushConstants);
|
||||||
X(vkCmdPushDescriptorSetWithTemplateKHR);
|
X(vkCmdPushDescriptorSetWithTemplateKHR);
|
||||||
|
X(vkCmdResetQueryPool);
|
||||||
X(vkCmdSetBlendConstants);
|
X(vkCmdSetBlendConstants);
|
||||||
X(vkCmdSetDepthBias);
|
X(vkCmdSetDepthBias);
|
||||||
X(vkCmdSetDepthBias2EXT);
|
X(vkCmdSetDepthBias2EXT);
|
||||||
|
|
|
||||||
|
|
@ -228,6 +228,7 @@ struct DeviceDispatch : InstanceDispatch {
|
||||||
PFN_vkCmdPushConstants vkCmdPushConstants{};
|
PFN_vkCmdPushConstants vkCmdPushConstants{};
|
||||||
PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR{};
|
PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR{};
|
||||||
PFN_vkCmdResolveImage vkCmdResolveImage{};
|
PFN_vkCmdResolveImage vkCmdResolveImage{};
|
||||||
|
PFN_vkCmdResetQueryPool vkCmdResetQueryPool{};
|
||||||
PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants{};
|
PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants{};
|
||||||
PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT{};
|
PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT{};
|
||||||
PFN_vkCmdSetDepthBias vkCmdSetDepthBias{};
|
PFN_vkCmdSetDepthBias vkCmdSetDepthBias{};
|
||||||
|
|
@ -1164,6 +1165,10 @@ public:
|
||||||
dld->vkCmdBeginQuery(handle, query_pool, query, flags);
|
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 {
|
void EndQuery(VkQueryPool query_pool, u32 query) const noexcept {
|
||||||
dld->vkCmdEndQuery(handle, query_pool, query);
|
dld->vkCmdEndQuery(handle, query_pool, query);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue