diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index 573e958e7..320c042c5 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -1798,6 +1798,12 @@ namespace dxvk { flushPendingAccesses(*imageView, DxvkAccess::Write); + if (unlikely(m_features.test(DxvkContextFeature::DebugUtils))) { + const char* imageName = imageView->image()->info().debugName; + m_cmd->cmdBeginDebugUtilsLabel(DxvkCmdBuffer::ExecBuffer, + vk::makeLabel(0xe6f0dc, str::format("Clear render target (", imageName ? imageName : "unknown", ")").c_str())); + } + // Set up a temporary render pass to execute the clear VkImageLayout imageLayout = ((clearAspects | discardAspects) & VK_IMAGE_ASPECT_COLOR_BIT) ? imageView->pickLayout(VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL) @@ -1883,6 +1889,9 @@ namespace dxvk { imageView->image()->info().stages, imageView->image()->info().access); + if (unlikely(m_features.test(DxvkContextFeature::DebugUtils))) + m_cmd->cmdEndDebugUtilsLabel(DxvkCmdBuffer::ExecBuffer); + m_cmd->track(imageView->image(), DxvkAccess::Write); } else { // Perform the operation when starting the next render pass