d3d9: Use a vertex shader in the vpos test.
This commit is contained in:
parent
bb3fb05c38
commit
8284f70de8
|
@ -8580,6 +8580,14 @@ static void vpos_register_test(IDirect3DDevice9 *device)
|
||||||
0x02000001, 0x800f0800, 0x80e40000, /* mov oC0, r0 */
|
0x02000001, 0x800f0800, 0x80e40000, /* mov oC0, r0 */
|
||||||
0x0000ffff /* end */
|
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;
|
IDirect3DPixelShader9 *shader, *shader_frac;
|
||||||
IDirect3DSurface9 *surface = NULL, *backbuffer;
|
IDirect3DSurface9 *surface = NULL, *backbuffer;
|
||||||
const float quad[] = {
|
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);
|
hr = IDirect3DDevice9_Clear(device, 0, NULL, D3DCLEAR_TARGET, 0xff0000ff, 0.0, 0);
|
||||||
ok(hr == D3D_OK, "IDirect3DDevice9_Clear failed, hr=%08x\n", hr);
|
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);
|
hr = IDirect3DDevice9_CreatePixelShader(device, shader_code, &shader);
|
||||||
ok(hr == D3D_OK, "IDirect3DDevice9_CreatePixelShader failed hr=%08x\n", hr);
|
ok(hr == D3D_OK, "IDirect3DDevice9_CreatePixelShader failed hr=%08x\n", hr);
|
||||||
hr = IDirect3DDevice9_CreatePixelShader(device, shader_frac_code, &shader_frac);
|
hr = IDirect3DDevice9_CreatePixelShader(device, shader_frac_code, &shader_frac);
|
||||||
ok(hr == D3D_OK, "IDirect3DDevice9_CreatePixelShader failed hr=%08x\n", hr);
|
ok(hr == D3D_OK, "IDirect3DDevice9_CreatePixelShader failed hr=%08x\n", hr);
|
||||||
hr = IDirect3DDevice9_SetPixelShader(device, shader);
|
hr = IDirect3DDevice9_SetPixelShader(device, shader);
|
||||||
ok(hr == D3D_OK, "IDirect3DDevice9_SetPixelShader failed hr=%08x\n", hr);
|
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);
|
hr = IDirect3DDevice9_SetFVF(device, D3DFVF_XYZ);
|
||||||
ok(hr == D3D_OK, "IDirect3DDevice9_SetFVF failed hr=%08x\n", hr);
|
ok(hr == D3D_OK, "IDirect3DDevice9_SetFVF failed hr=%08x\n", hr);
|
||||||
hr = IDirect3DDevice9_GetBackBuffer(device, 0, 0, D3DBACKBUFFER_TYPE_MONO, &backbuffer);
|
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);
|
hr = IDirect3DDevice9_SetPixelShader(device, NULL);
|
||||||
ok(hr == D3D_OK, "IDirect3DDevice9_SetPixelShader failed hr=%08x\n", hr);
|
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);
|
||||||
IDirect3DPixelShader9_Release(shader_frac);
|
IDirect3DPixelShader9_Release(shader_frac);
|
||||||
|
IDirect3DVertexShader9_Release(vshader);
|
||||||
if(surface) IDirect3DSurface9_Release(surface);
|
if(surface) IDirect3DSurface9_Release(surface);
|
||||||
IDirect3DSurface9_Release(backbuffer);
|
IDirect3DSurface9_Release(backbuffer);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue