[12/16] WineD3D: Move WINED3DRS_FOGCOLOR to the state table
Stefan Dösinger
stefan at codeweavers.com
Fri Dec 8 11:52:30 CST 2006
-------------- next part --------------
From 8ecbde6e96075928a43a377d789a6c70635e00e3 Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan at codeweavers.com>
Date: Fri, 8 Dec 2006 17:17:46 +0100
Subject: [PATCH] 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 394bca3..6218d3b 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 @@ #endif
}
}
+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 },
--
1.4.2.4
More information about the wine-patches
mailing list