=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: d3d10core/tests: Add test for draws with NULL render target views.

Alexandre Julliard julliard at winehq.org
Thu Apr 26 16:18:17 CDT 2018


Module: wine
Branch: master
Commit: 6f541ad7c3e06eb99249fb30cf340d73203d3303
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=6f541ad7c3e06eb99249fb30cf340d73203d3303

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Thu Apr 26 14:53:22 2018 +0200

d3d10core/tests: Add test for draws with NULL render target views.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d3d10core/tests/device.c | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/dlls/d3d10core/tests/device.c b/dlls/d3d10core/tests/device.c
index a50e759..a5c048c 100644
--- a/dlls/d3d10core/tests/device.c
+++ b/dlls/d3d10core/tests/device.c
@@ -7732,10 +7732,10 @@ static void test_depth_stencil_sampling(void)
 
 static void test_multiple_render_targets(void)
 {
+    ID3D10RenderTargetView *rtv[4], *tmp_rtv[4];
     D3D10_TEXTURE2D_DESC texture_desc;
     ID3D10InputLayout *input_layout;
     unsigned int stride, offset, i;
-    ID3D10RenderTargetView *rtv[4];
     ID3D10Texture2D *rt[4];
     ID3D10VertexShader *vs;
     ID3D10PixelShader *ps;
@@ -7860,9 +7860,21 @@ static void test_multiple_render_targets(void)
 
     for (i = 0; i < ARRAY_SIZE(rtv); ++i)
         ID3D10Device_ClearRenderTargetView(device, rtv[i], red);
-
     ID3D10Device_Draw(device, 4, 0);
+    check_texture_color(rt[0], 0xffffffff, 2);
+    check_texture_color(rt[1], 0x7f7f7f7f, 2);
+    check_texture_color(rt[2], 0x33333333, 2);
+    check_texture_color(rt[3], 0xff7f3300, 2);
 
+    for (i = 0; i < ARRAY_SIZE(rtv); ++i)
+        ID3D10Device_ClearRenderTargetView(device, rtv[i], red);
+    for (i = 0; i < ARRAY_SIZE(tmp_rtv); ++i)
+    {
+        memset(tmp_rtv, 0, sizeof(tmp_rtv));
+        tmp_rtv[i] = rtv[i];
+        ID3D10Device_OMSetRenderTargets(device, 4, tmp_rtv, NULL);
+        ID3D10Device_Draw(device, 4, 0);
+    }
     check_texture_color(rt[0], 0xffffffff, 2);
     check_texture_color(rt[1], 0x7f7f7f7f, 2);
     check_texture_color(rt[2], 0x33333333, 2);
@@ -7873,9 +7885,10 @@ static void test_multiple_render_targets(void)
     ID3D10VertexShader_Release(vs);
     ID3D10InputLayout_Release(input_layout);
     for (i = 0; i < ARRAY_SIZE(rtv); ++i)
+    {
         ID3D10RenderTargetView_Release(rtv[i]);
-    for (i = 0; i < ARRAY_SIZE(rt); ++i)
         ID3D10Texture2D_Release(rt[i]);
+    }
     refcount = ID3D10Device_Release(device);
     ok(!refcount, "Device has %u references left.\n", refcount);
 }




More information about the wine-cvs mailing list