> ## Name

> cgD3D9ValidateVertexDeclaration - validate a custom D3D9 vertex declaration stream

> ## Synopsis

>     #include <Cg/cgD3D9.h>

>     CGbool cgD3D9ValidateVertexDeclaration( CGprogram program,
>                                             const D3DVERTEXELEMENT9 * decl );

> ## Parameters

> program
>   The program to test for compatibility.
> decl
>   The D3D9 custom vertex declaration stream to test for compatibility. It must be terminated by D3DDECL_END().

> ## Return Values

> Returns CG_TRUE if the vertex stream is compatible.

> Returns CG_FALSE otherwise.

> ## Description

> cgD3D9ValidateVertexDeclaration tests a custom D3D9 vertex declaration stream for compatibility with the inputs expected by a program.

> For a vertex stream to be compatible with a program's expected inputs it must have a D3DVERTEXELEMENT9 element for each varying input parameter that the program uses.

> ## Examples

>     // Decl is a custom vertex declaraton already setup

>     CGbool ret = cgD3D9ValidateVertexDeclaration( program, Decl );
>     if( ret == CG_FALSE )
>         printf( "Vertex declaration not compatable with "
>                 "the program's varying parameters.\n" );

> ## Errors

> CG_INVALID_PROGRAM_HANDLE_ERROR is generated if program is not a valid program handle.

> ## History

> cgD3D9ValidateVertexDeclaration was introduced in Cg 1.1.

> ## See Also

> cgD3D9ResourceToDeclUsage