From: Matteo Bruni mbruni@codeweavers.com
--- dlls/d3dcompiler_43/reflection.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/dlls/d3dcompiler_43/reflection.c b/dlls/d3dcompiler_43/reflection.c index e714aa05dd6..21b367f5002 100644 --- a/dlls/d3dcompiler_43/reflection.c +++ b/dlls/d3dcompiler_43/reflection.c @@ -2009,17 +2009,21 @@ HRESULT WINAPI D3DReflect(const void *data, SIZE_T data_size, REFIID riid, void if (!data || data_size < 32) { WARN("Invalid argument supplied.\n"); - return D3DERR_INVALIDCALL; + if (D3D_COMPILER_VERSION >= 43) + return D3DERR_INVALIDCALL; + if (D3D_COMPILER_VERSION) + return E_INVALIDARG; + return E_FAIL; }
if (temp[6] != data_size) { WARN("Wrong size supplied.\n"); -#if D3D_COMPILER_VERSION >= 46 - return D3DERR_INVALIDCALL; -#else + if (D3D_COMPILER_VERSION >= 46) + return D3DERR_INVALIDCALL; + if (D3D_COMPILER_VERSION == 42) + return E_INVALIDARG; return E_FAIL; -#endif }
if (!IsEqualGUID(riid, &IID_ID3D11ShaderReflection)