From: Zebediah Figura zfigura@codeweavers.com
--- dlls/d3d11/device.c | 2 +- dlls/d3d11/tests/d3d11.c | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 0ae695901da..79b972df671 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -3959,7 +3959,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFormatSupport(ID3D11Device2 * | D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD; }
- return S_OK; + return *format_support ? S_OK : E_FAIL; }
static HRESULT STDMETHODCALLTYPE d3d11_device_CheckMultisampleQualityLevels(ID3D11Device2 *iface, diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c index 81cae2f44a2..5752ff9f88a 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c @@ -20868,15 +20868,18 @@ static void test_format_support(const D3D_FEATURE_LEVEL feature_level) memset(format_support, 0, sizeof(format_support)); for (format = DXGI_FORMAT_UNKNOWN; format <= DXGI_FORMAT_B4G4R4A4_UNORM; ++format) { + winetest_push_context("format %#x", format); + hr = ID3D11Device_CheckFormatSupport(device, format, &format_support[format]); - ok(hr == S_OK || (hr == E_FAIL && !format_support[format]), - "Got unexpected result for format %#x: hr %#lx, format_support %#x.\n", - format, hr, format_support[format]); + ok((hr == S_OK && format_support[format]) || (hr == E_FAIL && !format_support[format]), + "Got unexpected hr %#lx, format_support %#x.\n", hr, format_support[format]); if (format_support[format] & D3D11_FORMAT_SUPPORT_MIP_AUTOGEN) { ok(format_support[format] & D3D11_FORMAT_SUPPORT_TEXTURE2D, - "Got unexpected format support %#x for format %#x", format_support[format], format); + "Got unexpected format support %#x", format); } + + winetest_pop_context(); }
for (format = DXGI_FORMAT_UNKNOWN; format <= DXGI_FORMAT_B4G4R4A4_UNORM; ++format)