Should fix https://bugs.winehq.org/show_bug.cgi?id=51827
I tested this on a Windows 10 VM. With last=4 it failed about 50% of the time, with last=3 it passed 100 tests without any failures.
-- v2: d3dx10/tests: Disable a PreloadGlyphs test for d3dx10_34.
From: Sven Baars sbaars@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51827 Signed-off-by: Sven Baars sbaars@codeweavers.com --- dlls/d3dx10_34/tests/Makefile.in | 1 + dlls/d3dx10_35/tests/Makefile.in | 1 + dlls/d3dx10_36/tests/Makefile.in | 1 + dlls/d3dx10_37/tests/Makefile.in | 1 + dlls/d3dx10_38/tests/Makefile.in | 1 + dlls/d3dx10_39/tests/Makefile.in | 1 + dlls/d3dx10_40/tests/Makefile.in | 1 + dlls/d3dx10_41/tests/Makefile.in | 1 + dlls/d3dx10_42/tests/Makefile.in | 1 + dlls/d3dx10_43/tests/Makefile.in | 1 + dlls/d3dx10_43/tests/d3dx10.c | 7 +++++-- 11 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/dlls/d3dx10_34/tests/Makefile.in b/dlls/d3dx10_34/tests/Makefile.in index 77795f87885..9887f5f5c43 100644 --- a/dlls/d3dx10_34/tests/Makefile.in +++ b/dlls/d3dx10_34/tests/Makefile.in @@ -1,6 +1,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES TESTDLL = d3dx10_34.dll IMPORTS = d3dx10_34 ole32 gdi32 +EXTRADEFS = -DD3DX10_SDK_VERSION=34 PARENTSRC = ../../d3dx10_43/tests
C_SRCS = \ diff --git a/dlls/d3dx10_35/tests/Makefile.in b/dlls/d3dx10_35/tests/Makefile.in index 95777543e56..c6f52868ad7 100644 --- a/dlls/d3dx10_35/tests/Makefile.in +++ b/dlls/d3dx10_35/tests/Makefile.in @@ -1,6 +1,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES TESTDLL = d3dx10_35.dll IMPORTS = d3dx10_35 ole32 gdi32 +EXTRADEFS = -DD3DX10_SDK_VERSION=35 PARENTSRC = ../../d3dx10_43/tests
C_SRCS = \ diff --git a/dlls/d3dx10_36/tests/Makefile.in b/dlls/d3dx10_36/tests/Makefile.in index d2cd9c02350..97d4346e3cf 100644 --- a/dlls/d3dx10_36/tests/Makefile.in +++ b/dlls/d3dx10_36/tests/Makefile.in @@ -1,6 +1,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES TESTDLL = d3dx10_36.dll IMPORTS = d3dx10_36 ole32 gdi32 +EXTRADEFS = -DD3DX10_SDK_VERSION=36 PARENTSRC = ../../d3dx10_43/tests
C_SRCS = \ diff --git a/dlls/d3dx10_37/tests/Makefile.in b/dlls/d3dx10_37/tests/Makefile.in index 505f85d0c4b..fc383470231 100644 --- a/dlls/d3dx10_37/tests/Makefile.in +++ b/dlls/d3dx10_37/tests/Makefile.in @@ -1,6 +1,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES TESTDLL = d3dx10_37.dll IMPORTS = d3dx10_37 ole32 gdi32 +EXTRADEFS = -DD3DX10_SDK_VERSION=37 PARENTSRC = ../../d3dx10_43/tests
C_SRCS = \ diff --git a/dlls/d3dx10_38/tests/Makefile.in b/dlls/d3dx10_38/tests/Makefile.in index b5da90a2f97..38ed97980bd 100644 --- a/dlls/d3dx10_38/tests/Makefile.in +++ b/dlls/d3dx10_38/tests/Makefile.in @@ -1,6 +1,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES TESTDLL = d3dx10_38.dll IMPORTS = d3dx10_38 ole32 gdi32 +EXTRADEFS = -DD3DX10_SDK_VERSION=38 PARENTSRC = ../../d3dx10_43/tests
C_SRCS = \ diff --git a/dlls/d3dx10_39/tests/Makefile.in b/dlls/d3dx10_39/tests/Makefile.in index 63190f1e090..28cb5b75fcd 100644 --- a/dlls/d3dx10_39/tests/Makefile.in +++ b/dlls/d3dx10_39/tests/Makefile.in @@ -1,6 +1,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES TESTDLL = d3dx10_39.dll IMPORTS = d3dx10_39 ole32 gdi32 +EXTRADEFS = -DD3DX10_SDK_VERSION=39 PARENTSRC = ../../d3dx10_43/tests
C_SRCS = \ diff --git a/dlls/d3dx10_40/tests/Makefile.in b/dlls/d3dx10_40/tests/Makefile.in index 669ef97d4f7..017922d7932 100644 --- a/dlls/d3dx10_40/tests/Makefile.in +++ b/dlls/d3dx10_40/tests/Makefile.in @@ -1,6 +1,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES TESTDLL = d3dx10_40.dll IMPORTS = d3dx10_40 ole32 gdi32 +EXTRADEFS = -DD3DX10_SDK_VERSION=40 PARENTSRC = ../../d3dx10_43/tests
C_SRCS = \ diff --git a/dlls/d3dx10_41/tests/Makefile.in b/dlls/d3dx10_41/tests/Makefile.in index 85204bc4f2a..afdade033f9 100644 --- a/dlls/d3dx10_41/tests/Makefile.in +++ b/dlls/d3dx10_41/tests/Makefile.in @@ -1,6 +1,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES TESTDLL = d3dx10_41.dll IMPORTS = d3dx10_41 ole32 gdi32 +EXTRADEFS = -DD3DX10_SDK_VERSION=41 PARENTSRC = ../../d3dx10_43/tests
C_SRCS = \ diff --git a/dlls/d3dx10_42/tests/Makefile.in b/dlls/d3dx10_42/tests/Makefile.in index 8936c5859e7..0ad33047c74 100644 --- a/dlls/d3dx10_42/tests/Makefile.in +++ b/dlls/d3dx10_42/tests/Makefile.in @@ -1,6 +1,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES TESTDLL = d3dx10_42.dll IMPORTS = d3dx10_42 ole32 gdi32 +EXTRADEFS = -DD3DX10_SDK_VERSION=42 PARENTSRC = ../../d3dx10_43/tests
C_SRCS = \ diff --git a/dlls/d3dx10_43/tests/Makefile.in b/dlls/d3dx10_43/tests/Makefile.in index 5cef10c80ff..d8e53a0ee0e 100644 --- a/dlls/d3dx10_43/tests/Makefile.in +++ b/dlls/d3dx10_43/tests/Makefile.in @@ -1,6 +1,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES TESTDLL = d3dx10_43.dll IMPORTS = d3dx10 ole32 gdi32 +EXTRADEFS = -DD3DX10_SDK_VERSION=43
C_SRCS = \ d3dx10.c diff --git a/dlls/d3dx10_43/tests/d3dx10.c b/dlls/d3dx10_43/tests/d3dx10.c index 9b7a4d7cc9b..b2c2a228e97 100644 --- a/dlls/d3dx10_43/tests/d3dx10.c +++ b/dlls/d3dx10_43/tests/d3dx10.c @@ -2466,11 +2466,14 @@ static void test_font(void) hr = ID3DX10Font_PreloadCharacters(font, 'a', 'z'); ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
- /* Test glyphs that are not rendered */ - hr = ID3DX10Font_PreloadGlyphs(font, 0, 5); +#if D3DX10_SDK_VERSION > 34 + /* Test multiple textures */ + hr = ID3DX10Font_PreloadGlyphs(font, 0, 1000); todo_wine ok(hr == S_OK, "Unexpected hr %#x.\n", hr); +#endif
+ /* Test glyphs that are not rendered */ for (glyph = 1; glyph < 4; ++glyph) { srv = (void *)0xdeadbeef;
I'm attaching a small tweak to the patch that extends the comment above the test to explain why it's skipped for _34. It turns out I can't (force-)push to your repo to update your patch, I thought I could do that to make this kind of tweaks but, as I understand it, you'd have to grant me access to your repo first. So I'm attaching it for now instead. Admittedly, I went through this whole exercize mostly to experiment with gitlab :P
[0001-d3dx10-tests-Disable-a-PreloadGlyphs-test-for-d3dx10_3.txt](/uploads/6298e7f845acae593f2882ce3a1e4555/0001-d3dx10-tests-Disable-a-PreloadGlyphs-test-for-d3dx10_3.txt)