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

Marking some extensions as "not expected to be supported by driver" #96

Closed
spencer-lunarg opened this issue Aug 28, 2024 · 10 comments
Closed
Assignees

Comments

@spencer-lunarg
Copy link

There are some extension VK_EXT_validation_features, VK_EXT_debug_utils, VK_EXT_layer_settings that are not suppose to be implemented by the driver, but instead the loader/layers

This becomes an issue for people newer to Vulkan and mix the fact "gpuinfo says no one supports VK_EXT_debug_utils so I can't use it" vs "the driver itself doesn't do the work"

One idea was maybe having some asterisk or some UI marker to help mark these (or maybe remove from the display at all)

If you want to go ahead with this, I can gather all the "drivers aren't expected to implement it" extensions for you as well

@SaschaWillems
Copy link
Owner

It's something I noticed in the past, some drivers seem to report instance as device extensions. Esp. on Android.

I'm open for somehow excluding this, as long as it doesn't require a lot of manual intervention. So if it's e.g. a small list of extensions that doesn't change a lot I could add that as a table and simply hide those extensions from all SQL queries.

If you can provide such a list, I can start designing a solution.

@charles-lunarg
Copy link

VK_EXT_tooling_info comes to mind as well. And VK_EXT_debug_report/marker but those are deprecated so shouldn't warrant extra attention.

@spencer-lunarg
Copy link
Author

VK_EXT_validation_flags as well

so I think the list so far is

  • VK_EXT_layer_settings
  • VK_EXT_validation_features
  • VK_EXT_validation_flags
  • VK_EXT_debug_utils
  • VK_EXT_debug_report
  • VK_EXT_debug_marker

@SaschaWillems SaschaWillems self-assigned this Sep 16, 2024
@SaschaWillems
Copy link
Owner

Looking at that list and the sadly large no. of reports that get this wrong the only option I see is putting those into a table and then exclude them from all coverage listing. I can then also use that to highlight those in the report detail view.

@Tobski
Copy link

Tobski commented Sep 16, 2024

The only other one I can think of is maybe VK_EXT_headless_surface, which I'm fairly sure is a layer implementation only?

@SaschaWillems
Copy link
Owner

Afaik it's also available as an instance extension (aside from the layer). But anyways, if a device reports it as a device extension, it's obviously wrong ;)

@SaschaWillems
Copy link
Owner

SaschaWillems commented Sep 18, 2024

Some stats:

Extension Reports
VK_EXT_debug_report 189
VK_EXT_debug_utils 192

No reports yet for the other extensions mentioned here. Will try to add a way to exclude those from results and highlight them in the reports with an upcoming update.

@SaschaWillems
Copy link
Owner

Quick note: VK_EXT_debug_marker is indeed a device extension, so I won't remove that one.

@SaschaWillems
Copy link
Owner

The database now does two things:

Extensions are managed using a blacklist table, so if you encounter other device extensions wrongly reported as instance extensions, drop me a line :)

@spencer-lunarg
Copy link
Author

image

This is awesome! Thanks @SaschaWillems !!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants