Extend WgpuSetup
, make egui_kittest
wgpu setup configurable & prefer software rasterizers for testing
#5506
+362
−172
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See lengthy title! :)
The main addition to
WgpuSetup
is the ability to use manually select an adapter out ofenumerate_adapters
on native. This allows for maximum flexibility while still being able to check against for surface compatibility! (which is in contrast toWgpuSetup::Existing
which is pretty much as flexible but can't know about the surface).egui_kittest
now usesWgpuSetup
so it has all the same flexibility in configuration. But it uses a different default which will prefer software rasterizers.-> At first I thought
request_adapter
'sforce_fallback_adapter
is what I needed here, but this forcing functionality isn't all that great since it will fail if there's no software rasterizer around (which is unfortunately the regular state of things on Mac). Since it also doesn't have any effect on WebGPU (unlike power preference!), I removed it again fromWgpuSetup
as it doesn't seem to be all that useful in general to me 🤷There's some more fairly aggressive Arc'ing going on here since it made my life a lil bit easier and I figured those will all go away anyways once
is landed and released :)
TODO: