Repository navigation
Fix #545: Windows renders through DX12 before Vulkan - #549
Merged
Merged
Conversation
Windows lists each GPU under both backends, and Vulkan came first. On an Intel GPU its driver made the whole window flicker black while the pointer moved; the same machine was fine with WGPU_BACKEND=dx12 or gl. adapter_order now ranks a GPU's DX12 adapter before its Vulkan one, after the power preference, so the GPU chosen doesn't change, only how it is driven. Vulkan stays the fallback (a failed DX12 start restarts on it) and WGPU_BACKEND=vulkan still picks it. Elsewhere there is no DX12 adapter, so nothing changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
On Windows every GPU is listed twice, once for Vulkan and once for DX12, and Vulkan came first. On the reporter's Intel GPU, Vulkan made the whole window flicker black while the pointer moved;
WGPU_BACKEND=dx12orglfixed it on the same machine.gpu::adapter_ordernow puts a GPU's DX12 adapter before its Vulkan one. This comes after the power preference, so the GPU chosen is the same as before; only the backend that drives it changes.WGPU_BACKEND=vulkanstill picks it. Linux, macOS and the web have no DX12 adapter, so nothing changes there.docs/development.md(Desktop graphics processor) and the ROADMAP.Checks
origin/main85dcb28.cargo test -p vectorcraft gpu: 13 passed.rendering with Intel(R) UHD Graphics 770 (Dx12, IntegratedGpu)andui.inspectagrees. Drawing and pointer moves render correctly.cargo xtask ciruns with the next integration batch.🤖 Generated with Claude Code