[6/8] d3d8: Use D3DTRANSFORMSTATETYPE -> WINED3DTRANSFORMSTATETYPE enum conversion function instead of implicit conversion (clang)

Frédéric Delanoy frederic.delanoy at gmail.com
Sun May 29 02:46:09 CDT 2011


Conversion done using casts in order to prevent performance degradation in critical paths
---
 dlls/d3d8/d3d8_private.h |    5 +++++
 dlls/d3d8/device.c       |    9 ++++++---
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/dlls/d3d8/d3d8_private.h b/dlls/d3d8/d3d8_private.h
index e8d65ce..097fd97 100644
--- a/dlls/d3d8/d3d8_private.h
+++ b/dlls/d3d8/d3d8_private.h
@@ -628,6 +628,11 @@ static inline WINED3DSWAPEFFECT wined3swapeffect_from_d3dswapeffect(D3DSWAPEFFEC
     return (WINED3DSWAPEFFECT) effect;
 }
 
+static inline WINED3DTRANSFORMSTATETYPE wined3dtransformstatetype_from_d3dtransformstatetype(D3DTRANSFORMSTATETYPE type)
+{
+    return (WINED3DTRANSFORMSTATETYPE) type;
+}
+
 void load_local_constants(const DWORD *d3d8_elements, struct wined3d_shader *wined3d_vertex_shader) DECLSPEC_HIDDEN;
 size_t parse_token(const DWORD *pToken) DECLSPEC_HIDDEN;
 
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index 285f7f6..e0fd55b 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -1267,7 +1267,8 @@ static HRESULT WINAPI IDirect3DDevice8Impl_SetTransform(IDirect3DDevice8 *iface,
 
     /* Note: D3DMATRIX is compatible with WINED3DMATRIX */
     wined3d_mutex_lock();
-    hr = wined3d_device_set_transform(This->wined3d_device, State, (const WINED3DMATRIX *)lpMatrix);
+    hr = wined3d_device_set_transform(This->wined3d_device,
+            wined3dtransformstatetype_from_d3dtransformstatetype(State), (CONST WINED3DMATRIX*) lpMatrix);
     wined3d_mutex_unlock();
 
     return hr;
@@ -1283,7 +1284,8 @@ static HRESULT WINAPI IDirect3DDevice8Impl_GetTransform(IDirect3DDevice8 *iface,
 
     /* Note: D3DMATRIX is compatible with WINED3DMATRIX */
     wined3d_mutex_lock();
-    hr = wined3d_device_get_transform(This->wined3d_device, State, (WINED3DMATRIX *)pMatrix);
+    hr = wined3d_device_get_transform(This->wined3d_device,
+            wined3dtransformstatetype_from_d3dtransformstatetype(State), (WINED3DMATRIX*) pMatrix);
     wined3d_mutex_unlock();
 
     return hr;
@@ -1299,7 +1301,8 @@ static HRESULT WINAPI IDirect3DDevice8Impl_MultiplyTransform(IDirect3DDevice8 *i
 
     /* Note: D3DMATRIX is compatible with WINED3DMATRIX */
     wined3d_mutex_lock();
-    hr = wined3d_device_multiply_transform(This->wined3d_device, State, (const WINED3DMATRIX *)pMatrix);
+    hr = wined3d_device_multiply_transform(This->wined3d_device,
+            wined3dtransformstatetype_from_d3dtransformstatetype(State), (CONST WINED3DMATRIX*) pMatrix);
     wined3d_mutex_unlock();
 
     return hr;
-- 
1.7.5.3




More information about the wine-patches mailing list