Commit 3d14118f authored by Stefan Dösinger's avatar Stefan Dösinger Committed by Alexandre Julliard

ddraw: Get some texture stage states from their equivalent sampler states.

parent d4b63bbd
......@@ -3975,10 +3975,48 @@ IDirect3DDeviceImpl_7_GetTextureStageState(IDirect3DDevice7 *iface,
if(!State)
return DDERR_INVALIDPARAMS;
return IWineD3DDevice_GetTextureStageState(This->wineD3DDevice,
Stage,
TexStageStateType,
State);
switch(TexStageStateType)
{
/* Mipfilter is a sampler state with different values */
case D3DTSS_MIPFILTER:
{
HRESULT hr;
WINED3DTEXTUREFILTERTYPE value;
hr = IWineD3DDevice_GetSamplerState(This->wineD3DDevice,
Stage,
WINED3DSAMP_MIPFILTER,
&value);
switch(value)
{
case WINED3DTEXF_NONE: *State = D3DTFP_NONE; break;
case WINED3DTEXF_POINT: *State = D3DTFP_POINT; break;
case WINED3DTEXF_LINEAR: *State = D3DTFP_LINEAR; break;
default:
ERR("Unexpected mipfilter value %d\n", value);
*State = D3DTFP_NONE;
}
return hr;
}
/* Minfilter is a sampler state too, equal values */
case D3DTSS_MINFILTER:
return IWineD3DDevice_GetSamplerState(This->wineD3DDevice,
Stage,
WINED3DSAMP_MINFILTER,
State);
/* Same for MAGFILTER */
case D3DTSS_MAGFILTER:
return IWineD3DDevice_GetSamplerState(This->wineD3DDevice,
Stage,
WINED3DSAMP_MAGFILTER,
State);
default:
return IWineD3DDevice_GetTextureStageState(This->wineD3DDevice,
Stage,
TexStageStateType,
State);
}
}
static HRESULT WINAPI
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment