[45/47] WineD3D: Move WINED3DRS_SEPARATEALPHABLENDENABLE to the
state table
Stefan Dösinger
stefan at codeweavers.com
Sun Dec 10 16:14:36 CST 2006
This is the last render state moved to the state table
-------------- next part --------------
From 284bb68e63ddfba7a5e56b2e0acb981c7da72834 Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan at codeweavers.com>
Date: Sun, 10 Dec 2006 20:11:25 +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 c789164..84f56ef 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3438,6 +3438,10 @@ static HRESULT WINAPI IWineD3DDeviceImpl
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
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 1844482..381838e 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -1214,6 +1214,12 @@ static void state_srgbwrite(DWORD state,
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 },
};
--
1.4.2.4
More information about the wine-patches
mailing list