1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-04 16:24:29 +01:00

[dxvk] Add command list parameter to some query-related functions

And reintroduce cmdResetQueryPool.
This commit is contained in:
Philip Rebohle 2024-10-01 14:52:08 +02:00 committed by Philip Rebohle
parent 4ce200bcae
commit 7d31a7f16f
2 changed files with 20 additions and 7 deletions

View File

@ -610,6 +610,7 @@ namespace dxvk {
void cmdCopyQueryPoolResults( void cmdCopyQueryPoolResults(
DxvkCmdBuffer cmdBuffer,
VkQueryPool queryPool, VkQueryPool queryPool,
uint32_t firstQuery, uint32_t firstQuery,
uint32_t queryCount, uint32_t queryCount,
@ -617,9 +618,9 @@ namespace dxvk {
VkDeviceSize dstOffset, VkDeviceSize dstOffset,
VkDeviceSize stride, VkDeviceSize stride,
VkQueryResultFlags flags) { VkQueryResultFlags flags) {
m_cmd.usedFlags.set(DxvkCmdBuffer::ExecBuffer); m_cmd.usedFlags.set(cmdBuffer);
m_vkd->vkCmdCopyQueryPoolResults(m_cmd.execBuffer, m_vkd->vkCmdCopyQueryPoolResults(getCmdBuffer(cmdBuffer),
queryPool, firstQuery, queryCount, queryPool, firstQuery, queryCount,
dstBuffer, dstOffset, stride, flags); dstBuffer, dstOffset, stride, flags);
} }
@ -791,6 +792,18 @@ namespace dxvk {
} }
void cmdResetQueryPool(
DxvkCmdBuffer cmdBuffer,
VkQueryPool queryPool,
uint32_t firstQuery,
uint32_t queryCount) {
m_cmd.usedFlags.set(cmdBuffer);
m_vkd->vkCmdResetQueryPool(getCmdBuffer(cmdBuffer),
queryPool, firstQuery, queryCount);
}
void cmdResolveImage( void cmdResolveImage(
const VkResolveImageInfo2* resolveInfo) { const VkResolveImageInfo2* resolveInfo) {
m_cmd.usedFlags.set(DxvkCmdBuffer::ExecBuffer); m_cmd.usedFlags.set(DxvkCmdBuffer::ExecBuffer);
@ -969,12 +982,13 @@ namespace dxvk {
void cmdWriteTimestamp( void cmdWriteTimestamp(
DxvkCmdBuffer cmdBuffer,
VkPipelineStageFlagBits2 pipelineStage, VkPipelineStageFlagBits2 pipelineStage,
VkQueryPool queryPool, VkQueryPool queryPool,
uint32_t query) { uint32_t query) {
m_cmd.usedFlags.set(DxvkCmdBuffer::ExecBuffer); m_cmd.usedFlags.set(cmdBuffer);
m_vkd->vkCmdWriteTimestamp2(m_cmd.execBuffer, m_vkd->vkCmdWriteTimestamp2(getCmdBuffer(cmdBuffer),
pipelineStage, queryPool, query); pipelineStage, queryPool, query);
} }

View File

@ -339,10 +339,9 @@ namespace dxvk {
handle.queryPool, handle.queryPool,
handle.queryId); handle.queryId);
cmd->cmdWriteTimestamp( cmd->cmdWriteTimestamp(DxvkCmdBuffer::ExecBuffer,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
handle.queryPool, handle.queryPool, handle.queryId);
handle.queryId);
cmd->trackResource<DxvkAccess::None>(query); cmd->trackResource<DxvkAccess::None>(query);
} }