[dxvk] Add context feature flag for debug utils support

This commit is contained in:
Philip Rebohle 2024-11-08 19:31:21 +01:00
parent 2ef44e6d74
commit 63ce674c47
3 changed files with 13 additions and 5 deletions

View file

@ -63,6 +63,10 @@ namespace dxvk {
// Maintenance5 introduced a bounded BindIndexBuffer function // Maintenance5 introduced a bounded BindIndexBuffer function
if (m_device->features().khrMaintenance5.maintenance5) if (m_device->features().khrMaintenance5.maintenance5)
m_features.set(DxvkContextFeature::IndexBufferRobustness); m_features.set(DxvkContextFeature::IndexBufferRobustness);
// Add a fast path to query debug utils support
if (m_device->isDebugEnabled())
m_features.set(DxvkContextFeature::DebugUtils);
} }
@ -101,6 +105,8 @@ namespace dxvk {
m_cmd->trackDescriptorPool(m_descriptorPool, m_descriptorManager); m_cmd->trackDescriptorPool(m_descriptorPool, m_descriptorManager);
m_descriptorPool = m_descriptorManager->getDescriptorPool(); m_descriptorPool = m_descriptorManager->getDescriptorPool();
} }
m_renderPassIndex = 0u;
} }
@ -2477,20 +2483,20 @@ namespace dxvk {
} }
void DxvkContext::beginDebugLabel(VkDebugUtilsLabelEXT* label) { void DxvkContext::beginDebugLabel(VkDebugUtilsLabelEXT *label) {
if (m_device->isDebugEnabled()) if (m_features.test(DxvkContextFeature::DebugUtils))
m_cmd->cmdBeginDebugUtilsLabel(DxvkCmdBuffer::ExecBuffer, *label); m_cmd->cmdBeginDebugUtilsLabel(DxvkCmdBuffer::ExecBuffer, *label);
} }
void DxvkContext::endDebugLabel() { void DxvkContext::endDebugLabel() {
if (m_device->isDebugEnabled()) if (m_features.test(DxvkContextFeature::DebugUtils))
m_cmd->cmdEndDebugUtilsLabel(DxvkCmdBuffer::ExecBuffer); m_cmd->cmdEndDebugUtilsLabel(DxvkCmdBuffer::ExecBuffer);
} }
void DxvkContext::insertDebugLabel(VkDebugUtilsLabelEXT* label) { void DxvkContext::insertDebugLabel(VkDebugUtilsLabelEXT *label) {
if (m_device->isDebugEnabled()) if (m_features.test(DxvkContextFeature::DebugUtils))
m_cmd->cmdInsertDebugUtilsLabel(DxvkCmdBuffer::ExecBuffer, *label); m_cmd->cmdInsertDebugUtilsLabel(DxvkCmdBuffer::ExecBuffer, *label);
} }

View file

@ -1371,6 +1371,7 @@ namespace dxvk {
DxvkObjects* m_common; DxvkObjects* m_common;
uint64_t m_trackingId = 0u; uint64_t m_trackingId = 0u;
uint32_t m_renderPassIndex = 0u;
Rc<DxvkCommandList> m_cmd; Rc<DxvkCommandList> m_cmd;
Rc<DxvkBuffer> m_zeroBuffer; Rc<DxvkBuffer> m_zeroBuffer;

View file

@ -66,6 +66,7 @@ namespace dxvk {
TrackGraphicsPipeline, TrackGraphicsPipeline,
VariableMultisampleRate, VariableMultisampleRate,
IndexBufferRobustness, IndexBufferRobustness,
DebugUtils,
FeatureCount FeatureCount
}; };