Stefan Dösinger : wined3d: Only scream about unsupported vertex blending when it is used.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Feb 19 07:02:21 CST 2007


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

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Fri Feb 16 19:15:15 2007 +0100

wined3d: Only scream about unsupported vertex blending when it is used.

---

 dlls/wined3d/state.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 16fddf7..257757f 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -2396,8 +2396,10 @@ static void loadVertexData(IWineD3DStateBlockImpl *stateblock, WineDirect3DVerte
 #endif
 
         } else {
-            /* TODO: support blends in fixupVertices */
-            FIXME("unsupported blending in openGl\n");
+            /* TODO: support blends in drawStridedSlow
+             * No need to write a FIXME here, this is done after the general vertex decl decoding
+             */
+            WARN("unsupported blending in openGl\n");
         }
     } else {
         if (GL_SUPPORT(ARB_VERTEX_BLEND)) {
@@ -2785,8 +2787,11 @@ static inline void handleStreams(IWineD3DStateBlockImpl *stateblock, BOOL useVer
 /* Generate some fixme's if unsupported functionality is being used */
 #define BUFFER_OR_DATA(_attribute) dataLocations->u.s._attribute.lpData
     /* TODO: Either support missing functionality in fixupVertices or by creating a shader to replace the pipeline. */
-    if (!useVertexShaderFunction && (BUFFER_OR_DATA(blendMatrixIndices) || BUFFER_OR_DATA(blendWeights))) {
-        FIXME("Blending data is only valid with vertex shaders %p %p\n",dataLocations->u.s.blendWeights.lpData,dataLocations->u.s.blendWeights.lpData);
+    if (!useVertexShaderFunction &&
+        stateblock->renderState[WINED3DRS_VERTEXBLEND] &&
+        (BUFFER_OR_DATA(blendMatrixIndices) || BUFFER_OR_DATA(blendWeights))) {
+        FIXME("Vertex Blending is not implemented yet %p %p\n",dataLocations->u.s.blendWeights.lpData,dataLocations->u.s.blendWeights.lpData);
+        /* TODO: Implement it using GL_ARB_vertex_blend or software emulation in drawStridedSlow */
     }
     if (!useVertexShaderFunction && (BUFFER_OR_DATA(position2) || BUFFER_OR_DATA(normal2))) {
         FIXME("Tweening is only valid with vertex shaders\n");




More information about the wine-cvs mailing list