[d3dx9 3/4] Implement ID3DXConstantTable::GetConstantByName
Matijn Woudt
tijnema at gmail.com
Tue Jun 8 08:00:44 CDT 2010
Implement ID3DXConstantTable::GetConstantByName
-------------- next part --------------
From 57079be5c85a2b1dbe883faa8bd10a3c3cb0b575 Mon Sep 17 00:00:00 2001
From: Matijn Woudt <tijnema at gmail.com>
Date: Tue, 8 Jun 2010 14:48:40 +0200
Subject: [d3dx9 3/4] Implement ID3DXConstantTable::GetConstantByName
---
dlls/d3dx9_36/shader.c | 12 +++++++++++-
dlls/d3dx9_36/tests/shader.c | 2 +-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
index 63732a6..6ac5f75 100644
--- a/dlls/d3dx9_36/shader.c
+++ b/dlls/d3dx9_36/shader.c
@@ -792,8 +792,18 @@ static D3DXHANDLE WINAPI ID3DXConstantTableImpl_GetConstant(ID3DXConstantTable*
static D3DXHANDLE WINAPI ID3DXConstantTableImpl_GetConstantByName(ID3DXConstantTable* iface, D3DXHANDLE constant, LPCSTR name)
{
ID3DXConstantTableImpl *This = (ID3DXConstantTableImpl *)iface;
+ UINT i;
- FIXME("(%p)->(%p, %s): stub\n", This, constant, name);
+ TRACE("(%p)->(%p, %s)\n", This, constant, name);
+
+ if(constant)
+ FIXME("Parent used\n");
+
+ for(i = 0; i < This->desc.Constants; i++) {
+ if(!lstrcmpA(name, (LPCSTR)This->ctab + This->ConstantInfo[i].Name)) {
+ return (D3DXHANDLE)&This->ConstantInfo[i];
+ }
+ }
return NULL;
}
diff --git a/dlls/d3dx9_36/tests/shader.c b/dlls/d3dx9_36/tests/shader.c
index c2cc5f9..e7f63c5 100644
--- a/dlls/d3dx9_36/tests/shader.c
+++ b/dlls/d3dx9_36/tests/shader.c
@@ -199,7 +199,7 @@ static void test_get_shader_constant_table_ex(void)
ok(constant == NULL, "Got result %p, expected NULL\n", constant);
constant = ID3DXConstantTable_GetConstantByName(constant_table, NULL, "fTime");
- todo_wine ok(constant != NULL, "GetConstantByName failed.\n");
+ ok(constant != NULL, "GetConstantByName failed.\n");
constant = ID3DXConstantTable_GetConstantByName(constant_table, NULL, "fTIME");
ok(constant == NULL, "Got result %p, expected NULL\n", constant);
--
1.7.0.4
More information about the wine-patches
mailing list