Module: wine Branch: master Commit: 8284f70de8ed86935cc4a75d0a4601d88183f54d URL: http://source.winehq.org/git/wine.git/?a=commit;h=8284f70de8ed86935cc4a75d0a...
Author: Stefan Dösinger stefan@codeweavers.com Date: Sat Jul 3 19:14:54 2010 +0200
d3d9: Use a vertex shader in the vpos test.
---
dlls/d3d9/tests/visual.c | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c index ebb11c6..6ecd624 100644 --- a/dlls/d3d9/tests/visual.c +++ b/dlls/d3d9/tests/visual.c @@ -8580,6 +8580,14 @@ static void vpos_register_test(IDirect3DDevice9 *device) 0x02000001, 0x800f0800, 0x80e40000, /* mov oC0, r0 */ 0x0000ffff /* end */ }; + const DWORD vshader_code[] = { + 0xfffe0300, /* vs_3_0 */ + 0x0200001f, 0x80000000, 0x900f0000, /* dcl_position v0 */ + 0x0200001f, 0x80000000, 0xe00f0000, /* dcl_position o0 */ + 0x02000001, 0xe00f0000, 0x90e40000, /* mov o0, v0 */ + 0x0000ffff /* end */ + }; + IDirect3DVertexShader9 *vshader; IDirect3DPixelShader9 *shader, *shader_frac; IDirect3DSurface9 *surface = NULL, *backbuffer; const float quad[] = { @@ -8594,12 +8602,16 @@ static void vpos_register_test(IDirect3DDevice9 *device)
hr = IDirect3DDevice9_Clear(device, 0, NULL, D3DCLEAR_TARGET, 0xff0000ff, 0.0, 0); ok(hr == D3D_OK, "IDirect3DDevice9_Clear failed, hr=%08x\n", hr); + hr = IDirect3DDevice9_CreateVertexShader(device, vshader_code, &vshader); + ok(hr == D3D_OK, "IDirect3DDevice9_CreateVertexShader failed hr=%08x\n", hr); hr = IDirect3DDevice9_CreatePixelShader(device, shader_code, &shader); ok(hr == D3D_OK, "IDirect3DDevice9_CreatePixelShader failed hr=%08x\n", hr); hr = IDirect3DDevice9_CreatePixelShader(device, shader_frac_code, &shader_frac); ok(hr == D3D_OK, "IDirect3DDevice9_CreatePixelShader failed hr=%08x\n", hr); hr = IDirect3DDevice9_SetPixelShader(device, shader); ok(hr == D3D_OK, "IDirect3DDevice9_SetPixelShader failed hr=%08x\n", hr); + hr = IDirect3DDevice9_SetVertexShader(device, vshader); + ok(hr == D3D_OK, "IDirect3DDevice9_SetVertexShader failed hr=%08x\n", hr); hr = IDirect3DDevice9_SetFVF(device, D3DFVF_XYZ); ok(hr == D3D_OK, "IDirect3DDevice9_SetFVF failed hr=%08x\n", hr); hr = IDirect3DDevice9_GetBackBuffer(device, 0, 0, D3DBACKBUFFER_TYPE_MONO, &backbuffer); @@ -8692,8 +8704,11 @@ static void vpos_register_test(IDirect3DDevice9 *device)
hr = IDirect3DDevice9_SetPixelShader(device, NULL); ok(hr == D3D_OK, "IDirect3DDevice9_SetPixelShader failed hr=%08x\n", hr); + hr = IDirect3DDevice9_SetVertexShader(device, NULL); + ok(hr == D3D_OK, "IDirect3DDevice9_SetVertexShader failed hr=%08x\n", hr); IDirect3DPixelShader9_Release(shader); IDirect3DPixelShader9_Release(shader_frac); + IDirect3DVertexShader9_Release(vshader); if(surface) IDirect3DSurface9_Release(surface); IDirect3DSurface9_Release(backbuffer); }