From 92460b98d1d61ba85a9f2dd2d6e6b2ea18ab3564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Sun, 10 Dec 2006 23:14:36 +0100 Subject: [PATCH] wined3d: Move WINED3DRS_SEPARATEALPHABLENDENABLE to the state table. --- dlls/wined3d/device.c | 22 ++++------------------ dlls/wined3d/state.c | 14 ++++++++++---- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index b2c129e777c..58d379f967b 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -3438,6 +3438,10 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetRenderState(IWineD3DDevice *iface, W case WINED3DRS_ADAPTIVETESS_W : case WINED3DRS_ENABLEADAPTIVETESSELLATION: case WINED3DRS_SRGBWRITEENABLE : + case WINED3DRS_SEPARATEALPHABLENDENABLE : + case WINED3DRS_SRCBLENDALPHA : + case WINED3DRS_DESTBLENDALPHA : + case WINED3DRS_BLENDOPALPHA : StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock); break; @@ -3448,24 +3452,6 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetRenderState(IWineD3DDevice *iface, W return WINED3DERR_INVALIDCALL; } - case WINED3DRS_SEPARATEALPHABLENDENABLE : - { - if(Value) - ERR("(%p)->(%s,%d) not yet implemented. Missing of cap D3DPMISCCAPS_SEPARATEALPHABLEND wasn't honored?\n", This, debug_d3drenderstate(State), Value); - break; - } - - case WINED3DRS_SRCBLENDALPHA : - case WINED3DRS_DESTBLENDALPHA : - case WINED3DRS_BLENDOPALPHA : - { - if(This->stateBlock->renderState[WINED3DRS_SEPARATEALPHABLENDENABLE]) - FIXME("(%p)->(%s,%d) not yet implemented\n", This, debug_d3drenderstate(State), Value); - else - TRACE("(%p)->(%s,%d): recording state but WINED3DRS_SEPARATEALPHABLENDENABLE is not enabled\n", This, debug_d3drenderstate(State), Value); - break; - } - default: FIXME("(%p)->(%s,%d) unknown state\n", This, debug_d3drenderstate(State), Value); } diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c index 44e1d47dfda..b12940f2af8 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -1214,6 +1214,12 @@ static void state_srgbwrite(DWORD state, IWineD3DStateBlockImpl *stateblock) { ERR("Render state WINED3DRS_SRGBWRITEENABLE not yet implemented\n"); } +static void state_seperateblend(DWORD state, IWineD3DStateBlockImpl *stateblock) { + TRACE("Stub\n"); + if(stateblock->renderState[WINED3DRS_SEPARATEALPHABLENDENABLE]) + FIXME("(WINED3DRS_SEPARATEALPHABLENDENABLE,%d) not yet implemented\n", stateblock->renderState[WINED3DRS_SEPARATEALPHABLENDENABLE]); +} + const struct StateEntry StateTable[] = { /* State name representative, apply function */ @@ -1427,8 +1433,8 @@ const struct StateEntry StateTable[] = { /*203, WINED3DRS_WRAP13 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap }, { /*204, WINED3DRS_WRAP14 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap }, { /*205, WINED3DRS_WRAP15 */ STATE_RENDER(WINED3DRS_WRAP0), state_wrap }, - { /*206, WINED3DRS_SEPARATEALPHABLENDENABLE */ STATE_RENDER(WINED3DRS_SEPARATEALPHABLENDENABLE), state_unknown }, - { /*207, WINED3DRS_SRCBLENDALPHA */ STATE_RENDER(WINED3DRS_SEPARATEALPHABLENDENABLE), state_unknown }, - { /*208, WINED3DRS_DESTBLENDALPHA */ STATE_RENDER(WINED3DRS_SEPARATEALPHABLENDENABLE), state_unknown }, - { /*209, WINED3DRS_BLENDOPALPHA */ STATE_RENDER(WINED3DRS_SEPARATEALPHABLENDENABLE), state_unknown }, + { /*206, WINED3DRS_SEPARATEALPHABLENDENABLE */ STATE_RENDER(WINED3DRS_SEPARATEALPHABLENDENABLE), state_seperateblend }, + { /*207, WINED3DRS_SRCBLENDALPHA */ STATE_RENDER(WINED3DRS_SEPARATEALPHABLENDENABLE), state_seperateblend }, + { /*208, WINED3DRS_DESTBLENDALPHA */ STATE_RENDER(WINED3DRS_SEPARATEALPHABLENDENABLE), state_seperateblend }, + { /*209, WINED3DRS_BLENDOPALPHA */ STATE_RENDER(WINED3DRS_SEPARATEALPHABLENDENABLE), state_seperateblend }, };