d3dx9_36: D3DXDeclaratorFromFVF returns D3DERR_INVALIDCALL when an invalid declarator is passed.

This commit is contained in:
Misha Koshelev 2010-09-22 18:42:48 -05:00 committed by Alexandre Julliard
parent e8f56565cb
commit a6f2c003a3
2 changed files with 4 additions and 0 deletions

View File

@ -559,6 +559,8 @@ HRESULT WINAPI D3DXDeclaratorFromFVF(DWORD fvf, D3DVERTEXELEMENT9 declaration[MA
TRACE("fvf %#x, declaration %p.\n", fvf, declaration);
if (fvf & (D3DFVF_RESERVED0 | D3DFVF_RESERVED2)) return D3DERR_INVALIDCALL;
if (fvf & D3DFVF_POSITION_MASK)
{
BOOL has_blend = (fvf & D3DFVF_XYZB5) >= D3DFVF_XYZB1;

View File

@ -836,6 +836,8 @@ static void test_fvf_decl_conversion(void)
};
test_decl_to_fvf(decl, 0, D3DERR_INVALIDCALL, __LINE__, 0);
}
/* Invalid FVFs cannot be converted to a declarator. */
test_fvf_to_decl(0xdeadbeef, NULL, D3DERR_INVALIDCALL, __LINE__, 0);
}
static void D3DXGetFVFVertexSizeTest(void)