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

Make graphics adapter creation list all adapters one by one and inform why they weren't picked #8475

Open
Wumpf opened this issue Dec 16, 2024 · 0 comments
Labels
egui Requires egui/eframe work 🔺 re_renderer affects re_renderer itself

Comments

@Wumpf
Copy link
Member

Wumpf commented Dec 16, 2024

Closely related to:

Today, we (that's egui) use request_adapter to pick a graphics device. That's fine for many usecases, but it would be better if we went through all available adapters one by one using enumerate_adapters and list out the reasons why we didn't pick each of them.
The result should be available both on failure case (none is suitable) and on success case (in debug log and upon request in the viewer)

It's tempting to pull out adapter creation entirely out of egui and into re_renderer. However we need to take into account the surface as well:

  • this is a strict requirement when using WebGL
  • on OpenGL & Linux it helps to know the surface because either Vulkan or OpenGL may not be happy with all surfaces

and by doing so we're still bound to surface creation which in turn is tied to window creation

@Wumpf Wumpf added egui Requires egui/eframe work 🔺 re_renderer affects re_renderer itself labels Dec 16, 2024
Wumpf added a commit that referenced this issue Dec 17, 2024
…rly error on unsupported render targets (#8476)

### Related

* Fixes #8466
* Related to #8475


### What

Improved & sharpend overall how we handle device tiers. Next steps that
went too far in scope right now detailed in
* #8475


### Testing

this shouldn't be all that problematic, but just in case let's be
thorough:

* [x] WebGL
* [x] WebGPU
* [x] Mac Metal
* [x] Windows Vulkan
* [x] Windows OpenGL
* [ ] Linux Vulkan
* [ ] Linux OpengL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
egui Requires egui/eframe work 🔺 re_renderer affects re_renderer itself
Projects
None yet
Development

No branches or pull requests

1 participant