[PATCH 2/2] ddraw: Fix double to float conversion warnings

Stefan Dösinger stefan at codeweavers.com
Thu Aug 1 05:25:56 CDT 2013


---
 dlls/ddraw/device.c        |  2 +-
 dlls/ddraw/executebuffer.c | 16 ++++++++--------
 dlls/ddraw/viewport.c      |  8 ++++----
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 09880dd..ed5dde6 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -4391,7 +4391,7 @@ static DWORD in_plane(UINT plane, D3DVECTOR normal, D3DVALUE origin_plane, D3DVE
 {
     float distance, norm;
 
-    norm = sqrt( normal.u1.x * normal.u1.x + normal.u2.y * normal.u2.y + normal.u3.z * normal.u3.z );
+    norm = sqrtf( normal.u1.x * normal.u1.x + normal.u2.y * normal.u2.y + normal.u3.z * normal.u3.z );
     distance = ( origin_plane + normal.u1.x * center.u1.x + normal.u2.y * center.u2.y + normal.u3.z * center.u3.z ) / norm;
 
     if ( fabs( distance ) < radius ) return D3DSTATUS_CLIPUNIONLEFT << plane;
diff --git a/dlls/ddraw/executebuffer.c b/dlls/ddraw/executebuffer.c
index 2925cfa..5c12272 100644
--- a/dlls/ddraw/executebuffer.c
+++ b/dlls/ddraw/executebuffer.c
@@ -382,10 +382,10 @@ HRESULT d3d_execute_buffer_execute(struct d3d_execute_buffer *buffer,
 			    dst->u8.tv  = src->u8.tv;
 
 			    /* Now, the matrix multiplication */
-			    dst->u1.sx = (src->u1.x * mat._11) + (src->u2.y * mat._21) + (src->u3.z * mat._31) + (1.0 * mat._41);
-			    dst->u2.sy = (src->u1.x * mat._12) + (src->u2.y * mat._22) + (src->u3.z * mat._32) + (1.0 * mat._42);
-			    dst->u3.sz = (src->u1.x * mat._13) + (src->u2.y * mat._23) + (src->u3.z * mat._33) + (1.0 * mat._43);
-			    dst->u4.rhw = (src->u1.x * mat._14) + (src->u2.y * mat._24) + (src->u3.z * mat._34) + (1.0 * mat._44);
+			    dst->u1.sx = (src->u1.x * mat._11) + (src->u2.y * mat._21) + (src->u3.z * mat._31) + (1.0f * mat._41);
+			    dst->u2.sy = (src->u1.x * mat._12) + (src->u2.y * mat._22) + (src->u3.z * mat._32) + (1.0f * mat._42);
+			    dst->u3.sz = (src->u1.x * mat._13) + (src->u2.y * mat._23) + (src->u3.z * mat._33) + (1.0f * mat._43);
+			    dst->u4.rhw = (src->u1.x * mat._14) + (src->u2.y * mat._24) + (src->u3.z * mat._34) + (1.0f * mat._44);
 
 			    dst->u1.sx = dst->u1.sx / dst->u4.rhw * Viewport->dvScaleX
 				       + Viewport->dwX + Viewport->dwWidth / 2;
@@ -425,10 +425,10 @@ HRESULT d3d_execute_buffer_execute(struct d3d_execute_buffer *buffer,
 			    dst->u8.tv = src->u7.tv;
 
 			    /* Now, the matrix multiplication */
-			    dst->u1.sx = (src->u1.x * mat._11) + (src->u2.y * mat._21) + (src->u3.z * mat._31) + (1.0 * mat._41);
-			    dst->u2.sy = (src->u1.x * mat._12) + (src->u2.y * mat._22) + (src->u3.z * mat._32) + (1.0 * mat._42);
-			    dst->u3.sz = (src->u1.x * mat._13) + (src->u2.y * mat._23) + (src->u3.z * mat._33) + (1.0 * mat._43);
-			    dst->u4.rhw = (src->u1.x * mat._14) + (src->u2.y * mat._24) + (src->u3.z * mat._34) + (1.0 * mat._44);
+			    dst->u1.sx = (src->u1.x * mat._11) + (src->u2.y * mat._21) + (src->u3.z * mat._31) + (1.0f * mat._41);
+			    dst->u2.sy = (src->u1.x * mat._12) + (src->u2.y * mat._22) + (src->u3.z * mat._32) + (1.0f * mat._42);
+			    dst->u3.sz = (src->u1.x * mat._13) + (src->u2.y * mat._23) + (src->u3.z * mat._33) + (1.0f * mat._43);
+			    dst->u4.rhw = (src->u1.x * mat._14) + (src->u2.y * mat._24) + (src->u3.z * mat._34) + (1.0f * mat._44);
 
 			    dst->u1.sx = dst->u1.sx / dst->u4.rhw * Viewport->dvScaleX
 				       + Viewport->dwX + Viewport->dwWidth / 2;
diff --git a/dlls/ddraw/viewport.c b/dlls/ddraw/viewport.c
index f9eddda..d74c330 100644
--- a/dlls/ddraw/viewport.c
+++ b/dlls/ddraw/viewport.c
@@ -428,10 +428,10 @@ static HRESULT WINAPI d3d_viewport_TransformVertices(IDirect3DViewport3 *iface,
     outH = lpData->lpHOut;
     for(i = 0; i < dwVertexCount; i++)
     {
-        x = (in[0] * mat._11) + (in[1] * mat._21) + (in[2] * mat._31) + (1.0 * mat._41);
-        y = (in[0] * mat._12) + (in[1] * mat._22) + (in[2] * mat._32) + (1.0 * mat._42);
-        z = (in[0] * mat._13) + (in[1] * mat._23) + (in[2] * mat._33) + (1.0 * mat._43);
-        w = (in[0] * mat._14) + (in[1] * mat._24) + (in[2] * mat._34) + (1.0 * mat._44);
+        x = (in[0] * mat._11) + (in[1] * mat._21) + (in[2] * mat._31) + (1.0f * mat._41);
+        y = (in[0] * mat._12) + (in[1] * mat._22) + (in[2] * mat._32) + (1.0f * mat._42);
+        z = (in[0] * mat._13) + (in[1] * mat._23) + (in[2] * mat._33) + (1.0f * mat._43);
+        w = (in[0] * mat._14) + (in[1] * mat._24) + (in[2] * mat._34) + (1.0f * mat._44);
 
         if(dwFlags & D3DTRANSFORM_CLIPPED)
         {
-- 
1.8.1.5




More information about the wine-patches mailing list