From 60951195c26ff1d23eabe02b24fd0d2e09c54875 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 21 Jan 2020 16:46:19 +0000 Subject: [PATCH] Use VK_EXT_tooling_info in VK_Simple_Triangle --- util/test/demos/vk/vk_simple_triangle.cpp | 29 ++++++++++++++++++++ util/test/tests/Vulkan/VK_Simple_Triangle.py | 5 ++++ 2 files changed, 34 insertions(+) diff --git a/util/test/demos/vk/vk_simple_triangle.cpp b/util/test/demos/vk/vk_simple_triangle.cpp index f53bbae8f..e9d072035 100644 --- a/util/test/demos/vk/vk_simple_triangle.cpp +++ b/util/test/demos/vk/vk_simple_triangle.cpp @@ -74,12 +74,33 @@ void main() )EOSHADER"; + void Prepare(int argc, char **argv) + { + optDevExts.push_back(VK_EXT_TOOLING_INFO_EXTENSION_NAME); + + VulkanGraphicsTest::Prepare(argc, argv); + } + int main() { // initialise, create window, create context, etc if(!Init()) return 3; + std::vector tools; + + if(std::find(devExts.begin(), devExts.end(), VK_EXT_TOOLING_INFO_EXTENSION_NAME) != devExts.end()) + { + uint32_t toolCount = 0; + vkGetPhysicalDeviceToolPropertiesEXT(phys, &toolCount, NULL); + tools.resize(toolCount); + vkGetPhysicalDeviceToolPropertiesEXT(phys, &toolCount, tools.data()); + + TEST_LOG("%u tools available:", toolCount); + for(VkPhysicalDeviceToolPropertiesEXT &tool : tools) + TEST_LOG(" - %s", tool.name); + } + VkPipelineLayout layout = createPipelineLayout(vkh::PipelineLayoutCreateInfo()); vkh::GraphicsPipelineCreateInfo pipeCreateInfo; @@ -124,6 +145,14 @@ void main() cmd, vkh::RenderPassBeginInfo(mainWindow->rp, mainWindow->GetFB(), mainWindow->scissor), VK_SUBPASS_CONTENTS_INLINE); + if(!tools.empty()) + { + pushMarker(cmd, "Tools available"); + for(VkPhysicalDeviceToolPropertiesEXT &tool : tools) + setMarker(cmd, tool.name); + popMarker(cmd); + } + vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, pipe); vkCmdSetViewport(cmd, 0, 1, &mainWindow->viewport); vkCmdSetScissor(cmd, 0, 1, &mainWindow->scissor); diff --git a/util/test/tests/Vulkan/VK_Simple_Triangle.py b/util/test/tests/Vulkan/VK_Simple_Triangle.py index a3177d89b..72f61d498 100644 --- a/util/test/tests/Vulkan/VK_Simple_Triangle.py +++ b/util/test/tests/Vulkan/VK_Simple_Triangle.py @@ -44,3 +44,8 @@ class VK_Simple_Triangle(rdtest.TestCase): } self.check_mesh_data(postvs_ref, postvs_data) + + draw = self.find_draw("Tools available") + + self.check(len(draw.children) > 1) + self.check(any([d.name == 'RenderDoc' for d in draw.children]))