Henri Verbeet : d3d8: Add some tests for CreateStateBlock().

Alexandre Julliard julliard at winehq.org
Thu Oct 8 08:57:15 CDT 2009


Module: wine
Branch: master
Commit: 00e7ec9cd680700a12d47e0c2a8372c0a2a282b1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=00e7ec9cd680700a12d47e0c2a8372c0a2a282b1

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu Oct  8 09:23:23 2009 +0200

d3d8: Add some tests for CreateStateBlock().

---

 dlls/d3d8/tests/stateblock.c |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/dlls/d3d8/tests/stateblock.c b/dlls/d3d8/tests/stateblock.c
index 9865566..076ac58 100644
--- a/dlls/d3d8/tests/stateblock.c
+++ b/dlls/d3d8/tests/stateblock.c
@@ -297,6 +297,16 @@ static int revert_render_target(IDirect3DDevice8 *device, struct event_data *eve
     return EVENT_OK;
 }
 
+static int create_stateblock(IDirect3DDevice8 *device, struct event_data *event_data)
+{
+    HRESULT hr;
+
+    hr = IDirect3DDevice8_CreateStateBlock(device, D3DSBT_ALL, &event_data->stateblock);
+    ok(SUCCEEDED(hr), "CreateStateBlock returned %#x.\n", hr);
+    if (FAILED(hr)) return EVENT_ERROR;
+    return EVENT_OK;
+}
+
 static int begin_stateblock(IDirect3DDevice8 *device, struct event_data *event_data)
 {
     HRESULT hr;
@@ -385,6 +395,20 @@ static void execute_test_chain_all(IDirect3DDevice8 *device, struct state_test *
         {apply_stateblock,          SB_DATA_DEFAULT,        SB_DATA_NONE},
     };
 
+    struct event create_stateblock_capture_apply_events[] =
+    {
+        {create_stateblock,         SB_DATA_DEFAULT,        SB_DATA_TEST_IN},
+        {capture_stateblock,        SB_DATA_TEST,           SB_DATA_DEFAULT},
+        {apply_stateblock,          SB_DATA_TEST,           SB_DATA_NONE},
+    };
+
+    struct event create_stateblock_apply_events[] =
+    {
+        {NULL,                      SB_DATA_DEFAULT,        SB_DATA_TEST_IN},
+        {create_stateblock,         SB_DATA_TEST,           SB_DATA_DEFAULT},
+        {apply_stateblock,          SB_DATA_TEST,           SB_DATA_NONE},
+    };
+
     struct event rendertarget_switch_events[] =
     {
         {NULL,                      SB_DATA_NONE,           SB_DATA_TEST_IN},
@@ -424,6 +448,12 @@ static void execute_test_chain_all(IDirect3DDevice8 *device, struct state_test *
     trace("Running stateblock capture/reapply state tests\n");
     execute_test_chain(device, test, ntests, capture_reapply_stateblock_events, 4, &arg);
 
+    trace("Running create stateblock capture/apply state tests\n");
+    execute_test_chain(device, test, ntests, create_stateblock_capture_apply_events, 3, &arg);
+
+    trace("Running create stateblock apply state tests\n");
+    execute_test_chain(device, test, ntests, create_stateblock_apply_events, 3, &arg);
+
     trace("Running rendertarget switch state tests\n");
     execute_test_chain(device, test, ntests, rendertarget_switch_events, 3, &arg);
 




More information about the wine-cvs mailing list