Stefan Dösinger : ddraw: Forward D3DRS_TEXTUREADDRESS* and D3DTSS_ADDRESS* to sampler states.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Feb 15 12:52:21 CST 2007
Module: wine
Branch: master
Commit: 7c40f9aaa242607596ad67254479c3dc7045639f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7c40f9aaa242607596ad67254479c3dc7045639f
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Thu Feb 15 13:48:23 2007 +0100
ddraw: Forward D3DRS_TEXTUREADDRESS* and D3DTSS_ADDRESS* to sampler states.
---
dlls/ddraw/device.c | 99 +++++++++++++++++++++++++++------------------------
1 files changed, 52 insertions(+), 47 deletions(-)
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 12455fd..c1ff5cd 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -2195,28 +2195,15 @@ IDirect3DDeviceImpl_7_GetRenderState(IDirect3DDevice7 *iface,
return hr;
}
+ case D3DRENDERSTATE_TEXTUREADDRESS:
case D3DRENDERSTATE_TEXTUREADDRESSU:
+ return IWineD3DDevice_GetSamplerState(This->wineD3DDevice,
+ 0, WINED3DSAMP_ADDRESSU,
+ Value);
case D3DRENDERSTATE_TEXTUREADDRESSV:
- case D3DRENDERSTATE_TEXTUREADDRESS:
- {
- WINED3DTEXTURESTAGESTATETYPE TexStageStateType;
-
- if (RenderStateType == D3DRENDERSTATE_TEXTUREADDRESS)
- {
- TexStageStateType = WINED3DTSS_ADDRESS;
- }
- else if (RenderStateType == D3DRENDERSTATE_TEXTUREADDRESSU)
- {
- TexStageStateType = WINED3DTSS_ADDRESSU;
- }
- else
- {
- TexStageStateType = WINED3DTSS_ADDRESSV;
- }
- return IWineD3DDevice_GetTextureStageState(This->wineD3DDevice,
- 0, TexStageStateType,
- Value);
- }
+ return IWineD3DDevice_GetSamplerState(This->wineD3DDevice,
+ 0, WINED3DSAMP_ADDRESSV,
+ Value);
default:
/* FIXME: Unhandled: D3DRENDERSTATE_STIPPLEPATTERN00 - 31 */
@@ -2348,29 +2335,19 @@ IDirect3DDeviceImpl_7_SetRenderState(IDirect3DDevice7 *iface,
tex_min);
}
+ case D3DRENDERSTATE_TEXTUREADDRESS:
+ IWineD3DDevice_SetSamplerState(This->wineD3DDevice,
+ 0, WINED3DSAMP_ADDRESSV,
+ Value);
+ /* Drop through */
case D3DRENDERSTATE_TEXTUREADDRESSU:
+ return IWineD3DDevice_SetSamplerState(This->wineD3DDevice,
+ 0, WINED3DSAMP_ADDRESSU,
+ Value);
case D3DRENDERSTATE_TEXTUREADDRESSV:
- case D3DRENDERSTATE_TEXTUREADDRESS:
- {
- WINED3DTEXTURESTAGESTATETYPE TexStageStateType;
-
- if (RenderStateType == D3DRENDERSTATE_TEXTUREADDRESS)
- {
- TexStageStateType = WINED3DTSS_ADDRESS;
- }
- else if (RenderStateType == D3DRENDERSTATE_TEXTUREADDRESSU)
- {
- TexStageStateType = WINED3DTSS_ADDRESSU;
- }
- else
- {
- TexStageStateType = WINED3DTSS_ADDRESSV;
- }
-
- return IWineD3DDevice_SetTextureStageState(This->wineD3DDevice,
- 0, TexStageStateType,
- Value);
- }
+ return IWineD3DDevice_SetSamplerState(This->wineD3DDevice,
+ 0, WINED3DSAMP_ADDRESSV,
+ Value);
case D3DRENDERSTATE_TEXTUREMAPBLEND:
{
@@ -4020,11 +3997,23 @@ IDirect3DDeviceImpl_7_GetTextureStageState(IDirect3DDevice7 *iface,
Stage,
WINED3DSAMP_MAGFILTER,
State);
+
+ case D3DTSS_ADDRESS:
+ case D3DTSS_ADDRESSU:
+ return IWineD3DDevice_GetSamplerState(This->wineD3DDevice,
+ Stage,
+ WINED3DSAMP_ADDRESSU,
+ State);
+ case D3DTSS_ADDRESSV:
+ return IWineD3DDevice_GetSamplerState(This->wineD3DDevice,
+ Stage,
+ WINED3DSAMP_ADDRESSV,
+ State);
default:
return IWineD3DDevice_GetTextureStageState(This->wineD3DDevice,
- Stage,
- TexStageStateType,
- State);
+ Stage,
+ TexStageStateType,
+ State);
}
}
@@ -4103,12 +4092,28 @@ IDirect3DDeviceImpl_7_SetTextureStageState(IDirect3DDevice7 *iface,
WINED3DSAMP_MAGFILTER,
State);
+ case D3DTSS_ADDRESS:
+ IWineD3DDevice_SetSamplerState(This->wineD3DDevice,
+ Stage,
+ WINED3DSAMP_ADDRESSV,
+ State);
+ /* Drop through */
+ case D3DTSS_ADDRESSU:
+ return IWineD3DDevice_SetSamplerState(This->wineD3DDevice,
+ Stage,
+ WINED3DSAMP_ADDRESSU,
+ State);
+ case D3DTSS_ADDRESSV:
+ return IWineD3DDevice_SetSamplerState(This->wineD3DDevice,
+ Stage,
+ WINED3DSAMP_ADDRESSV,
+ State);
default:
return IWineD3DDevice_SetTextureStageState(This->wineD3DDevice,
- Stage,
- TexStageStateType,
- State);
+ Stage,
+ TexStageStateType,
+ State);
}
}
More information about the wine-cvs
mailing list