d3dcompiler: Implement ID3D11ShaderReflection::GetPatchConstantParameterDesc().
authorRico Schüller <kgbricola@web.de>
Wed, 22 Dec 2010 11:16:32 +0000 (12:16 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 22 Dec 2010 12:00:13 +0000 (13:00 +0100)
dlls/d3dcompiler_43/reflection.c

index ddeb8d5dcd6aecc305647ee6a10724e5656aa667..d50e18cd176f0d906e54c1307330c579fc66a7f7 100644 (file)
@@ -179,9 +179,19 @@ static HRESULT STDMETHODCALLTYPE d3dcompiler_shader_reflection_GetOutputParamete
 static HRESULT STDMETHODCALLTYPE d3dcompiler_shader_reflection_GetPatchConstantParameterDesc(
         ID3D11ShaderReflection *iface, UINT index, D3D11_SIGNATURE_PARAMETER_DESC *desc)
 {
-    FIXME("iface %p, index %u, desc %p stub!\n", iface, index, desc);
+    struct d3dcompiler_shader_reflection *This = impl_from_ID3D11ShaderReflection(iface);
 
-    return E_NOTIMPL;
+    TRACE("iface %p, index %u, desc %p\n", iface, index, desc);
+
+    if (!desc || !This->pcsg || index >= This->pcsg->element_count)
+    {
+        WARN("Invalid argument specified\n");
+        return E_INVALIDARG;
+    }
+
+    *desc = This->pcsg->elements[index];
+
+    return S_OK;
 }
 
 static struct ID3D11ShaderReflectionVariable * STDMETHODCALLTYPE d3dcompiler_shader_reflection_GetVariableByName(