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(