[13/16] WineD3D: Move wined3drs_fogdensity to the state table
Stefan Dösinger
stefan at codeweavers.com
Sun Dec 10 09:34:45 CST 2006
Use this patch instead of the earlier one, it fixes a typo(state_fogdensity
instead of state_fodensity).
-------------- next part --------------
From 1753f892ef57b9873b5876f4521b9a84e6295e22 Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan at codeweavers.com>
Date: Sun, 10 Dec 2006 16:26:23 +0100
Subject: [PATCH] WineD3D: Move WINED3DRS_FOGDENSITY to the state table
---
dlls/wined3d/device.c | 9 +--------
dlls/wined3d/state.c | 12 +++++++++++-
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 6218d3b..52b1c87 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3380,15 +3380,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl
case WINED3DRS_FOGEND :
case WINED3DRS_RANGEFOGENABLE :
case WINED3DRS_FOGCOLOR :
- StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
- break;
-
case WINED3DRS_FOGDENSITY :
- {
- tmpvalue.d = Value;
- glFogfv(GL_FOG_DENSITY, &tmpvalue.f);
- checkGLcall("glFogf(GL_FOG_DENSITY, (float) Value)");
- }
+ StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
break;
case WINED3DRS_VERTEXBLEND :
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 36c6311..b439795 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -800,6 +800,16 @@ static void state_fogcolor(DWORD state,
checkGLcall("glFog GL_FOG_COLOR");
}
+static void state_fogdensity(DWORD state, IWineD3DStateBlockImpl *stateblock) {
+ union {
+ DWORD d;
+ float f;
+ } tmpvalue;
+ tmpvalue.d = stateblock->renderState[WINED3DRS_FOGDENSITY];
+ glFogfv(GL_FOG_DENSITY, &tmpvalue.f);
+ checkGLcall("glFogf(GL_FOG_DENSITY, (float) Value)");
+}
+
const struct StateEntry StateTable[] =
{
/* State name representative, apply function */
@@ -841,7 +851,7 @@ const struct StateEntry StateTable[] =
{ /* 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 },
- { /* 38, WINED3DRS_FOGDENSITY */ STATE_RENDER(WINED3DRS_FOGDENSITY), state_unknown },
+ { /* 38, WINED3DRS_FOGDENSITY */ STATE_RENDER(WINED3DRS_FOGDENSITY), state_fogdensity },
{ /* 39, WINED3DRS_STIPPLEENABLE */ STATE_RENDER(WINED3DRS_STIPPLEENABLE), state_unknown },
{ /* 40, WINED3DRS_EDGEANTIALIAS */ STATE_RENDER(WINED3DRS_ALPHABLENDENABLE), state_blend },
{ /* 41, WINED3DRS_COLORKEYENABLE */ STATE_RENDER(WINED3DRS_ALPHATESTENABLE), state_alpha },
--
1.4.2.4
More information about the wine-patches
mailing list