Henri Verbeet : wined3d: Properly check for transformed position in buffer_check_attribute().

Alexandre Julliard julliard at winehq.org
Fri May 4 12:01:18 CDT 2012


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu May  3 21:49:39 2012 +0200

wined3d: Properly check for transformed position in buffer_check_attribute().

---

 dlls/wined3d/buffer.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index e4f3668..0ee814b 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -302,8 +302,14 @@ static BOOL buffer_check_attribute(struct wined3d_buffer *This, const struct win
 
         if (!is_ffp_color) FIXME("Test for non-color fixed function WINED3DFMT_B8G8R8A8_UNORM format\n");
     }
-    else if (is_ffp_position && format == WINED3DFMT_R32G32B32A32_FLOAT)
+    else if (is_ffp_position && si->position_transformed)
     {
+        if (format != WINED3DFMT_R32G32B32A32_FLOAT)
+        {
+            FIXME("Unexpected format %s for transformed position.\n", debug_d3dformat(format));
+            return FALSE;
+        }
+
         ret = buffer_process_converted_attribute(This, CONV_POSITIONT, attrib, stride_this_run);
     }
     else if (This->conversion_map)




More information about the wine-cvs mailing list