vkconfig: Vulkan Info makes it hard to find the VkPhysicalDeviceProperties
Promoted from here: https://gitlab.khronos.org/vulkan/Vulkan-SDK-Packaging/-/issues/450
"(among the rest of the voluminous output). But when I run vkconfig and select Tools->Vulkan Info, the order of information is altered (VkPhysicalDeviceProperties is not found at the top, but about in the middle (the properties seem to be in alphabetical order). This is confusing and unexpected if you are used to vulkaninfo. It makes it hard to locate what is likely some of the most important information about your device. (I initially thought the information was completely missing; I had to search to locate it.)"
For such a verbose listing of 'everything' leaving this alphabetized might be the best approach. Long term, we should add a summary feature to vkconfig where the most important and most frequently needed information is curated.
Vulkaninfo is in the https://github.com/KhronosGroup/Vulkan-Tools repo, should this be moved over there?
@charles-lunarg No, Vulkaninfo is fine afar as this issue goes. The output is json and json does not support any ordering other than alphabetical (unless we want to do our own json implementation, which I don't recommend). We can manually have the code select that key and display it first (it just goes in the order the json parser provides), or we can perhaps have a more elegant feature that gives the user the same information in a more succinct format. This is something to bounce off of @christophe-lunarg , I bet he has some good ideas on revamping this info display.
My 0.02€...
Of all the information that appears in vulkaninfo, the things I am interested in, in order, are:
- VkPhysicalDeviceProperties for all detected GPUs
- Vulkan Instance Version
- Layer list (only a list of supported layers - don't need all the info)
- Instance Extensions
I've never needed any of the other information in the past 2 years. But I do think it's useful for exceptional cases (e.g. "why does an obscure VVL test crash on this device?").
I'd like to see a special synthetic section at the top, perhaps titled Summary, that contains the expected "interesting" information (making it easy to find). Then the information can still be found in the alphabetical list of properties (for consistency).
Note that Richard's comment on the original issue was partially correct:
This might just be an issue of "not what I'm used to".
But I also note that it seems vulkaninfo deliberately chose to order its information output (instead of sorting by alphabetical property names) to make some types of information appear first. I think vkconfig would both be enhanced with the same philosophy, and would avoid confusing users who expect (from the legacy vulkaninfo) to find the interesting information first.
(I thought initially that the information was missing because it wasn't in the same place that vulkaninfo put it. I had to put some effort into analysis to figure out it was actually still there. I imagine others could be as confused as I was.)
It's also possible that vulkaninfo would be well-served to put the important information first (or to support a switch that only outputs "interesting" information to console, as changing the established output of a tool that's been around for years is asking for trouble).
I actually had a summary branch sitting on my computer since forever ago. https://github.com/KhronosGroup/Vulkan-Tools/tree/charles_vulkaninfo_summary It reports almost the exact same information, save for the instance extensions.
The reason the order was changed in vkconfig is due to using json, which doesn't preserve the order that vulkaninfo outputs. Interestingly, the code-gen does alphabetize the extension properties and features, but keeps everything in a relative order so you know generally what goes where.