Travis Athougies : d3dx9_36: Implemented ID3DXConstantTable_SetIntArray and ID3DXConstantTable_SetInt.

Alexandre Julliard julliard at winehq.org
Wed Jun 22 11:48:42 CDT 2011


Module: wine
Branch: master
Commit: 73272d1664b93cc716779337256795e5137bceef
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=73272d1664b93cc716779337256795e5137bceef

Author: Travis Athougies <iammisc at gmail.com>
Date:   Tue Jun 21 12:14:31 2011 -0700

d3dx9_36: Implemented ID3DXConstantTable_SetIntArray and ID3DXConstantTable_SetInt.

---

 dlls/d3dx9_36/shader.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
index 8cebcbe..8f0c707 100644
--- a/dlls/d3dx9_36/shader.c
+++ b/dlls/d3dx9_36/shader.c
@@ -835,6 +835,9 @@ static HRESULT set_float_array(ID3DXConstantTable *iface, LPDIRECT3DDEVICE9 devi
                     case D3DXPT_FLOAT:
                         row[0] = ((float *)data)[i];
                         break;
+                    case D3DXPT_INT:
+                        row[0] = (float)((int *)data)[i];
+                        break;
                     default:
                         FIXME("Unhandled type passed to set_float_array\n");
                         return D3DERR_INVALIDCALL;
@@ -892,23 +895,23 @@ static HRESULT WINAPI ID3DXConstantTableImpl_SetBoolArray(ID3DXConstantTable* if
     return E_NOTIMPL;
 }
 
-static HRESULT WINAPI ID3DXConstantTableImpl_SetInt(ID3DXConstantTable* iface, LPDIRECT3DDEVICE9 device, D3DXHANDLE constant, INT n)
+static HRESULT WINAPI ID3DXConstantTableImpl_SetInt(ID3DXConstantTable *iface, LPDIRECT3DDEVICE9 device, D3DXHANDLE constant, INT n)
 {
     ID3DXConstantTableImpl *This = impl_from_ID3DXConstantTable(iface);
 
-    FIXME("(%p)->(%p, %p, %d): stub\n", This, device, constant, n);
+    TRACE("(%p)->(%p, %p, %d)\n", This, device, constant, n);
 
-    return E_NOTIMPL;
+    return ID3DXConstantTable_SetIntArray(iface, device, constant, &n, 1);
 }
 
-static HRESULT WINAPI ID3DXConstantTableImpl_SetIntArray(ID3DXConstantTable* iface, LPDIRECT3DDEVICE9 device,
+static HRESULT WINAPI ID3DXConstantTableImpl_SetIntArray(ID3DXConstantTable *iface, LPDIRECT3DDEVICE9 device,
                                                          D3DXHANDLE constant, CONST INT* n, UINT count)
 {
     ID3DXConstantTableImpl *This = impl_from_ID3DXConstantTable(iface);
 
-    FIXME("(%p)->(%p, %p, %p, %d): stub\n", This, device, constant, n, count);
+    TRACE("(%p)->(%p, %p, %p, %d)\n", This, device, constant, n, count);
 
-    return E_NOTIMPL;
+    return set_float_array(iface, device, constant, n, count, D3DXPT_INT);
 }
 
 static HRESULT WINAPI ID3DXConstantTableImpl_SetFloat(ID3DXConstantTable *iface, LPDIRECT3DDEVICE9 device,




More information about the wine-cvs mailing list