Module: wine Branch: master Commit: 580b9961f43f5baff8b0c31ff00b1e38a45c45ab URL: http://source.winehq.org/git/wine.git/?a=commit;h=580b9961f43f5baff8b0c31ff0...
Author: Stefan Dösinger stefan@codeweavers.com Date: Sun Dec 10 23:20:26 2006 +0100
wined3d: Move WINED3DRS_LOCALVIEWER 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 85e65d0..9bf2a74 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -3403,17 +3403,10 @@ static HRESULT WINAPI IWineD3DDeviceImpl case WINED3DRS_COLORWRITEENABLE1 : case WINED3DRS_COLORWRITEENABLE2 : case WINED3DRS_COLORWRITEENABLE3 : + case WINED3DRS_LOCALVIEWER : StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock); break;
- case WINED3DRS_LOCALVIEWER : - { - GLint state = (Value) ? 1 : 0; - TRACE("Local Viewer Enable to %ul\n", (BOOL) Value); - glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, state); - } - break; - case WINED3DRS_LASTPIXEL : { if (Value) { diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c index e30cc65..f640743 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -1026,6 +1026,16 @@ static void state_colorwrite(DWORD state } }
+static void state_localviewer(DWORD state, IWineD3DStateBlockImpl *stateblock) { + if(stateblock->renderState[WINED3DRS_LOCALVIEWER]) { + glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, 1); + checkGLcall("glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, 1)"); + } else { + glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, 0); + checkGLcall("glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, 0)"); + } +} + const struct StateEntry StateTable[] = { /* State name representative, apply function */ @@ -1173,7 +1183,7 @@ const struct StateEntry StateTable[] = { /*139, WINED3DRS_AMBIENT */ STATE_RENDER(WINED3DRS_AMBIENT), state_ambient }, { /*140, WINED3DRS_FOGVERTEXMODE */ STATE_RENDER(WINED3DRS_FOGENABLE), state_fog }, { /*141, WINED3DRS_COLORVERTEX */ STATE_RENDER(WINED3DRS_COLORVERTEX), state_colormat }, - { /*142, WINED3DRS_LOCALVIEWER */ STATE_RENDER(WINED3DRS_LOCALVIEWER), state_unknown }, + { /*142, WINED3DRS_LOCALVIEWER */ STATE_RENDER(WINED3DRS_LOCALVIEWER), state_localviewer }, { /*143, WINED3DRS_NORMALIZENORMALS */ STATE_RENDER(WINED3DRS_NORMALIZENORMALS), state_normalize }, { /*144, WINED3DRS_COLORKEYBLENDENABLE */ STATE_RENDER(WINED3DRS_COLORKEYBLENDENABLE), state_unknown }, { /*145, WINED3DRS_DIFFUSEMATERIALSOURCE */ STATE_RENDER(WINED3DRS_COLORVERTEX), state_colormat },