Module: wine Branch: master Commit: 28c595e3a4866e183848e45839fc9b9b4c1a18ca URL: http://source.winehq.org/git/wine.git/?a=commit;h=28c595e3a4866e183848e45839...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Tue Mar 3 09:03:46 2009 +0100
d3d10: Implement ID3D10EffectPass::GetDesc().
---
dlls/d3d10/effect.c | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c index cc02d1d..02725dd 100644 --- a/dlls/d3d10/effect.c +++ b/dlls/d3d10/effect.c @@ -854,9 +854,26 @@ static BOOL STDMETHODCALLTYPE d3d10_effect_pass_IsValid(ID3D10EffectPass *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_pass_GetDesc(ID3D10EffectPass *iface, D3D10_PASS_DESC *desc) { - FIXME("iface %p, desc %p stub!\n", iface, desc); + struct d3d10_effect_pass *This = (struct d3d10_effect_pass *)iface; + unsigned int i;
- return E_NOTIMPL; + FIXME("iface %p, desc %p partial stub!\n", iface, desc); + + memset(desc, 0, sizeof(*desc)); + desc->Name = This->name; + for (i = 0; i < This->variable_count; ++i) + { + struct d3d10_effect_variable *v = &This->variables[i]; + if (v->type == D3D10_EVT_VERTEXSHADER) + { + struct d3d10_effect_shader_variable *s = v->data; + desc->pIAInputSignature = (BYTE *)s->input_signature; + desc->IAInputSignatureSize = s->input_signature_size; + break; + } + } + + return S_OK; }
static HRESULT STDMETHODCALLTYPE d3d10_effect_pass_GetVertexShaderDesc(ID3D10EffectPass *iface,