From 67d0fc6389ffc3cc5802975f8b161f853c11a7ec Mon Sep 17 00:00:00 2001 From: Charles Giessen Date: Thu, 12 Nov 2020 14:28:32 -0700 Subject: [PATCH] vulkaninfo: Make json output print extensions The json schema includes an array of extensions, yet vulkaninfo was not printing them. This commit remedies that. Change-Id: I4ae8627660f16d7c831704ba4b082870b5e62bb5 --- vulkaninfo/outputprinter.h | 4 ++++ vulkaninfo/vulkaninfo.cpp | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/vulkaninfo/outputprinter.h b/vulkaninfo/outputprinter.h index 42e15e4..862e965 100644 --- a/vulkaninfo/outputprinter.h +++ b/vulkaninfo/outputprinter.h @@ -603,6 +603,10 @@ class Printer { << DecorateAsValue(std::to_string(revision)) << "\n"; break; case (OutputType::json): + ObjectStart(""); + PrintKeyString("extensionName", ext_name); + PrintKeyValue("specVersion", revision); + ObjectEnd(); break; case (OutputType::vkconfig_output): ObjectStart(ext_name); diff --git a/vulkaninfo/vulkaninfo.cpp b/vulkaninfo/vulkaninfo.cpp index d771bf8..ef8a869 100644 --- a/vulkaninfo/vulkaninfo.cpp +++ b/vulkaninfo/vulkaninfo.cpp @@ -698,6 +698,13 @@ void DumpGpuJson(Printer &p, AppGpu &gpu) { GpuDumpQueuePropsJson(p, gpu.inst.surface_extensions, queue_props); } } + { + ArrayWrapper arr(p, "ArrayOfVkExtensionProperties"); + for (auto &ext : gpu.device_extensions) { + p.PrintExtension(ext.extensionName, ext.specVersion); + } + } + GpuDumpMemoryPropsJson(p, gpu); DumpVkPhysicalDeviceFeatures(p, "VkPhysicalDeviceFeatures", gpu.features); GpuDevDumpJson(p, gpu); -- 2.7.4