aboutsummaryrefslogtreecommitdiff
path: root/vulkaninfo/vulkaninfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'vulkaninfo/vulkaninfo.cpp')
-rw-r--r--vulkaninfo/vulkaninfo.cpp105
1 files changed, 56 insertions, 49 deletions
diff --git a/vulkaninfo/vulkaninfo.cpp b/vulkaninfo/vulkaninfo.cpp
index 6007687f..bb95d3a2 100644
--- a/vulkaninfo/vulkaninfo.cpp
+++ b/vulkaninfo/vulkaninfo.cpp
@@ -74,7 +74,7 @@ void DumpLayers(Printer &p, std::vector<LayerExtensionList> layers, const std::v
ArrayWrapper arr_devices(p, "Devices", gpus.size());
for (auto &gpu : gpus) {
- p.PrintKeyValue("GPU id", gpu->id, 0, gpu->props.deviceName);
+ p.PrintKeyValue("GPU id", gpu->id, gpu->props.deviceName);
auto exts = gpu->AppGetPhysicalDeviceLayerExtensions(props.layerName);
DumpExtensions(p, "Layer-Device", exts);
p.AddNewline();
@@ -96,15 +96,16 @@ void DumpLayers(Printer &p, std::vector<LayerExtensionList> layers, const std::v
ObjectWrapper obj(p, "Layer Properties");
for (auto &layer : layers) {
ObjectWrapper obj_name(p, layer.layer_properties.layerName);
- p.PrintKeyString("layerName", layer.layer_properties.layerName, 21);
- p.PrintKeyString("version", VkVersionString(layer.layer_properties.specVersion), 21);
- p.PrintKeyValue("implementation version", layer.layer_properties.implementationVersion, 21);
- p.PrintKeyString("description", layer.layer_properties.description, 21);
+ p.SetMinKeyWidth(21);
+ p.PrintKeyString("layerName", layer.layer_properties.layerName);
+ p.PrintKeyString("version", VkVersionString(layer.layer_properties.specVersion));
+ p.PrintKeyValue("implementation version", layer.layer_properties.implementationVersion);
+ p.PrintKeyString("description", layer.layer_properties.description);
DumpExtensions(p, "Layer", layer.extension_properties);
ObjectWrapper obj_devices(p, "Devices");
for (auto &gpu : gpus) {
ObjectWrapper obj_gpu(p, gpu->props.deviceName);
- p.PrintKeyValue("GPU id", gpu->id, 0, gpu->props.deviceName);
+ p.PrintKeyValue("GPU id", gpu->id, gpu->props.deviceName);
auto exts = gpu->AppGetPhysicalDeviceLayerExtensions(layer.layer_properties.layerName);
DumpExtensions(p, "Layer-Device", exts);
}
@@ -292,13 +293,14 @@ void GpuDumpProps(Printer &p, AppGpu &gpu) {
p.SetSubHeader();
{
ObjectWrapper obj(p, "VkPhysicalDeviceProperties");
- p.PrintKeyValue("apiVersion", props.apiVersion, 17, VkVersionString(props.apiVersion));
- p.PrintKeyValue("driverVersion", props.driverVersion, 17, to_hex_str(props.driverVersion));
- p.PrintKeyString("vendorID", to_hex_str(props.vendorID), 17);
- p.PrintKeyString("deviceID", to_hex_str(props.deviceID), 17);
- p.PrintKeyString("deviceType", VkPhysicalDeviceTypeString(props.deviceType), 17);
- p.PrintKeyString("deviceName", props.deviceName, 17);
- p.PrintKeyString("pipelineCacheUUID", to_string_16(props.pipelineCacheUUID), 17);
+ p.SetMinKeyWidth(17);
+ p.PrintKeyValue("apiVersion", props.apiVersion, VkVersionString(props.apiVersion));
+ p.PrintKeyValue("driverVersion", props.driverVersion, to_hex_str(props.driverVersion));
+ p.PrintKeyString("vendorID", to_hex_str(props.vendorID));
+ p.PrintKeyString("deviceID", to_hex_str(props.deviceID));
+ p.PrintKeyString("deviceType", VkPhysicalDeviceTypeString(props.deviceType));
+ p.PrintKeyString("deviceName", props.deviceName);
+ p.PrintKeyString("pipelineCacheUUID", to_string_16(props.pipelineCacheUUID));
}
p.AddNewline();
DumpVkPhysicalDeviceLimits(p, "VkPhysicalDeviceLimits", gpu.props.limits);
@@ -314,12 +316,13 @@ void GpuDumpProps(Printer &p, AppGpu &gpu) {
void GpuDumpPropsJson(Printer &p, AppGpu &gpu) {
auto props = gpu.GetDeviceProperties();
ObjectWrapper obj(p, "VkPhysicalDeviceProperties");
- p.PrintKeyValue("apiVersion", props.apiVersion, 14, VkVersionString(props.apiVersion));
- p.PrintKeyValue("driverVersion", props.driverVersion, 14, to_hex_str(props.driverVersion));
- p.PrintKeyValue("vendorID", props.vendorID, 14);
- p.PrintKeyValue("deviceID", props.deviceID, 14);
- p.PrintKeyValue("deviceType", props.deviceType, 14);
- p.PrintKeyString("deviceName", props.deviceName, 14);
+ p.SetMinKeyWidth(24);
+ p.PrintKeyValue("apiVersion", props.apiVersion, VkVersionString(props.apiVersion));
+ p.PrintKeyValue("driverVersion", props.driverVersion, to_hex_str(props.driverVersion));
+ p.PrintKeyValue("vendorID", props.vendorID);
+ p.PrintKeyValue("deviceID", props.deviceID);
+ p.PrintKeyValue("deviceType", props.deviceType);
+ p.PrintKeyString("deviceName", props.deviceName);
{
ArrayWrapper arr(p, "pipelineCacheUUID", VK_UUID_SIZE);
for (uint32_t i = 0; i < VK_UUID_SIZE; ++i) {
@@ -335,25 +338,27 @@ void GpuDumpQueueProps(Printer &p, AppGpu &gpu, std::vector<SurfaceExtension> &s
VkQueueFamilyProperties props = queue.props;
p.SetSubHeader().SetElementIndex(static_cast<int>(queue.queue_index));
ObjectWrapper obj_queue_props(p, "queueProperties");
+ p.SetMinKeyWidth(27);
if (p.Type() == OutputType::vkconfig_output) {
DumpVkExtent3D(p, "minImageTransferGranularity", props.minImageTransferGranularity);
} else {
- p.PrintKeyValue("minImageTransferGranularity", props.minImageTransferGranularity, 27);
+ p.PrintKeyValue("minImageTransferGranularity", props.minImageTransferGranularity);
}
- p.PrintKeyValue("queueCount", props.queueCount, 27);
- p.PrintKeyString("queueFlags", VkQueueFlagsString(props.queueFlags), 27);
- p.PrintKeyValue("timestampValidBits", props.timestampValidBits, 27);
+ p.PrintKeyValue("queueCount", props.queueCount);
+ p.PrintKeyString("queueFlags", VkQueueFlagsString(props.queueFlags));
+ p.PrintKeyValue("timestampValidBits", props.timestampValidBits);
if (queue.is_present_platform_agnostic) {
- p.PrintKeyString("present support", queue.platforms_support_present ? "true" : "false", 27);
+ p.PrintKeyString("present support", queue.platforms_support_present ? "true" : "false");
} else {
size_t width = 0;
for (auto &surface : surfaces) {
if (surface.name.size() > width) width = surface.name.size();
}
ObjectWrapper obj_present_support(p, "present support");
+ p.SetMinKeyWidth(width);
for (auto &surface : surfaces) {
- p.PrintKeyString(surface.name, surface.supports_present ? "true" : "false", width);
+ p.PrintKeyString(surface.name, surface.supports_present ? "true" : "false");
}
}
chain_iterator_queue_properties2(p, gpu, queue.pNext, gpu.api_version);
@@ -363,10 +368,11 @@ void GpuDumpQueueProps(Printer &p, AppGpu &gpu, std::vector<SurfaceExtension> &s
void GpuDumpQueuePropsJson(Printer &p, std::vector<SurfaceExtension> &surfaces, VkQueueFamilyProperties props) {
ObjectWrapper obj(p, "");
+ p.SetMinKeyWidth(27);
DumpVkExtent3D(p, "minImageTransferGranularity", props.minImageTransferGranularity);
- p.PrintKeyValue("queueCount", props.queueCount, 27);
- p.PrintKeyValue("queueFlags", props.queueFlags, 27);
- p.PrintKeyValue("timestampValidBits", props.timestampValidBits, 27);
+ p.PrintKeyValue("queueCount", props.queueCount);
+ p.PrintKeyValue("queueFlags", props.queueFlags);
+ p.PrintKeyValue("timestampValidBits", props.timestampValidBits);
}
// This prints a number of bytes in a human-readable format according to prefixes of the International System of Quantities (ISQ),
@@ -410,22 +416,22 @@ void GpuDumpMemoryProps(Printer &p, AppGpu &gpu) {
for (uint32_t i = 0; i < gpu.memory_props.memoryHeapCount; ++i) {
p.SetElementIndex(static_cast<int>(i));
ObjectWrapper obj_mem_heap(p, "memoryHeaps");
-
- p.PrintKeyString("size", append_human_readable(gpu.memory_props.memoryHeaps[i].size), 6);
+ p.SetMinKeyWidth(6);
+ p.PrintKeyString("size", append_human_readable(gpu.memory_props.memoryHeaps[i].size));
if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_MEMORY_BUDGET_EXTENSION_NAME)) {
- p.PrintKeyString("budget", append_human_readable(gpu.heapBudget[i]), 6);
- p.PrintKeyString("usage", append_human_readable(gpu.heapUsage[i]), 6);
+ p.PrintKeyString("budget", append_human_readable(gpu.heapBudget[i]));
+ p.PrintKeyString("usage", append_human_readable(gpu.heapUsage[i]));
}
- DumpVkMemoryHeapFlags(p, "flags", gpu.memory_props.memoryHeaps[i].flags, 6);
+ DumpVkMemoryHeapFlags(p, "flags", gpu.memory_props.memoryHeaps[i].flags);
}
}
{
ObjectWrapper obj_mem_types(p, "memoryTypes", gpu.memory_props.memoryTypeCount);
-
for (uint32_t i = 0; i < gpu.memory_props.memoryTypeCount; ++i) {
p.SetElementIndex(static_cast<int>(i));
ObjectWrapper obj_mem_type(p, "memoryTypes");
- p.PrintKeyValue("heapIndex", gpu.memory_props.memoryTypes[i].heapIndex, 13);
+ p.SetMinKeyWidth(13);
+ p.PrintKeyValue("heapIndex", gpu.memory_props.memoryTypes[i].heapIndex);
auto flags = gpu.memory_props.memoryTypes[i].propertyFlags;
DumpVkMemoryPropertyFlags(p, "propertyFlags = " + to_hex_str(flags), flags);
@@ -492,8 +498,8 @@ void GpuDumpMemoryPropsJson(Printer &p, AppGpu &gpu) {
ArrayWrapper arr(p, "memoryTypes", gpu.memory_props.memoryTypeCount);
for (uint32_t i = 0; i < gpu.memory_props.memoryTypeCount; ++i) {
ObjectWrapper obj(p, "");
- p.PrintKeyValue("heapIndex", gpu.memory_props.memoryTypes[i].heapIndex, 13);
- p.PrintKeyValue("propertyFlags", gpu.memory_props.memoryTypes[i].propertyFlags, 13);
+ p.PrintKeyValue("heapIndex", gpu.memory_props.memoryTypes[i].heapIndex);
+ p.PrintKeyValue("propertyFlags", gpu.memory_props.memoryTypes[i].propertyFlags);
}
}
}
@@ -719,13 +725,14 @@ void DumpSummaryInstance(Printer &p, AppInstance &inst) {
void DumpSummaryGPU(Printer &p, AppGpu &gpu) {
ObjectWrapper obj(p, "GPU" + std::to_string(gpu.id));
+ p.SetMinKeyWidth(18);
auto props = gpu.GetDeviceProperties();
- p.PrintKeyValue("apiVersion", props.apiVersion, 18, VkVersionString(props.apiVersion));
- p.PrintKeyValue("driverVersion", props.driverVersion, 18, to_hex_str(props.driverVersion));
- p.PrintKeyString("vendorID", to_hex_str(props.vendorID), 18);
- p.PrintKeyString("deviceID", to_hex_str(props.deviceID), 18);
- p.PrintKeyString("deviceType", VkPhysicalDeviceTypeString(props.deviceType), 18);
- p.PrintKeyString("deviceName", props.deviceName, 18);
+ p.PrintKeyValue("apiVersion", props.apiVersion, VkVersionString(props.apiVersion));
+ p.PrintKeyValue("driverVersion", props.driverVersion, to_hex_str(props.driverVersion));
+ p.PrintKeyString("vendorID", to_hex_str(props.vendorID));
+ p.PrintKeyString("deviceID", to_hex_str(props.deviceID));
+ p.PrintKeyString("deviceType", VkPhysicalDeviceTypeString(props.deviceType));
+ p.PrintKeyString("deviceName", props.deviceName);
if (gpu.inst.CheckExtensionEnabled(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME) &&
(gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME) || gpu.api_version.minor >= 2)) {
@@ -734,15 +741,15 @@ void DumpSummaryGPU(Printer &p, AppGpu &gpu) {
VkBaseOutStructure *structure = static_cast<VkBaseOutStructure *>(place);
if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES) {
VkPhysicalDeviceDriverProperties *driver_props = reinterpret_cast<VkPhysicalDeviceDriverProperties *>(structure);
- DumpVkDriverId(p, "driverID", driver_props->driverID, 18);
- p.PrintKeyString("driverName", driver_props->driverName, 18);
- p.PrintKeyString("driverInfo", driver_props->driverInfo, 18);
- DumpVkConformanceVersion(p, "conformanceVersion", driver_props->conformanceVersion, 18);
+ DumpVkDriverId(p, "driverID", driver_props->driverID);
+ p.PrintKeyString("driverName", driver_props->driverName);
+ p.PrintKeyString("driverInfo", driver_props->driverInfo);
+ DumpVkConformanceVersion(p, "conformanceVersion", driver_props->conformanceVersion);
}
if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES) {
VkPhysicalDeviceIDProperties *device_id_props = reinterpret_cast<VkPhysicalDeviceIDProperties *>(structure);
- p.PrintKeyString("deviceUUID", to_string_16(device_id_props->deviceUUID), 18);
- p.PrintKeyString("driverUUID", to_string_16(device_id_props->driverUUID), 18);
+ p.PrintKeyString("deviceUUID", to_string_16(device_id_props->deviceUUID));
+ p.PrintKeyString("driverUUID", to_string_16(device_id_props->driverUUID));
}
place = structure->pNext;
}