From a331ed032e0a22ae720205f3576e9d5a21e7bfb9 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Thu, 3 May 2012 21:49:39 +0200 Subject: [PATCH] wined3d: Properly check for transformed position in buffer_check_attribute(). --- dlls/wined3d/buffer.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c index e4f3668e757..0ee814b0ef8 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)