rendered paste bodystatic void VertexBufferDescTest(void)
{
HRESULT rc;
D3DVERTEXBUFFERDESC desc;
union mem_t
{
D3DVERTEXBUFFERDESC desc2;
unsigned char buffer[512];
} mem;
memset(&desc, 0, sizeof(desc));
desc.dwSize = sizeof(desc);
desc.dwCaps = 0;
desc.dwFVF = D3DFVF_XYZ;
desc.dwNumVertices = 1;
rc = IDirect3D7_CreateVertexBuffer(lpD3D, &desc, &lpVBufSrc, 0);
ok(rc==D3D_OK || rc==E_OUTOFMEMORY, "CreateVertexBuffer returned: %x\n", rc);
if (!lpVBufSrc)
{
trace("IDirect3D7::CreateVertexBuffer() failed with an error %x\n", rc);
goto out;
}
memset(mem.buffer, 0x12, 512);
mem.desc2.dwSize = sizeof(D3DVERTEXBUFFERDESC)*2;
rc = IDirect3DVertexBuffer7_GetVertexBufferDesc(lpVBufSrc, &mem.desc2);
if(rc != D3D_OK)
skip("GetVertexBuffer Failed!\n");
ok( mem.desc2.dwSize == sizeof(D3DVERTEXBUFFERDESC)*2, "Size returned from GetVertexBufferDesc does not match the value put in\n" );
ok( mem.buffer[sizeof(D3DVERTEXBUFFERDESC)+1] == 0x12, "GetVertexBufferDesc cleared outside of the struct!\n");
out:
IDirect3DVertexBuffer7_Release(lpVBufSrc);
}