[10/10] WineD3D: Only scream about unsupported vertex blending when it is used

Stefan Dösinger stefan at codeweavers.com
Fri Feb 16 12:15:15 CST 2007


-------------- next part --------------
From 38e71667965cea4dd3b122b4da809b096edbf422 Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan at codeweavers.com>
Date: Thu, 15 Feb 2007 16:12:24 +0100
Subject: [PATCH] WineD3D: Only scream about unsupported vertex blending when it is used

This silences the constant fixmes about vertex blending in hl2 dxlevel 60. hl2 has vertex blending
disabled(nice, it obeys our caps), thus there is no negative effect about not implementing it
---
 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");
-- 
1.4.4.3



More information about the wine-patches mailing list