d3dx9: Avoid desc copy in ID3DXConstantTable::GetSamplerIndex().

This commit is contained in:
Rico Schüller 2012-08-28 13:43:14 +02:00 committed by Alexandre Julliard
parent edb802a847
commit 77632f0880
1 changed files with 7 additions and 9 deletions

View File

@ -942,20 +942,18 @@ static HRESULT WINAPI ID3DXConstantTableImpl_GetConstantDesc(ID3DXConstantTable
static UINT WINAPI ID3DXConstantTableImpl_GetSamplerIndex(ID3DXConstantTable *iface, D3DXHANDLE constant) static UINT WINAPI ID3DXConstantTableImpl_GetSamplerIndex(ID3DXConstantTable *iface, D3DXHANDLE constant)
{ {
struct ID3DXConstantTableImpl *This = impl_from_ID3DXConstantTable(iface); struct ID3DXConstantTableImpl *This = impl_from_ID3DXConstantTable(iface);
D3DXCONSTANT_DESC desc; struct ctab_constant *c = get_valid_constant(This, constant);
UINT count = 1;
HRESULT res;
TRACE("(%p)->(%p)\n", This, constant); TRACE("(%p)->(%p)\n", This, constant);
res = ID3DXConstantTable_GetConstantDesc(iface, constant, &desc, &count); if (!c || c->desc.RegisterSet != D3DXRS_SAMPLER)
if (FAILED(res)) {
WARN("Invalid argument specified\n");
return (UINT)-1; return (UINT)-1;
}
if (desc.RegisterSet != D3DXRS_SAMPLER) TRACE("Returning RegisterIndex %u\n", c->desc.RegisterIndex);
return (UINT)-1; return c->desc.RegisterIndex;
return desc.RegisterIndex;
} }
static D3DXHANDLE WINAPI ID3DXConstantTableImpl_GetConstant(ID3DXConstantTable *iface, D3DXHANDLE constant, UINT index) static D3DXHANDLE WINAPI ID3DXConstantTableImpl_GetConstant(ID3DXConstantTable *iface, D3DXHANDLE constant, UINT index)