Renamed namespace and functions for debug marker
This commit is contained in:
parent
321b5915cb
commit
5545a37441
2 changed files with 42 additions and 35 deletions
|
|
@ -31,23 +31,24 @@
|
||||||
// Setup and functions for the VK_EXT_debug_marker_extension
|
// Setup and functions for the VK_EXT_debug_marker_extension
|
||||||
// Extension spec can be found at https://github.com/KhronosGroup/Vulkan-Docs/blob/1.0-VK_EXT_debug_marker/doc/specs/vulkan/appendices/VK_EXT_debug_marker.txt
|
// Extension spec can be found at https://github.com/KhronosGroup/Vulkan-Docs/blob/1.0-VK_EXT_debug_marker/doc/specs/vulkan/appendices/VK_EXT_debug_marker.txt
|
||||||
// Note that the extension will only be present if run from an offline debugging application
|
// Note that the extension will only be present if run from an offline debugging application
|
||||||
namespace DebugReportExt
|
namespace DebugMarker
|
||||||
{
|
{
|
||||||
bool active = false;
|
bool active = false;
|
||||||
|
|
||||||
|
PFN_vkDebugMarkerSetObjectTagEXT pfnDebugMarkerSetObjectTag = VK_NULL_HANDLE;
|
||||||
PFN_vkDebugMarkerSetObjectNameEXT pfnDebugMarkerSetObjectName = VK_NULL_HANDLE;
|
PFN_vkDebugMarkerSetObjectNameEXT pfnDebugMarkerSetObjectName = VK_NULL_HANDLE;
|
||||||
PFN_vkCmdDebugMarkerBeginEXT pfnCmdDebugMarkerBegin = VK_NULL_HANDLE;
|
PFN_vkCmdDebugMarkerBeginEXT pfnCmdDebugMarkerBegin = VK_NULL_HANDLE;
|
||||||
PFN_vkCmdDebugMarkerEndEXT pfnCmdDebugMarkerEnd = VK_NULL_HANDLE;
|
PFN_vkCmdDebugMarkerEndEXT pfnCmdDebugMarkerEnd = VK_NULL_HANDLE;
|
||||||
PFN_vkCmdDebugMarkerInsertEXT pfnCmdDebugMarkerInsert = VK_NULL_HANDLE;
|
PFN_vkCmdDebugMarkerInsertEXT pfnCmdDebugMarkerInsert = VK_NULL_HANDLE;
|
||||||
|
|
||||||
// Get fcuntion pointers for the debug report extensions from the device (avoids instance dispatch)
|
// Get function pointers for the debug report extensions from the device
|
||||||
void setupDebugMarkers(VkDevice device)
|
void setup(VkDevice device)
|
||||||
{
|
{
|
||||||
// Debug marker extension will be enabled by the base class on the device if
|
// Debug marker extension will be enabled by the base class on the device if
|
||||||
// VK_EXT_debug_marker is present (see vulkanexamplebae.cpp)
|
// VK_EXT_debug_marker is present (see vulkanexamplebae.cpp)
|
||||||
// If the extension is present, the "enableDebugMarkers" property will be set
|
// If the extension is present, the "enableDebugMarkers" property will be set
|
||||||
// todo : not public yet!
|
|
||||||
// todo : assert(enableDebugMarkers)
|
// todo : assert(enableDebugMarkers)
|
||||||
|
pfnDebugMarkerSetObjectTag = (PFN_vkDebugMarkerSetObjectTagEXT)vkGetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT");
|
||||||
pfnDebugMarkerSetObjectName = (PFN_vkDebugMarkerSetObjectNameEXT)vkGetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT");
|
pfnDebugMarkerSetObjectName = (PFN_vkDebugMarkerSetObjectNameEXT)vkGetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT");
|
||||||
pfnCmdDebugMarkerBegin = (PFN_vkCmdDebugMarkerBeginEXT)vkGetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT");
|
pfnCmdDebugMarkerBegin = (PFN_vkCmdDebugMarkerBeginEXT)vkGetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT");
|
||||||
pfnCmdDebugMarkerEnd = (PFN_vkCmdDebugMarkerEndEXT)vkGetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT");
|
pfnCmdDebugMarkerEnd = (PFN_vkCmdDebugMarkerEndEXT)vkGetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT");
|
||||||
|
|
@ -75,7 +76,7 @@ namespace DebugReportExt
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start a new debug marker region
|
// Start a new debug marker region
|
||||||
void beginDebugMarkerRegion(VkCommandBuffer cmdbuffer, const char* pMarkerName, glm::vec4 color)
|
void beginRegion(VkCommandBuffer cmdbuffer, const char* pMarkerName, glm::vec4 color)
|
||||||
{
|
{
|
||||||
// Check for valid function (may not be present if not runnin in a debugging application)
|
// Check for valid function (may not be present if not runnin in a debugging application)
|
||||||
if (pfnCmdDebugMarkerBegin)
|
if (pfnCmdDebugMarkerBegin)
|
||||||
|
|
@ -89,7 +90,7 @@ namespace DebugReportExt
|
||||||
}
|
}
|
||||||
|
|
||||||
// Insert a new debug marker into the command buffer
|
// Insert a new debug marker into the command buffer
|
||||||
void insertDebugMarker(VkCommandBuffer cmdbuffer, std::string markerName, glm::vec4 color)
|
void insert(VkCommandBuffer cmdbuffer, std::string markerName, glm::vec4 color)
|
||||||
{
|
{
|
||||||
// Check for valid function (may not be present if not runnin in a debugging application)
|
// Check for valid function (may not be present if not runnin in a debugging application)
|
||||||
if (pfnCmdDebugMarkerInsert)
|
if (pfnCmdDebugMarkerInsert)
|
||||||
|
|
@ -103,7 +104,7 @@ namespace DebugReportExt
|
||||||
}
|
}
|
||||||
|
|
||||||
// End the current debug marker region
|
// End the current debug marker region
|
||||||
void endDebugMarkerRegion(VkCommandBuffer cmdBuffer)
|
void endRegion(VkCommandBuffer cmdBuffer)
|
||||||
{
|
{
|
||||||
// Check for valid function (may not be present if not runnin in a debugging application)
|
// Check for valid function (may not be present if not runnin in a debugging application)
|
||||||
if (pfnCmdDebugMarkerEnd)
|
if (pfnCmdDebugMarkerEnd)
|
||||||
|
|
@ -148,7 +149,7 @@ struct Scene {
|
||||||
for (auto mesh : meshes)
|
for (auto mesh : meshes)
|
||||||
{
|
{
|
||||||
// Add debug marker for mesh name
|
// Add debug marker for mesh name
|
||||||
DebugReportExt::insertDebugMarker(cmdBuffer, "Draw \"" + mesh.name + "\"", glm::vec4(0.0f));
|
DebugMarker::insert(cmdBuffer, "Draw \"" + mesh.name + "\"", glm::vec4(0.0f));
|
||||||
vkCmdDrawIndexed(cmdBuffer, mesh.indexCount, 1, mesh.indexStart, 0, 0);
|
vkCmdDrawIndexed(cmdBuffer, mesh.indexCount, 1, mesh.indexStart, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -338,8 +339,8 @@ public:
|
||||||
VK_CHECK_RESULT(vkCreateImageView(device, &view, nullptr, &tex->view));
|
VK_CHECK_RESULT(vkCreateImageView(device, &view, nullptr, &tex->view));
|
||||||
|
|
||||||
// Name for debugging
|
// Name for debugging
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)tex->image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, "Off-screen texture target image");
|
DebugMarker::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");
|
DebugMarker::setObjectName(device, (uint64_t)tex->sampler, VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, "Off-screen texture target sampler");
|
||||||
|
|
||||||
// Frame buffer
|
// Frame buffer
|
||||||
offScreenFrameBuf.width = OFFSCREEN_DIM;
|
offScreenFrameBuf.width = OFFSCREEN_DIM;
|
||||||
|
|
@ -444,8 +445,8 @@ public:
|
||||||
offScreenCmdBuffer = VulkanExampleBase::createCommandBuffer(VK_COMMAND_BUFFER_LEVEL_PRIMARY, false);
|
offScreenCmdBuffer = VulkanExampleBase::createCommandBuffer(VK_COMMAND_BUFFER_LEVEL_PRIMARY, false);
|
||||||
|
|
||||||
// Name for debugging
|
// Name for debugging
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)offScreenFrameBuf.color.image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, "Off-screen color framebuffer");
|
DebugMarker::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");
|
DebugMarker::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
|
// Command buffer for rendering color only scene for glow
|
||||||
|
|
@ -468,7 +469,7 @@ public:
|
||||||
VK_CHECK_RESULT(vkBeginCommandBuffer(offScreenCmdBuffer, &cmdBufInfo));
|
VK_CHECK_RESULT(vkBeginCommandBuffer(offScreenCmdBuffer, &cmdBufInfo));
|
||||||
|
|
||||||
// Start a new debug marker region
|
// Start a new debug marker region
|
||||||
DebugReportExt::beginDebugMarkerRegion(offScreenCmdBuffer, "Off-screen scene rendering", glm::vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
DebugMarker::beginRegion(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);
|
VkViewport viewport = vkTools::initializers::viewport((float)offScreenFrameBuf.width, (float)offScreenFrameBuf.height, 0.0f, 1.0f);
|
||||||
vkCmdSetViewport(offScreenCmdBuffer, 0, 1, &viewport);
|
vkCmdSetViewport(offScreenCmdBuffer, 0, 1, &viewport);
|
||||||
|
|
@ -556,7 +557,7 @@ public:
|
||||||
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
|
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
|
||||||
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL);
|
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL);
|
||||||
|
|
||||||
DebugReportExt::endDebugMarkerRegion(offScreenCmdBuffer);
|
DebugMarker::endRegion(offScreenCmdBuffer);
|
||||||
|
|
||||||
VK_CHECK_RESULT(vkEndCommandBuffer(offScreenCmdBuffer));
|
VK_CHECK_RESULT(vkEndCommandBuffer(offScreenCmdBuffer));
|
||||||
}
|
}
|
||||||
|
|
@ -724,11 +725,11 @@ public:
|
||||||
|
|
||||||
// Name the buffers for debugging
|
// Name the buffers for debugging
|
||||||
// Scene
|
// Scene
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)scene.vertices.buf, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, "Scene vertex buffer");
|
DebugMarker::setObjectName(device, (uint64_t)scene.vertices.buf, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, "Scene vertex buffer");
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)scene.indices.buf, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, "Scene index buffer");
|
DebugMarker::setObjectName(device, (uint64_t)scene.indices.buf, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, "Scene index buffer");
|
||||||
// Glow
|
// Glow
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)sceneGlow.vertices.buf, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, "Glow vertex buffer");
|
DebugMarker::setObjectName(device, (uint64_t)sceneGlow.vertices.buf, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, "Glow vertex buffer");
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)sceneGlow.indices.buf, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, "Glow index buffer");
|
DebugMarker::setObjectName(device, (uint64_t)sceneGlow.indices.buf, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, "Glow index buffer");
|
||||||
}
|
}
|
||||||
|
|
||||||
void reBuildCommandBuffers()
|
void reBuildCommandBuffers()
|
||||||
|
|
@ -766,7 +767,7 @@ public:
|
||||||
VK_CHECK_RESULT(vkBeginCommandBuffer(drawCmdBuffers[i], &cmdBufInfo));
|
VK_CHECK_RESULT(vkBeginCommandBuffer(drawCmdBuffers[i], &cmdBufInfo));
|
||||||
|
|
||||||
// Start a new debug marker region
|
// Start a new debug marker region
|
||||||
DebugReportExt::beginDebugMarkerRegion(drawCmdBuffers[i], "Render scene", glm::vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
DebugMarker::beginRegion(drawCmdBuffers[i], "Render scene", glm::vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
||||||
|
|
||||||
vkCmdBeginRenderPass(drawCmdBuffers[i], &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
|
vkCmdBeginRenderPass(drawCmdBuffers[i], &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
|
||||||
|
|
||||||
|
|
@ -781,18 +782,18 @@ public:
|
||||||
// Solid rendering
|
// Solid rendering
|
||||||
|
|
||||||
// Start a new debug marker region
|
// Start a new debug marker region
|
||||||
DebugReportExt::beginDebugMarkerRegion(drawCmdBuffers[i], "Toon shading draw", glm::vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
DebugMarker::beginRegion(drawCmdBuffers[i], "Toon shading draw", glm::vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
||||||
|
|
||||||
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.toonshading);
|
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.toonshading);
|
||||||
scene.draw(drawCmdBuffers[i]);
|
scene.draw(drawCmdBuffers[i]);
|
||||||
|
|
||||||
DebugReportExt::endDebugMarkerRegion(drawCmdBuffers[i]);
|
DebugMarker::endRegion(drawCmdBuffers[i]);
|
||||||
|
|
||||||
// Wireframe rendering
|
// Wireframe rendering
|
||||||
if (wireframe)
|
if (wireframe)
|
||||||
{
|
{
|
||||||
// Insert debug marker
|
// Insert debug marker
|
||||||
DebugReportExt::beginDebugMarkerRegion(drawCmdBuffers[i], "Wireframe draw", glm::vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
DebugMarker::beginRegion(drawCmdBuffers[i], "Wireframe draw", glm::vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
||||||
|
|
||||||
scissor.offset.x = width / 2;
|
scissor.offset.x = width / 2;
|
||||||
vkCmdSetScissor(drawCmdBuffers[i], 0, 1, &scissor);
|
vkCmdSetScissor(drawCmdBuffers[i], 0, 1, &scissor);
|
||||||
|
|
@ -800,7 +801,7 @@ public:
|
||||||
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.wireframe);
|
vkCmdBindPipeline(drawCmdBuffers[i], VK_PIPELINE_BIND_POINT_GRAPHICS, pipelines.wireframe);
|
||||||
scene.draw(drawCmdBuffers[i]);
|
scene.draw(drawCmdBuffers[i]);
|
||||||
|
|
||||||
DebugReportExt::endDebugMarkerRegion(drawCmdBuffers[i]);
|
DebugMarker::endRegion(drawCmdBuffers[i]);
|
||||||
|
|
||||||
scissor.offset.x = 0;
|
scissor.offset.x = 0;
|
||||||
scissor.extent.width = width;
|
scissor.extent.width = width;
|
||||||
|
|
@ -810,20 +811,20 @@ public:
|
||||||
// Post processing
|
// Post processing
|
||||||
if (glow)
|
if (glow)
|
||||||
{
|
{
|
||||||
DebugReportExt::beginDebugMarkerRegion(drawCmdBuffers[i], "Apply post processing", glm::vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
DebugMarker::beginRegion(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);
|
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
|
// Full screen quad is generated by the vertex shaders, so we reuse four vertices (for four invocations) from current vertex buffer
|
||||||
vkCmdDraw(drawCmdBuffers[i], 4, 1, 0, 0);
|
vkCmdDraw(drawCmdBuffers[i], 4, 1, 0, 0);
|
||||||
|
|
||||||
DebugReportExt::endDebugMarkerRegion(drawCmdBuffers[i]);
|
DebugMarker::endRegion(drawCmdBuffers[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
vkCmdEndRenderPass(drawCmdBuffers[i]);
|
vkCmdEndRenderPass(drawCmdBuffers[i]);
|
||||||
|
|
||||||
// End current debug marker region
|
// End current debug marker region
|
||||||
DebugReportExt::endDebugMarkerRegion(drawCmdBuffers[i]);
|
DebugMarker::endRegion(drawCmdBuffers[i]);
|
||||||
|
|
||||||
VK_CHECK_RESULT(vkEndCommandBuffer(drawCmdBuffers[i]));
|
VK_CHECK_RESULT(vkEndCommandBuffer(drawCmdBuffers[i]));
|
||||||
}
|
}
|
||||||
|
|
@ -1019,8 +1020,8 @@ public:
|
||||||
shaderStages[1] = loadShader(getAssetPath() + "shaders/debugmarker/toon.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
|
shaderStages[1] = loadShader(getAssetPath() + "shaders/debugmarker/toon.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
|
||||||
|
|
||||||
// Name shader moduels for debugging
|
// Name shader moduels for debugging
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)shaderModules[0], VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, "Mesh rendering vertex shader");
|
DebugMarker::setObjectName(device, (uint64_t)shaderModules[0], VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, "Mesh rendering vertex shader");
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)shaderModules[1], VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, "Mesh rendering fragment shader");
|
DebugMarker::setObjectName(device, (uint64_t)shaderModules[1], VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, "Mesh rendering fragment shader");
|
||||||
|
|
||||||
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
|
VkGraphicsPipelineCreateInfo pipelineCreateInfo =
|
||||||
vkTools::initializers::pipelineCreateInfo(
|
vkTools::initializers::pipelineCreateInfo(
|
||||||
|
|
@ -1075,10 +1076,10 @@ public:
|
||||||
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.postprocess));
|
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipelines.postprocess));
|
||||||
|
|
||||||
// Name pipelines for debugging
|
// Name pipelines for debugging
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)pipelines.toonshading, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, "Toon shading pipeline");
|
DebugMarker::setObjectName(device, (uint64_t)pipelines.toonshading, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, "Toon shading pipeline");
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)pipelines.color, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, "Color only pipeline");
|
DebugMarker::setObjectName(device, (uint64_t)pipelines.color, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, "Color only pipeline");
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)pipelines.wireframe, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, "Wireframe rendering pipeline");
|
DebugMarker::setObjectName(device, (uint64_t)pipelines.wireframe, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, "Wireframe rendering pipeline");
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)pipelines.postprocess, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, "Post processing pipeline");
|
DebugMarker::setObjectName(device, (uint64_t)pipelines.postprocess, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, "Post processing pipeline");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and initialize uniform buffer containing shader uniforms
|
// Prepare and initialize uniform buffer containing shader uniforms
|
||||||
|
|
@ -1095,7 +1096,7 @@ public:
|
||||||
&uniformData.vsScene.descriptor);
|
&uniformData.vsScene.descriptor);
|
||||||
|
|
||||||
// Name uniform buffer for debugging
|
// Name uniform buffer for debugging
|
||||||
DebugReportExt::setObjectName(device, (uint64_t)uniformData.vsScene.buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, "Scene uniform buffer block");
|
DebugMarker::setObjectName(device, (uint64_t)uniformData.vsScene.buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, "Scene uniform buffer block");
|
||||||
|
|
||||||
updateUniformBuffers();
|
updateUniformBuffers();
|
||||||
}
|
}
|
||||||
|
|
@ -1140,7 +1141,7 @@ public:
|
||||||
void prepare()
|
void prepare()
|
||||||
{
|
{
|
||||||
VulkanExampleBase::prepare();
|
VulkanExampleBase::prepare();
|
||||||
DebugReportExt::setupDebugMarkers(device);
|
DebugMarker::setup(device);
|
||||||
loadScene();
|
loadScene();
|
||||||
prepareOffscreen();
|
prepareOffscreen();
|
||||||
setupVertexDescriptions();
|
setupVertexDescriptions();
|
||||||
|
|
@ -1186,7 +1187,7 @@ public:
|
||||||
|
|
||||||
virtual void getOverlayText(VulkanTextOverlay *textOverlay)
|
virtual void getOverlayText(VulkanTextOverlay *textOverlay)
|
||||||
{
|
{
|
||||||
if (DebugReportExt::active)
|
if (DebugMarker::active)
|
||||||
{
|
{
|
||||||
textOverlay->addText("VK_EXT_debug_marker active", 5.0f, 85.0f, VulkanTextOverlay::alignLeft);
|
textOverlay->addText("VK_EXT_debug_marker active", 5.0f, 85.0f, VulkanTextOverlay::alignLeft);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multisampling", "multisampl
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "textoverlay", "textoverlay\textoverlay.vcxproj", "{9462DD15-5A1D-460A-B502-C9250D98D7A3}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "textoverlay", "textoverlay\textoverlay.vcxproj", "{9462DD15-5A1D-460A-B502-C9250D98D7A3}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "debugmarker", "debugmarker\debugmarker.vcxproj", "{146FD6F8-5CB4-478E-A823-7350A0ACCF1D}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|x64 = Debug|x64
|
Debug|x64 = Debug|x64
|
||||||
|
|
@ -195,6 +197,10 @@ Global
|
||||||
{9462DD15-5A1D-460A-B502-C9250D98D7A3}.Debug|x64.Build.0 = Debug|x64
|
{9462DD15-5A1D-460A-B502-C9250D98D7A3}.Debug|x64.Build.0 = Debug|x64
|
||||||
{9462DD15-5A1D-460A-B502-C9250D98D7A3}.Release|x64.ActiveCfg = Release|x64
|
{9462DD15-5A1D-460A-B502-C9250D98D7A3}.Release|x64.ActiveCfg = Release|x64
|
||||||
{9462DD15-5A1D-460A-B502-C9250D98D7A3}.Release|x64.Build.0 = Release|x64
|
{9462DD15-5A1D-460A-B502-C9250D98D7A3}.Release|x64.Build.0 = Release|x64
|
||||||
|
{146FD6F8-5CB4-478E-A823-7350A0ACCF1D}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{146FD6F8-5CB4-478E-A823-7350A0ACCF1D}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{146FD6F8-5CB4-478E-A823-7350A0ACCF1D}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{146FD6F8-5CB4-478E-A823-7350A0ACCF1D}.Release|x64.Build.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue