wgpu icon indicating copy to clipboard operation
wgpu copied to clipboard

Windows 11's WARP Passes the Water Example Image Comparison Test

Open cwfitzgerald opened this issue 2 years ago • 1 comments

Description

Follow up to #2746 which found that Windows 11's version of WARP passes the image comparison tests while Windows 10's don't. We currently have no way of representing this state in our testing framework.

We need some way of exposing something like the driver version, which we can hopefully use to guard the tests.

Repro steps

Run cargo nextest run water and see the test fail because the image comparison succeeded.

cwfitzgerald avatar Jun 10 '22 21:06 cwfitzgerald

DirextX doesn't seem to provide a way of getting the driver version directly, so you have to dig through the registry instead. GPUDetect implements the prior explanation plus verifying the LUID here.

I pulled these values from three PCs: one that came with Windows 11, one that was upgraded to Windows 11, and one on Windows 10.

OS Product Version Subversion Build Age
Windows 11 0xa 0x0000 0x55f0 0x0001 newest
Windows 11 (upgraded) 0xa 0x0000 0x55f0 0x0001 newest
Windows 11 (upgraded) 0xa 0x0000 0x4a61 0x0364 oldest
Windows 10 0xa 0x0000 0x4a61 0x0364 newest
Windows 10 0xa 0x0000 0x4a61 0x0054 oldest

The Subversion field being >=0x55f0 seems to be a reliable indicator of the Microsoft Basic Render Driver being the fixed Windows 11 driver, 0x4a61 being the original Windows 10 driver.

PrototypeNM1 avatar Jul 11 '22 07:07 PrototypeNM1

All good information - I think as this is a testing problem, we should just encourage people who hit this problem to get the new WARP nuget package, so they can just fix the problem.

I will look to get information on how to actually use it.

cwfitzgerald avatar Oct 14 '23 03:10 cwfitzgerald