wined3d: Use wined3d_vec4 in fixup_transformed_pos().

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Józef Kucia 2016-11-02 10:55:37 +01:00 committed by Alexandre Julliard
parent de19ba7c23
commit 07cfeac3dd
1 changed files with 9 additions and 9 deletions

View File

@ -509,19 +509,19 @@ static inline unsigned int fixup_d3dcolor(DWORD *dst_color)
return sizeof(*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(). */ /* 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]; float w = 1.0f / p->w;
p[0] *= w; p->x *= w;
p[1] *= w; p->y *= w;
p[2] *= w; p->z *= w;
p[3] = w; p->w = w;
} }
return 4 * sizeof(*p); return sizeof(*p);
} }
ULONG CDECL wined3d_buffer_incref(struct wined3d_buffer *buffer) 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)); j += fixup_d3dcolor((DWORD *) (data + i * buffer->stride + j));
break; break;
case CONV_POSITIONT: 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; break;
default: default:
FIXME("Unimplemented conversion %d in shifted conversion.\n", buffer->conversion_map[j]); FIXME("Unimplemented conversion %d in shifted conversion.\n", buffer->conversion_map[j]);