Stefan Dösinger : wined3d: Move WINED3DRS_SEPARATEALPHABLENDENABLE to the state table.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Dec 11 10:35:03 CST 2006


Module: wine
Branch: master
Commit: 92460b98d1d61ba85a9f2dd2d6e6b2ea18ab3564
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=92460b98d1d61ba85a9f2dd2d6e6b2ea18ab3564

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Sun Dec 10 23:14:36 2006 +0100

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 b2c129e..58d379f 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 44e1d47..b12940f 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 },
 };




More information about the wine-cvs mailing list