On 22 January 2014 23:42, Ken Thomases ken@codeweavers.com wrote:
Consolidates duplicated code by using a simpler table-driven mechanism. Instead of manually listing out certain combinations of display formats vs. backbuffer formats, it just lists the formats and some metadata about them. The algorithm tests every format against every format, using the metadata to predict success or failure. This also tests that CheckDeviceType() fails for display formats for which there are no adapter modes, rather than skipping those.
Tests windowed mode.
dlls/d3d9/tests/device.c | 162 ++++++++++++++++++---------------------------- 1 files changed, 64 insertions(+), 98 deletions(-)
This fails on native (Win 7, AMD Radeon HD 6310), and produces quite a lot of output in general:
device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 1 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 1 device.c:2316: Display format D3DFMT_X1R5G5B5 not supported device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 0 device.c:2357: Test failed: format D3DFMT_X1R5G5B5(24) D3DFMT_R5G6B5(23) windowed passed while it wasn't expected to device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 0 device.c:2357: Test failed: format D3DFMT_X1R5G5B5(24) D3DFMT_X1R5G5B5(24) windowed passed while it wasn't expected to device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 0 device.c:2357: Test failed: format D3DFMT_X1R5G5B5(24) D3DFMT_A1R5G5B5(25) windowed passed while it wasn't expected to device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 0 device.c:2357: Test failed: format D3DFMT_X1R5G5B5(24) D3DFMT_X8R8G8B8(22) windowed passed while it wasn't expected to device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 0 device.c:2357: Test failed: format D3DFMT_X1R5G5B5(24) D3DFMT_A8R8G8B8(21) windowed passed while it wasn't expected to device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 0 device.c:2357: Test failed: format D3DFMT_X1R5G5B5(24) D3DFMT_A2R10G10B10(35) windowed passed while it wasn't expected to device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 0 device.c:2357: Test failed: format D3DFMT_X1R5G5B5(24) D3DFMT_UNKNOWN(0) windowed passed while it wasn't expected to device.c:2316: Display format D3DFMT_A1R5G5B5 not supported device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 1 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 1 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 1 device.c:2347: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 1 device.c:2316: Display format D3DFMT_A8R8G8B8 not supported device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 1 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 0 device.c:2316: Display format D3DFMT_UNKNOWN not supported device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 0 device.c:2347: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 0
On Jan 27, 2014, at 5:16 AM, Henri Verbeet wrote:
On 22 January 2014 23:42, Ken Thomases ken@codeweavers.com wrote:
Consolidates duplicated code by using a simpler table-driven mechanism. Instead of manually listing out certain combinations of display formats vs. backbuffer formats, it just lists the formats and some metadata about them. The algorithm tests every format against every format, using the metadata to predict success or failure. This also tests that CheckDeviceType() fails for display formats for which there are no adapter modes, rather than skipping those.
Tests windowed mode.
dlls/d3d9/tests/device.c | 162 ++++++++++++++++++---------------------------- 1 files changed, 64 insertions(+), 98 deletions(-)
This fails on native (Win 7, AMD Radeon HD 6310)
That's very peculiar. This:
device.c:2316: Display format D3DFMT_X1R5G5B5 not supported
means that IDirect3D9_GetAdapterModeCount(…, D3DFMT_X1R5G5B5) returned 0 modes. This:
device.c:2347: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 0 device.c:2357: Test failed: format D3DFMT_X1R5G5B5(24) D3DFMT_R5G6B5(23) windowed passed while it wasn't expected to
means that IDirect3D9_CheckDeviceType(…, D3DFMT_X1R5G5B5, D3DFMT_R5G6B5, TRUE) succeeded.
I would not have expected that CheckDeviceType() would succeed if the DisplayFormat parameter was one which the adapter doesn't support modes for. Prior to my patch, the CheckDeviceType() test would have been skipped when the adapter doesn't provide modes for the display format. I can go back to that, but it seems unfortunate. This result is telling us something potentially important about the behavior of CheckDeviceType().
Do you think I should just ignore "nmodes" for windowed mode? It seems like the test is saying that CheckDeviceType() doesn't care whether the display format is supported for windowed mode. Of course, it's unreliable to extrapolate from a single data point.
… and produces quite a lot of output in general
Yeah, although there was a corresponding trace() in the X8R8G8B8 loop in the old code. Since I was consolidating multiple loops into one, I took the union of the features of all of the loops. I can reduce that if you like.
Thanks for testing on native. And to anybody else listening, I would appreciate more tests on native.
-Ken
On Jan 27, 2014, at 10:28 AM, Ken Thomases wrote:
Thanks for testing on native. And to anybody else listening, I would appreciate more tests on native.
Actually, I have a new patch that I would appreciate help with testing on native. The patch and a pre-compiled test executable are on this testbot job:
Job: https://newtestbot.winehq.org/JobDetails.pl?Key=4471 Patch: https://newtestbot.winehq.org/GetFile.pl?JobKey=4471&StepKey=1 Executable: https://newtestbot.winehq.org/GetFile.pl?JobKey=4471&StepKey=2
Run the executable with the argument "device":
d3d9_test.exe device
Thanks in advance, Ken
On 27 January 2014 19:03, Ken Thomases ken@codeweavers.com wrote:
On Jan 27, 2014, at 10:28 AM, Ken Thomases wrote:
Thanks for testing on native. And to anybody else listening, I would appreciate more tests on native.
Actually, I have a new patch that I would appreciate help with testing on native. The patch and a pre-compiled test executable are on this testbot job:
Job: https://newtestbot.winehq.org/JobDetails.pl?Key=4471 Patch: https://newtestbot.winehq.org/GetFile.pl?JobKey=4471&StepKey=1 Executable: https://newtestbot.winehq.org/GetFile.pl?JobKey=4471&StepKey=2
device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 1 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_R5G6B5, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 1 device.c:2316: Display format D3DFMT_X1R5G5B5 not supported device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X1R5G5B5, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 1 device.c:2316: Display format D3DFMT_A1R5G5B5 not supported device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A1R5G5B5, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 1 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 1 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 1 device.c:2354: Testing display format D3DFMT_X8R8G8B8, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 1 device.c:2316: Display format D3DFMT_A8R8G8B8 not supported device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A8R8G8B8, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 1 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_A2R10G10B10, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 0 device.c:2316: Display format D3DFMT_UNKNOWN not supported device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_R5G6B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_X1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A1R5G5B5, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_X8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A8R8G8B8, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A2R10G10B10, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_UNKNOWN, windowed 0, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_R5G6B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_X1R5G5B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A1R5G5B5, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_X8R8G8B8, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A8R8G8B8, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_A2R10G10B10, windowed 1, shouldPass 0 device.c:2354: Testing display format D3DFMT_UNKNOWN, backbuffer format D3DFMT_UNKNOWN, windowed 1, shouldPass 0 device: 100 tests executed (0 marked as todo, 0 failures), 0 skipped.
On Jan 27, 2014, at 12:20 PM, Henri Verbeet wrote:
device: 100 tests executed (0 marked as todo, 0 failures), 0 skipped.
Excellent. Bruno also reports no test failures with the new patch. And it removes the broken() entirely, so I'm more confident that it's meaningful.
I'll reduce the tracing and resubmit, unless I get bad news from other folks' testing.
-Ken
On 27 January 2014 17:28, Ken Thomases ken@codeweavers.com wrote:
device.c:2316: Display format D3DFMT_X1R5G5B5 not supported
means that IDirect3D9_GetAdapterModeCount(…, D3DFMT_X1R5G5B5) returned 0 modes. This:
MSDN for IDirect3D9_EnumAdapterModes() also seems to hint that D3DFMT_R5G6B5, D3DFMT_X1R5G5B5 and D3DFMT_A1R5G5B5 are supposed to be equivalent as far as display modes are concerned. This may be a quirk of the AMD driver, but I don't have a lot of Windows or NVIDIA systems to really compare.
Do you think I should just ignore "nmodes" for windowed mode? It seems like the test is saying that CheckDeviceType() doesn't care whether the display format is supported for windowed mode. Of course, it's unreliable to extrapolate from a single data point.
I'm not sure.
Come to think about it, the broken() in this test is perhaps a bit overly broad as well.
… and produces quite a lot of output in general
Yeah, although there was a corresponding trace() in the X8R8G8B8 loop in the old code. Since I was consolidating multiple loops into one, I took the union of the features of all of the loops. I can reduce that if you like.
Yeah, it's nice for debugging now, but in the general case it just makes it harder to spot failures.