=?UTF-8?Q?Rico=20Sch=C3=BCller=20?=: d3dx9/tests: Reset effect parameter value data after each try.
Alexandre Julliard
julliard at winehq.org
Thu Jan 12 13:19:24 CST 2012
Module: wine
Branch: master
Commit: 7825fa833ff9ff719dcd7abb30d4024c9c583d13
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7825fa833ff9ff719dcd7abb30d4024c9c583d13
Author: Rico Schüller <kgbricola at web.de>
Date: Thu Jan 12 13:37:15 2012 +0100
d3dx9/tests: Reset effect parameter value data after each try.
---
dlls/d3dx9_36/tests/effect.c | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/dlls/d3dx9_36/tests/effect.c b/dlls/d3dx9_36/tests/effect.c
index f5a9856..6e60e2e 100644
--- a/dlls/d3dx9_36/tests/effect.c
+++ b/dlls/d3dx9_36/tests/effect.c
@@ -1570,6 +1570,38 @@ static void test_effect_parameter_value_GetTestGroup(const struct test_effect_pa
test_effect_parameter_value_GetMatrixTransposeArray(res, effect, res_value, parameter, i);
}
+static void test_effect_parameter_value_ResetValue(const struct test_effect_parameter_value_result *res,
+ ID3DXEffect *effect, const DWORD *res_value, D3DXHANDLE parameter, UINT i)
+{
+ const D3DXPARAMETER_DESC *res_desc = &res->desc;
+ LPCSTR res_full_name = res->full_name;
+ HRESULT hr;
+
+ if (res_desc->Class == D3DXPC_SCALAR
+ || res_desc->Class == D3DXPC_VECTOR
+ || res_desc->Class == D3DXPC_MATRIX_ROWS)
+ {
+ hr = effect->lpVtbl->SetValue(effect, parameter, res_value, res_desc->Bytes);
+ ok(hr == D3D_OK, "%u - %s: SetValue failed, got %#x, expected %#x\n", i, res_full_name, hr, D3D_OK);
+ }
+ else
+ {
+ /* nothing to do */
+ switch (res_desc->Type)
+ {
+ case D3DXPT_PIXELSHADER:
+ case D3DXPT_VERTEXSHADER:
+ case D3DXPT_TEXTURE2D:
+ case D3DXPT_STRING:
+ break;
+
+ default:
+ ok(0, "Type is %u, this should not happen!\n", res_desc->Type);
+ break;
+ }
+ }
+}
+
static void test_effect_parameter_value(IDirect3DDevice9 *device)
{
UINT i;
@@ -1642,6 +1674,8 @@ static void test_effect_parameter_value(IDirect3DDevice9 *device)
"%u - %s: Warning: Array size to small\n", i, res_full_name);
test_effect_parameter_value_GetTestGroup(&res[k], effect, &blob[res_value_offset], parameter, i);
+ test_effect_parameter_value_ResetValue(&res[k], effect, &blob[res_value_offset], parameter, i);
+ test_effect_parameter_value_GetTestGroup(&res[k], effect, &blob[res_value_offset], parameter, i);
/* SetBool */
bvalue = 1;
@@ -1658,6 +1692,7 @@ static void test_effect_parameter_value(IDirect3DDevice9 *device)
i, res_full_name, hr, D3DERR_INVALIDCALL);
}
test_effect_parameter_value_GetTestGroup(&res[k], effect, expected_value, parameter, i);
+ test_effect_parameter_value_ResetValue(&res[k], effect, &blob[res_value_offset], parameter, i);
}
count = effect->lpVtbl->Release(effect);
More information about the wine-cvs
mailing list