diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c index 8bb1f635b04..a8fc0d18e60 100644 --- a/dlls/wined3d/buffer.c +++ b/dlls/wined3d/buffer.c @@ -275,12 +275,13 @@ static BOOL buffer_process_converted_attribute(struct wined3d_buffer *This, attrib_size = attrib->format_desc->component_count * attrib->format_desc->component_size; for (i = 0; i < attrib_size; ++i) { - if (This->conversion_map[data + i] != conversion_type) + DWORD_PTR idx = (data + i) % This->stride; + if (This->conversion_map[idx] != conversion_type) { - TRACE("Byte %ld in vertex changed\n", i + data); - TRACE("It was type %d, is %d now\n", This->conversion_map[data + i], conversion_type); + TRACE("Byte %ld in vertex changed\n", idx); + TRACE("It was type %d, is %d now\n", This->conversion_map[idx], conversion_type); ret = TRUE; - This->conversion_map[data + i] = conversion_type; + This->conversion_map[idx] = conversion_type; } }