aboutsummaryrefslogtreecommitdiff
path: root/vulkaninfo
diff options
context:
space:
mode:
authorCharles Giessen <charles@lunarg.com>2021-09-24 14:09:58 -0600
committerMike Schuchardt <mikes@lunarg.com>2022-01-26 14:29:01 -0800
commit3ed7fe55cdd334a552ffd33d6d8d80496ecc96cf (patch)
treee3eec59fdac475913e7d96bd6a12af878910573a /vulkaninfo
parent5ac40c6583b7d47467545a01af0a52eedc7ae9b9 (diff)
downloadusermoji-3ed7fe55cdd334a552ffd33d6d8d80496ecc96cf.tar.xz
vulkaninfo: Update to 1.3
Only changes are making the autogen print all required structs, and moving from using the EXT version of tool properties to the core version.
Diffstat (limited to 'vulkaninfo')
-rw-r--r--vulkaninfo/generated/vulkaninfo.hpp39
-rw-r--r--vulkaninfo/vulkaninfo.cpp2
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();
}
}