Józef Kucia : d3dx9: Implement ID3DXConstantTable:: SetDefaults.
Module: wine Branch: master Commit: fea0b7dcbeaf0677ac06bff0a16aa5697feb2147 URL: http://source.winehq.org/git/wine.git/?a=commit;h=fea0b7dcbeaf0677ac06bff0a1... Author: Józef Kucia <joseph.kucia(a)gmail.com> Date: Tue Aug 14 11:42:33 2012 +0200 d3dx9: Implement ID3DXConstantTable::SetDefaults. --- dlls/d3dx9_36/shader.c | 18 ++++++++++++++++-- 1 files changed, 16 insertions(+), 2 deletions(-) diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c index 0dcb3a1..728bff2 100644 --- a/dlls/d3dx9_36/shader.c +++ b/dlls/d3dx9_36/shader.c @@ -905,10 +905,24 @@ static HRESULT set_float_array(ID3DXConstantTable *iface, LPDIRECT3DDEVICE9 devi static HRESULT WINAPI ID3DXConstantTableImpl_SetDefaults(ID3DXConstantTable *iface, LPDIRECT3DDEVICE9 device) { struct ID3DXConstantTableImpl *This = impl_from_ID3DXConstantTable(iface); + UINT i; - FIXME("(%p)->(%p): stub\n", This, device); + TRACE("(%p)->(%p)\n", This, device); - return E_NOTIMPL; + if (!device) + return D3DERR_INVALIDCALL; + + for (i = 0; i < This->desc.Constants; i++) + { + D3DXCONSTANT_DESC *desc = &This->constants[i].desc; + + if (!desc->DefaultValue) + continue; + + set_float_shader_constant(This, device, desc->RegisterIndex, desc->DefaultValue, desc->RegisterCount); + } + + return D3D_OK; } static HRESULT WINAPI ID3DXConstantTableImpl_SetValue(ID3DXConstantTable *iface, LPDIRECT3DDEVICE9 device,
participants (1)
-
Alexandre Julliard