[PATCH] mfplat/tests: Link dynamically to d3d11.
Apparently the wxppro testbot has mfplat, but not d3d11. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47894 Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> --- dlls/mfplat/tests/Makefile.in | 2 +- dlls/mfplat/tests/mfplat.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/dlls/mfplat/tests/Makefile.in b/dlls/mfplat/tests/Makefile.in index dafb4291424..c58a0463e51 100644 --- a/dlls/mfplat/tests/Makefile.in +++ b/dlls/mfplat/tests/Makefile.in @@ -1,5 +1,5 @@ TESTDLL = mfplat.dll -IMPORTS = ole32 mfplat mfuuid propsys uuid d3d11 +IMPORTS = ole32 mfplat mfuuid propsys uuid C_SRCS = \ mfplat.c diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c index 1db4d2dcc47..b61d91d14ed 100644 --- a/dlls/mfplat/tests/mfplat.c +++ b/dlls/mfplat/tests/mfplat.c @@ -59,6 +59,10 @@ static void _expect_ref(IUnknown *obj, ULONG ref, int line) ok_(__FILE__,line)(rc == ref, "Unexpected refcount %d, expected %d.\n", rc, ref); } +static HRESULT (WINAPI *pD3D11CreateDevice)(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver_type, HMODULE swrast, UINT flags, + const D3D_FEATURE_LEVEL *feature_levels, UINT levels, UINT sdk_version, ID3D11Device **device_out, + D3D_FEATURE_LEVEL *obtained_feature_level, ID3D11DeviceContext **immediate_context); + static HRESULT (WINAPI *pMFCopyImage)(BYTE *dest, LONG deststride, const BYTE *src, LONG srcstride, DWORD width, DWORD lines); static HRESULT (WINAPI *pMFCreateDXGIDeviceManager)(UINT *token, IMFDXGIDeviceManager **manager); @@ -525,6 +529,11 @@ static void init_functions(void) X(MFRemovePeriodicCallback); #undef X + if ((mod = LoadLibraryA("d3d11.dll"))) + { + pD3D11CreateDevice = (void *)GetProcAddress(mod, "D3D11CreateDevice"); + } + is_win8_plus = pMFPutWaitingWorkItem != NULL; } @@ -3746,7 +3755,7 @@ static void test_dxgi_device_manager(void) ok(manager != manager2, "got wrong pointer: %p.\n", manager2); EXPECT_REF(manager, 1); - hr = D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, D3D11_CREATE_DEVICE_VIDEO_SUPPORT, + hr = pD3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, D3D11_CREATE_DEVICE_VIDEO_SUPPORT, NULL, 0, D3D11_SDK_VERSION, &d3d11_dev, NULL, NULL); ok(hr == S_OK, "D3D11CreateDevice failed: %#x.\n", hr); EXPECT_REF(d3d11_dev, 1); @@ -3773,7 +3782,7 @@ static void test_dxgi_device_manager(void) EXPECT_REF(manager, 1); EXPECT_REF(d3d11_dev, 2); - hr = D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, + hr = pD3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, NULL, 0, D3D11_SDK_VERSION, &d3d11_dev2, NULL, NULL); ok(hr == S_OK, "D3D11CreateDevice failed: %#x.\n", hr); EXPECT_REF(d3d11_dev2, 1); -- 2.24.0
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=62743 Your paranoid android. === w1064v1809 (64 bit report) === mfplat: mfplat.c:2395: Test failed: Unexpected return value 0x102. mfplat.c:1746: Test failed: Failed to get event, hr 0xc00d3e85. mfplat.c:1749: Test failed: Failed to get event, hr 0xc00d3e85. mfplat.c:1752: Test failed: Failed to finalize GetEvent, hr 0xc00d3e85. mfplat.c:1755: Test failed: Unexpected result, hr 0xc00d3e85. 192c:mfplat: unhandled exception c0000005 at 0000000000404AA3
participants (2)
-
Marvin -
Zebediah Figura