diff options
Diffstat (limited to 'vulkaninfo')
| -rw-r--r-- | vulkaninfo/generated/vulkaninfo.hpp | 39 | ||||
| -rw-r--r-- | vulkaninfo/vulkaninfo.cpp | 2 |
2 files changed, 40 insertions, 1 deletions
diff --git a/vulkaninfo/generated/vulkaninfo.hpp b/vulkaninfo/generated/vulkaninfo.hpp index b852b1f5..ad0e0851 100644 --- a/vulkaninfo/generated/vulkaninfo.hpp +++ b/vulkaninfo/generated/vulkaninfo.hpp @@ -994,6 +994,37 @@ void DumpVkSurfaceTransformFlagBitsKHR(Printer &p, std::string name, VkSurfaceTr p.PrintKeyString(name, strings.at(0), width); } +std::vector<const char *>VkToolPurposeFlagBitsGetStrings(VkToolPurposeFlagBits value) { + std::vector<const char *> strings; + if (value == 0) { strings.push_back("None"); return strings; } + if (0x1 & value) strings.push_back("TOOL_PURPOSE_VALIDATION_BIT"); + if (0x2 & value) strings.push_back("TOOL_PURPOSE_PROFILING_BIT"); + if (0x4 & value) strings.push_back("TOOL_PURPOSE_TRACING_BIT"); + if (0x8 & value) strings.push_back("TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT"); + if (0x10 & value) strings.push_back("TOOL_PURPOSE_MODIFYING_FEATURES_BIT"); + if (0x20 & value) strings.push_back("TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT"); + if (0x40 & value) strings.push_back("TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT"); + return strings; +} +void DumpVkToolPurposeFlags(Printer &p, std::string name, VkToolPurposeFlags value, int width = 0) { + if (p.Type() == OutputType::json) { p.PrintKeyValue(name, value); return; } + if (static_cast<VkToolPurposeFlagBits>(value) == 0) { + ArrayWrapper arr(p, name, 0); + if (p.Type() != OutputType::vkconfig_output) + p.SetAsType().PrintString("None"); + return; + } + auto strings = VkToolPurposeFlagBitsGetStrings(static_cast<VkToolPurposeFlagBits>(value)); + ArrayWrapper arr(p, name, strings.size()); + for(auto& str : strings){ + p.SetAsType().PrintString(str); + } +} +void DumpVkToolPurposeFlagBits(Printer &p, std::string name, VkToolPurposeFlagBits value, int width = 0) { + auto strings = VkToolPurposeFlagBitsGetStrings(value); + p.PrintKeyString(name, strings.at(0), width); +} + void DumpVkDrmFormatModifierProperties2EXT(Printer &p, std::string name, VkDrmFormatModifierProperties2EXT &obj) { ObjectWrapper object{p, name}; p.PrintKeyValue("drmFormatModifier", obj.drmFormatModifier, 27); @@ -1986,6 +2017,14 @@ void DumpVkPhysicalDeviceTimelineSemaphoreProperties(Printer &p, std::string nam ObjectWrapper object{p, name}; p.PrintKeyValue("maxTimelineSemaphoreValueDifference", obj.maxTimelineSemaphoreValueDifference, 35); } +void DumpVkPhysicalDeviceToolProperties(Printer &p, std::string name, VkPhysicalDeviceToolProperties &obj) { + ObjectWrapper object{p, name}; + p.PrintKeyString("name", obj.name, 16); + p.PrintKeyString("version", obj.version, 16); + DumpVkToolPurposeFlags(p, "purposes", obj.purposes, 16); + p.PrintKeyString("description", obj.description, 16); + p.PrintKeyString("layer", obj.layer, 16); +} void DumpVkPhysicalDeviceTransformFeedbackFeaturesEXT(Printer &p, std::string name, VkPhysicalDeviceTransformFeedbackFeaturesEXT &obj) { ObjectWrapper object{p, name}; p.PrintKeyBool("transformFeedback", static_cast<bool>(obj.transformFeedback), 17); diff --git a/vulkaninfo/vulkaninfo.cpp b/vulkaninfo/vulkaninfo.cpp index 1e24ce81..01ed1743 100644 --- a/vulkaninfo/vulkaninfo.cpp +++ b/vulkaninfo/vulkaninfo.cpp @@ -550,7 +550,7 @@ void GpuDumpToolingInfo(Printer &p, AppGpu &gpu) { p.SetSubHeader(); ObjectWrapper obj(p, "Tooling Info"); for (auto tool : tools) { - DumpVkPhysicalDeviceToolPropertiesEXT(p, tool.name, tool); + DumpVkPhysicalDeviceToolProperties(p, tool.name, tool); p.AddNewline(); } } |
