[2/2] d3d8: Use D3DPRIMITIVETYPE -> WINED3DPRIMITIVETYPE enum conversion function instead of implicit conversion (clang)
Frédéric Delanoy
frederic.delanoy at gmail.com
Sun May 29 12:43:10 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 | 8 ++++----
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/dlls/d3d8/d3d8_private.h b/dlls/d3d8/d3d8_private.h
index 097fd97..6b0cd012 100644
--- a/dlls/d3d8/d3d8_private.h
+++ b/dlls/d3d8/d3d8_private.h
@@ -633,6 +633,11 @@ static inline WINED3DTRANSFORMSTATETYPE wined3dtransformstatetype_from_d3dtransf
return (WINED3DTRANSFORMSTATETYPE) type;
}
+static inline WINED3DPRIMITIVETYPE wined3dprimitivetype_from_d3dprimitivetype(D3DPRIMITIVETYPE type)
+{
+ return (WINED3DPRIMITIVETYPE) 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 9e7b4b9..66c8259 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -1966,7 +1966,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_DrawPrimitive(IDirect3DDevice8 *iface
iface, PrimitiveType, StartVertex, PrimitiveCount);
wined3d_mutex_lock();
- wined3d_device_set_primitive_type(This->wined3d_device, PrimitiveType);
+ wined3d_device_set_primitive_type(This->wined3d_device, wined3dprimitivetype_from_d3dprimitivetype(PrimitiveType));
hr = wined3d_device_draw_primitive(This->wined3d_device, StartVertex,
vertex_count_from_primitive_count(PrimitiveType, PrimitiveCount));
wined3d_mutex_unlock();
@@ -1985,7 +1985,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_DrawIndexedPrimitive(IDirect3DDevice8
iface, PrimitiveType, MinVertexIndex, NumVertices, startIndex, primCount);
wined3d_mutex_lock();
- wined3d_device_set_primitive_type(This->wined3d_device, PrimitiveType);
+ wined3d_device_set_primitive_type(This->wined3d_device, wined3dprimitivetype_from_d3dprimitivetype(PrimitiveType));
hr = wined3d_device_draw_indexed_primitive(This->wined3d_device, startIndex,
vertex_count_from_primitive_count(PrimitiveType, primCount));
wined3d_mutex_unlock();
@@ -2004,7 +2004,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_DrawPrimitiveUP(IDirect3DDevice8 *ifa
iface, PrimitiveType, PrimitiveCount, pVertexStreamZeroData, VertexStreamZeroStride);
wined3d_mutex_lock();
- wined3d_device_set_primitive_type(This->wined3d_device, PrimitiveType);
+ wined3d_device_set_primitive_type(This->wined3d_device, wined3dprimitivetype_from_d3dprimitivetype(PrimitiveType));
hr = wined3d_device_draw_primitive_up(This->wined3d_device,
vertex_count_from_primitive_count(PrimitiveType, PrimitiveCount),
pVertexStreamZeroData, VertexStreamZeroStride);
@@ -2027,7 +2027,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_DrawIndexedPrimitiveUP(IDirect3DDevic
pIndexData, IndexDataFormat, pVertexStreamZeroData, VertexStreamZeroStride);
wined3d_mutex_lock();
- wined3d_device_set_primitive_type(This->wined3d_device, PrimitiveType);
+ wined3d_device_set_primitive_type(This->wined3d_device, wined3dprimitivetype_from_d3dprimitivetype(PrimitiveType));
hr = wined3d_device_draw_indexed_primitive_up(This->wined3d_device,
vertex_count_from_primitive_count(PrimitiveType, PrimitiveCount), pIndexData,
wined3dformat_from_d3dformat(IndexDataFormat), pVertexStreamZeroData, VertexStreamZeroStride);
--
1.7.5.3
More information about the wine-patches
mailing list