WineD3D: Move WINED3DRS_AMBIENT to the state table
Stefan Dösinger
stefan at codeweavers.com
Thu Dec 7 18:45:26 CST 2006
-------------- next part --------------
From 809f2e842a327b0acb035121fea890cdf0d0ff2e Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan at codeweavers.com>
Date: Fri, 8 Dec 2006 00:50:06 +0100
Subject: [PATCH] WineD3D: Move WINED3DRS_AMBIENT to the state table
---
dlls/wined3d/device.c | 12 +-----------
dlls/wined3d/state.c | 11 ++++++++++-
2 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index b51f32d..36dd77d 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3444,18 +3444,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl
case WINED3DRS_DITHERENABLE :
case WINED3DRS_ZWRITEENABLE :
case WINED3DRS_ZFUNC :
- StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
- break;
-
case WINED3DRS_AMBIENT :
- {
- float col[4];
- D3DCOLORTOGLFLOAT4(Value, col);
- TRACE("Setting ambient to (%f,%f,%f,%f)\n", col[0], col[1], col[2], col[3]);
- glLightModelfv(GL_LIGHT_MODEL_AMBIENT, col);
- checkGLcall("glLightModel for MODEL_AMBIENT");
-
- }
+ StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock);
break;
case WINED3DRS_ALPHABLENDENABLE :
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 684ff94..83e05bc 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -204,6 +204,15 @@ static void state_zfunc(DWORD state, IWi
}
}
+static void state_ambient(DWORD state, IWineD3DStateBlockImpl *stateblock) {
+ float col[4];
+ D3DCOLORTOGLFLOAT4(stateblock->renderState[WINED3DRS_AMBIENT], col);
+
+ TRACE("Setting ambient to (%f,%f,%f,%f)\n", col[0], col[1], col[2], col[3]);
+ glLightModelfv(GL_LIGHT_MODEL_AMBIENT, col);
+ checkGLcall("glLightModel for MODEL_AMBIENT");
+}
+
const struct StateEntry StateTable[] =
{
/* State name representative, apply function */
@@ -348,7 +357,7 @@ const struct StateEntry StateTable[] =
{ /*136, WINED3DRS_CLIPPING */ STATE_RENDER(WINED3DRS_CLIPPING), state_unknown },
{ /*137, WINED3DRS_LIGHTING */ STATE_RENDER(WINED3DRS_LIGHTING) /* Vertex decl! */,state_lighting },
{ /*138, WINED3DRS_EXTENTS */ STATE_RENDER(WINED3DRS_EXTENTS), state_unknown },
- { /*139, WINED3DRS_AMBIENT */ STATE_RENDER(WINED3DRS_AMBIENT), state_unknown },
+ { /*139, WINED3DRS_AMBIENT */ STATE_RENDER(WINED3DRS_AMBIENT), state_ambient },
{ /*140, WINED3DRS_FOGVERTEXMODE */ STATE_RENDER(WINED3DRS_FOGENABLE), state_unknown },
{ /*141, WINED3DRS_COLORVERTEX */ STATE_RENDER(WINED3DRS_COLORVERTEX), state_unknown },
{ /*142, WINED3DRS_LOCALVIEWER */ STATE_RENDER(WINED3DRS_LOCALVIEWER), state_unknown },
--
1.4.2.4
More information about the wine-patches
mailing list