d3d8: Add tests for deleting invalid shader handles.
Rico Schüller
kgbricola at web.de
Tue Jun 16 02:38:25 CDT 2009
---
dlls/d3d8/tests/device.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/dlls/d3d8/tests/device.c b/dlls/d3d8/tests/device.c
index 0cd741d..f039a1b 100644
--- a/dlls/d3d8/tests/device.c
+++ b/dlls/d3d8/tests/device.c
@@ -1061,6 +1061,12 @@ static void test_shader(void)
ok(hTempHandle == hPixelShader, "Pixel Shader %d is set, expected shader %d\n", hTempHandle, hPixelShader);
hr = IDirect3DDevice8_DeletePixelShader(pDevice, hPixelShader);
ok(hr == D3D_OK, "IDirect3DDevice8_DeletePixelShader returned %#08x\n", hr);
+
+ /* Check for double delete. */
+ hr = IDirect3DDevice8_DeletePixelShader(pDevice, hPixelShader2);
+ ok(hr == D3D_OK, "IDirect3DDevice8_DeletePixelShader returned %#08x\n", hr);
+ hr = IDirect3DDevice8_DeletePixelShader(pDevice, hPixelShader);
+ ok(hr == D3D_OK, "IDirect3DDevice8_DeletePixelShader returned %#08x\n", hr);
}
else
{
@@ -1083,6 +1089,12 @@ static void test_shader(void)
hr = IDirect3DDevice8_DeleteVertexShader(pDevice, hVertexShader);
ok(hr == D3D_OK, "IDirect3DDevice8_DeleteVertexShader returned %#08x\n", hr);
+ /* Check for double delete. */
+ hr = IDirect3DDevice8_DeleteVertexShader(pDevice, hVertexShader2);
+ ok(hr == D3DERR_INVALIDCALL, "IDirect3DDevice8_DeleteVertexShader returned %#08x\n", hr);
+ hr = IDirect3DDevice8_DeleteVertexShader(pDevice, hVertexShader);
+ ok(hr == D3DERR_INVALIDCALL, "IDirect3DDevice8_DeleteVertexShader returned %#08x\n", hr);
+
cleanup:
if(pD3d) IDirect3D8_Release(pD3d);
if(pDevice) IDirect3D8_Release(pDevice);
--
1.6.0.6
--------------000700040007090209080308--
More information about the wine-patches
mailing list