Stefan Dösinger : wined3d: Move WINED3DRS_FOGCOLOR to the state table.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Dec 11 07:45:03 CST 2006
Module: wine
Branch: master
Commit: af935a24022df11e39d09b8513e6d01146e213fd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=af935a24022df11e39d09b8513e6d01146e213fd
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Fri Dec 8 18:52:30 2006 +0100
wined3d: Move WINED3DRS_FOGCOLOR to the state table.
---
dlls/wined3d/device.c | 11 +----------
dlls/wined3d/state.c | 10 +++++++++-
2 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index ac1e7a8..1ef7cec 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3379,17 +3379,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl
case WINED3DRS_FOGSTART :
case WINED3DRS_FOGEND :
case WINED3DRS_RANGEFOGENABLE :
- StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
- break;
-
case WINED3DRS_FOGCOLOR :
- {
- float col[4];
- D3DCOLORTOGLFLOAT4(Value, col);
- /* Set the default alpha blend color */
- glFogfv(GL_FOG_COLOR, &col[0]);
- checkGLcall("glFog GL_FOG_COLOR");
- }
+ StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
break;
case WINED3DRS_FOGDENSITY :
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 026418c..36c6311 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -792,6 +792,14 @@ static void state_fog(DWORD state, IWine
}
}
+static void state_fogcolor(DWORD state, IWineD3DStateBlockImpl *stateblock) {
+ float col[4];
+ D3DCOLORTOGLFLOAT4(stateblock->renderState[WINED3DRS_FOGCOLOR], col);
+ /* Set the default alpha blend color */
+ glFogfv(GL_FOG_COLOR, &col[0]);
+ checkGLcall("glFog GL_FOG_COLOR");
+}
+
const struct StateEntry StateTable[] =
{
/* State name representative, apply function */
@@ -829,7 +837,7 @@ const struct StateEntry StateTable[] =
{ /* 31, WINED3DRS_SUBPIXEL */ STATE_RENDER(WINED3DRS_SUBPIXEL), state_unknown },
{ /* 32, WINED3DRS_SUBPIXELX */ STATE_RENDER(WINED3DRS_SUBPIXELX), state_unknown },
{ /* 33, WINED3DRS_STIPPLEDALPHA */ STATE_RENDER(WINED3DRS_STIPPLEDALPHA), state_unknown },
- { /* 34, WINED3DRS_FOGCOLOR */ STATE_RENDER(WINED3DRS_FOGCOLOR), state_unknown },
+ { /* 34, WINED3DRS_FOGCOLOR */ STATE_RENDER(WINED3DRS_FOGCOLOR), state_fogcolor },
{ /* 35, WINED3DRS_FOGTABLEMODE */ STATE_RENDER(WINED3DRS_FOGENABLE), state_fog },
{ /* 36, WINED3DRS_FOGSTART */ STATE_RENDER(WINED3DRS_FOGENABLE), state_fog },
{ /* 37, WINED3DRS_FOGEND */ STATE_RENDER(WINED3DRS_FOGENABLE), state_fog },
More information about the wine-cvs
mailing list