The current code for the functions: D3DXCreateEffectFromFileExW D3DXCreateEffectFromFileExA D3DXCreateEffectFromResourceExW D3DXCreateEffectFromResourceExA D3DXCreateEffectCompilerFromFileW D3DXCreateEffectCompilerFromFileA includes a check of defines and will return D3DERR_INVALIDCALL if defines are NULL. However I see nothing wrong in calling any of those functions with defines being NULL. Actually, usually defines are NULL and it is only in specific cases when they are set. Is this a bug? If not, please let me know why. regards,