tests: Fix some tests on Qualcomm.
Do we care about an Adreno 540 with a proprietary driver offering nothing more than Vulkan 1.0 with ridiculously insufficient extensions and features to fully emulate D3D12? Probably not too much. But I argue that it's useful to run our tests there, if nothing else because throwing our Vulkan commands to a wider range of implementations can help us discover more problems (see for example tests: Transition all resources to PIXEL_SHADER_RESOURCE.
in this MR, which actually caused a crash on Qualcomm). Also that GPU, while surely insufficient for many applications, is still able to run simple D3D12 programs, and with the new x86-on-ARM support being added to Wine there are already experiments around to run desktop games on phones. Given that this should not get too much in the way of main desktop development, I see no reason to drop it.
Merge request reports
Activity
+ if (is_qualcomm_device(device)) + { + skip("Sampling a cube texture crashes on Qualcomm.\n"); + break; + }
I suspect that condition is going to turn out to be a bit too broad, but it's probably fine as a start.
Subject: [PATCH 2/4] tests: Transition all resources to PIXEL_SHADER_RESOURCE.
I think that commit message has some room for improvement.
Subject: [PATCH 3/4] tests: Check that depth/stencil formats are supported before using them. This fixes a crash with the Qualcomm proprietary driver on an Adreno 540 GPU on my OnePlus 5 phone.
Is that with any formats in particular? I didn't check all the formats in the test, but IIRC e.g. D24S8 is required to be supported for feature level 12.0. It's fine to allow the tests to run on implementations that don't support those, but perhaps that should be a todo_if(is_qualcomm_device(device)) instead of a skip().
I think that commit message has some room for improvement.
Not sure of what you don't like, but hopefully it's better now.
Is that with any formats in particular? I didn't check all the formats in the test, but IIRC e.g. D24S8 is required to be supported for feature level 12.0. It's fine to allow the tests to run on implementations that don't support those, but perhaps that should be a todo_if(is_qualcomm_device(device)) instead of a skip().
It's with
DXGI_FORMAT_D32_FLOAT_S8X24_UINT
, which however seems required anyway since FL 10.0. I changed it to a todo.
added 5 commits
-
46a1b66d - 1 commit from branch
wine:master
- ffaaedf7 - tests: Skip sampling cube textures on Qualcomm.
- 9737a487 - tests: Transition all resources to PIXEL_SHADER_RESOURCE.
- 90356459 - tests: Check that depth/stencil formats are supported before using them.
- d73de670 - vkd3d: Do not synchronize with the tessellation shader stages if they're not enabled.
Toggle commit list-
46a1b66d - 1 commit from branch
added 9 commits
-
c64fb188...ccb6150a - 5 commits from branch
wine:master
- 02cb7b77 - tests: Skip sampling cube textures on Qualcomm.
- 1639a4e1 - tests: Transition resources to PIXEL_SHADER_RESOURCE in test_sample_c_lz().
- 5f0df47d - tests: Check that depth/stencil formats are supported before using them.
- 63a78f3a - vkd3d: Do not synchronize with the tessellation shader stages if they're not enabled.
Toggle commit list-
c64fb188...ccb6150a - 5 commits from branch
added 30 commits
-
63a78f3a...937a80ea - 26 commits from branch
wine:master
- fe787cf7 - tests: Skip sampling cube textures on Qualcomm.
- 9f056f39 - tests: Transition resources to PIXEL_SHADER_RESOURCE in test_sample_c_lz().
- 3ff81305 - tests: Check that depth/stencil formats are supported before using them.
- 7958babb - vkd3d: Do not synchronize with the tessellation shader stages if they're not enabled.
Toggle commit list-
63a78f3a...937a80ea - 26 commits from branch