diff --git a/debugmarker/debugmarker.cpp b/debugmarker/debugmarker.cpp index 5989c25e..48ac4532 100644 --- a/debugmarker/debugmarker.cpp +++ b/debugmarker/debugmarker.cpp @@ -337,6 +337,10 @@ public: view.image = tex->image; VK_CHECK_RESULT(vkCreateImageView(device, &view, nullptr, &tex->view)); + // Name for debugging + DebugReportExt::setObjectName(device, (uint64_t)tex->image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, "Off-screen texture target image"); + DebugReportExt::setObjectName(device, (uint64_t)tex->sampler, VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, "Off-screen texture target sampler"); + // Frame buffer offScreenFrameBuf.width = OFFSCREEN_DIM; offScreenFrameBuf.height = OFFSCREEN_DIM; @@ -438,6 +442,10 @@ public: // Command buffer for offscreen rendering offScreenCmdBuffer = VulkanExampleBase::createCommandBuffer(VK_COMMAND_BUFFER_LEVEL_PRIMARY, false); + + // Name for debugging + DebugReportExt::setObjectName(device, (uint64_t)offScreenFrameBuf.color.image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, "Off-screen color framebuffer"); + DebugReportExt::setObjectName(device, (uint64_t)offScreenFrameBuf.depth.image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, "Off-screen depth framebuffer"); } // Command buffer for rendering color only scene for glow @@ -459,6 +467,9 @@ public: VK_CHECK_RESULT(vkBeginCommandBuffer(offScreenCmdBuffer, &cmdBufInfo)); + // Start a new debug marker region + DebugReportExt::beginDebugMarkerRegion(offScreenCmdBuffer, "Off-screen scene rendering", glm::vec4(1.0f, 0.0f, 0.0f, 0.0f)); + VkViewport viewport = vkTools::initializers::viewport((float)offScreenFrameBuf.width, (float)offScreenFrameBuf.height, 0.0f, 1.0f); vkCmdSetViewport(offScreenCmdBuffer, 0, 1, &viewport); @@ -545,6 +556,8 @@ public: VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL); + DebugReportExt::endDebugMarkerRegion(offScreenCmdBuffer); + VK_CHECK_RESULT(vkEndCommandBuffer(offScreenCmdBuffer)); } @@ -797,7 +810,7 @@ public: // Post processing if (glow) { - DebugReportExt::beginDebugMarkerRegion(drawCmdBuffers[i], "Post processing", glm::vec4(1.0f, 0.0f, 0.0f, 0.0f)); + DebugReportExt::beginDebugMarkerRegion(drawCmdBuffers[i], "Apply post processing", glm::vec4(1.0f, 0.0f, 0.0f, 0.0f)); vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.postprocess); // Full screen quad is generated by the vertex shaders, so we reuse four vertices (for four invocations) from current vertex buffer