Added patch to implement support for more d3d11 depth options in RSSetState.

This commit is contained in:
Sebastian Lackner
2017-07-09 17:36:22 +02:00
parent ad2d0fdc3a
commit 325f3758f8
8 changed files with 798 additions and 27 deletions

View File

@@ -0,0 +1,54 @@
From 9d41dd847845cf31ca0f194c1418b03eb164cf37 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 7 Jul 2017 04:03:19 +0200
Subject: d3d11: Allow DXGI_FORMAT_UNKNOWN in CheckFormatSupport and improve
tests.
---
dlls/d3d11/device.c | 2 +-
dlls/d3d11/tests/d3d11.c | 6 ++----
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 8642bf50fb1..3b7d55828a5 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -5567,7 +5567,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFormatSupport(ID3D11Device *i
FIXME("iface %p, format %u, format_support %p partial-stub!\n", iface, format, format_support);
wined3d_format = wined3dformat_from_dxgi_format(format);
- if ((format && !wined3d_format) || wined3d_format == WINED3DFMT_UNKNOWN)
+ if (format && !wined3d_format)
{
WARN("Invalid format %#x.\n", format);
*format_support = 0;
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index c8c9037fced..241320d0a74 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -14744,7 +14744,7 @@ static void check_format_support(const unsigned int *format_support, D3D_FEATURE
static void test_required_format_support(const D3D_FEATURE_LEVEL feature_level)
{
- static const UINT expected = D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER |
+ UINT expected = D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER |
D3D11_FORMAT_SUPPORT_TEXTURE1D | D3D11_FORMAT_SUPPORT_TEXTURE2D |
D3D11_FORMAT_SUPPORT_TEXTURE3D | D3D11_FORMAT_SUPPORT_TEXTURECUBE |
D3D11_FORMAT_SUPPORT_MIP | D3D11_FORMAT_SUPPORT_MIP_AUTOGEN |
@@ -14787,12 +14787,10 @@ static void test_required_format_support(const D3D_FEATURE_LEVEL feature_level)
ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %#x.\n", hr);
}
- hr = ID3D11Device_CheckFormatSupport(device, DXGI_FORMAT_UNKNOWN, &support);
- ok(hr == E_FAIL, "Expected E_FAIL, got %#x.\n", hr);
-
hr = ID3D11Device_CheckFormatSupport(device, 0xdeadbeef, &support);
ok(hr == E_FAIL, "Expected E_FAIL, got %#x.\n", hr);
+ if (feature_level < D3D_FEATURE_LEVEL_10_0) expected &= ~D3D11_FORMAT_SUPPORT_TEXTURE1D;
hr = ID3D11Device_CheckFormatSupport(device, DXGI_FORMAT_R8G8B8A8_UNORM, &support);
ok(hr == S_OK, "Expected S_OK, got %#x.\n", hr);
ok((support & expected) == expected, "Expected the following features to be supported: %#x.\n",
--
2.13.1