=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Use wined3d_vec4 in fixup_transformed_pos().

Alexandre Julliard julliard at winehq.org
Wed Nov 2 15:04:07 CDT 2016


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

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Wed Nov  2 10:55:37 2016 +0100

wined3d: Use wined3d_vec4 in fixup_transformed_pos().

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/buffer.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index 72c45ee..25c1853 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -509,19 +509,19 @@ static inline unsigned int fixup_d3dcolor(DWORD *dst_color)
     return sizeof(*dst_color);
 }
 
-static inline unsigned int fixup_transformed_pos(float *p)
+static inline unsigned int fixup_transformed_pos(struct wined3d_vec4 *p)
 {
     /* rhw conversion like in position_float4(). */
-    if (p[3] != 1.0f && p[3] != 0.0f)
+    if (p->w != 1.0f && p->w != 0.0f)
     {
-        float w = 1.0f / p[3];
-        p[0] *= w;
-        p[1] *= w;
-        p[2] *= w;
-        p[3] = w;
+        float w = 1.0f / p->w;
+        p->x *= w;
+        p->y *= w;
+        p->z *= w;
+        p->w = w;
     }
 
-    return 4 * sizeof(*p);
+    return sizeof(*p);
 }
 
 ULONG CDECL wined3d_buffer_incref(struct wined3d_buffer *buffer)
@@ -909,7 +909,7 @@ static void buffer_conversion_upload(struct wined3d_buffer *buffer, struct wined
                         j += fixup_d3dcolor((DWORD *) (data + i * buffer->stride + j));
                         break;
                     case CONV_POSITIONT:
-                        j += fixup_transformed_pos((float *) (data + i * buffer->stride + j));
+                        j += fixup_transformed_pos((struct wined3d_vec4 *) (data + i * buffer->stride + j));
                         break;
                     default:
                         FIXME("Unimplemented conversion %d in shifted conversion.\n", buffer->conversion_map[j]);




More information about the wine-cvs mailing list