[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
if (m_device->features().khrMaintenance5.maintenance5)
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_descriptorPool = m_descriptorManager->getDescriptorPool();
}
m_renderPassIndex = 0u;
}
@ -2477,20 +2483,20 @@ namespace dxvk {
}
void DxvkContext::beginDebugLabel(VkDebugUtilsLabelEXT* label) {
if (m_device->isDebugEnabled())
void DxvkContext::beginDebugLabel(VkDebugUtilsLabelEXT *label) {
if (m_features.test(DxvkContextFeature::DebugUtils))
m_cmd->cmdBeginDebugUtilsLabel(DxvkCmdBuffer::ExecBuffer, *label);
}
void DxvkContext::endDebugLabel() {
if (m_device->isDebugEnabled())
if (m_features.test(DxvkContextFeature::DebugUtils))
m_cmd->cmdEndDebugUtilsLabel(DxvkCmdBuffer::ExecBuffer);
}
void DxvkContext::insertDebugLabel(VkDebugUtilsLabelEXT* label) {
if (m_device->isDebugEnabled())
void DxvkContext::insertDebugLabel(VkDebugUtilsLabelEXT *label) {
if (m_features.test(DxvkContextFeature::DebugUtils))
m_cmd->cmdInsertDebugUtilsLabel(DxvkCmdBuffer::ExecBuffer, *label);
}

View file

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

View file

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