[PATCH 4/5] d3d8: Add some tests for CreateStateBlock().
Henri Verbeet
hverbeet at codeweavers.com
Thu Oct 8 02:23:23 CDT 2009
---
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);
--
1.6.0.6
More information about the wine-patches
mailing list