[4/6] d3dx9: Implement ID3DXConstantTable::SetDefaults.
Józef Kucia
joseph.kucia at gmail.com
Tue Aug 14 04:42:33 CDT 2012
---
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,
--
1.7.8.6
More information about the wine-patches
mailing list