Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vkconfig: Vulkan Info makes it hard to find the VkPhysicalDeviceProperties #1062

Open
richard-lunarg opened this issue Jul 30, 2020 · 4 comments
Assignees

Comments

@richard-lunarg
Copy link
Contributor

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.

@charles-lunarg
Copy link
Contributor

Vulkaninfo is in the https://github.com/KhronosGroup/Vulkan-Tools repo, should this be moved over there?

@richard-lunarg
Copy link
Contributor Author

richard-lunarg commented Jul 30, 2020

@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.

@lunarpapillo
Copy link
Contributor

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).

@charles-lunarg
Copy link
Contributor

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.

@christophe-lunarg christophe-lunarg added P3 Debt / Refactoring / Cosmetic and removed P3 Debt / Refactoring / Cosmetic labels Aug 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants