[5/8] d3d8: Use D3DSWAPEFFECT <-> WINED3DD3DSWAPEFFECT enum conversion functions instead of implicit conversions (clang)
Frédéric Delanoy
frederic.delanoy at gmail.com
Sun May 29 02:46:08 CDT 2011
No default label used in switch statements so the compiler warns about unhandled cases
---
dlls/d3d8/d3d8_private.h | 26 ++++++++++++++++++++++++++
dlls/d3d8/device.c | 12 ++++++------
dlls/d3d8/swapchain.c | 4 ++--
3 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/dlls/d3d8/d3d8_private.h b/dlls/d3d8/d3d8_private.h
index 3ca7a0f..e8d65ce 100644
--- a/dlls/d3d8/d3d8_private.h
+++ b/dlls/d3d8/d3d8_private.h
@@ -602,6 +602,32 @@ static inline WINED3DDEVTYPE wined3ddevtype_from_d3ddevtype(D3DDEVTYPE type)
return (WINED3DDEVTYPE) type;
}
+static inline D3DSWAPEFFECT d3swapeffect_from_wined3dswapeffect(WINED3DSWAPEFFECT effect)
+{
+ switch (effect)
+ {
+ case WINED3DSWAPEFFECT_DISCARD: return D3DSWAPEFFECT_DISCARD;
+ case WINED3DSWAPEFFECT_FLIP: return D3DSWAPEFFECT_FLIP;
+ case WINED3DSWAPEFFECT_COPY: return D3DSWAPEFFECT_COPY;
+ case WINED3DSWAPEFFECT_COPY_VSYNC: return D3DSWAPEFFECT_COPY_VSYNC;
+ case WINED3DSWAPEFFECT_FORCE_DWORD: return D3DSWAPEFFECT_FORCE_DWORD;
+ }
+ return (D3DSWAPEFFECT) effect;
+}
+
+static inline WINED3DSWAPEFFECT wined3swapeffect_from_d3dswapeffect(D3DSWAPEFFECT effect)
+{
+ switch (effect)
+ {
+ case D3DSWAPEFFECT_DISCARD: return WINED3DSWAPEFFECT_DISCARD;
+ case D3DSWAPEFFECT_FLIP: return WINED3DSWAPEFFECT_FLIP;
+ case D3DSWAPEFFECT_COPY: return WINED3DSWAPEFFECT_COPY;
+ case D3DSWAPEFFECT_COPY_VSYNC: return WINED3DSWAPEFFECT_COPY_VSYNC;
+ case D3DSWAPEFFECT_FORCE_DWORD: return WINED3DSWAPEFFECT_FORCE_DWORD;
+ }
+ return (WINED3DSWAPEFFECT) effect;
+}
+
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 8120c21..285f7f6 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -615,7 +615,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_Reset(IDirect3DDevice8 *iface,
localParameters.BackBufferCount = pPresentationParameters->BackBufferCount;
localParameters.MultiSampleType = wined3dmultisampletype_from_d3dmultisampletype(pPresentationParameters->MultiSampleType);
localParameters.MultiSampleQuality = 0; /* d3d9 only */
- localParameters.SwapEffect = pPresentationParameters->SwapEffect;
+ localParameters.SwapEffect = wined3swapeffect_from_d3dswapeffect(pPresentationParameters->SwapEffect);
localParameters.hDeviceWindow = pPresentationParameters->hDeviceWindow;
localParameters.Windowed = pPresentationParameters->Windowed;
localParameters.EnableAutoDepthStencil = pPresentationParameters->EnableAutoDepthStencil;
@@ -642,7 +642,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_Reset(IDirect3DDevice8 *iface,
pPresentationParameters->BackBufferFormat = d3dformat_from_wined3dformat(localParameters.BackBufferFormat);
pPresentationParameters->BackBufferCount = localParameters.BackBufferCount;
pPresentationParameters->MultiSampleType = d3dmultisampletype_from_wined3dmultisampletype(localParameters.MultiSampleType);
- pPresentationParameters->SwapEffect = localParameters.SwapEffect;
+ pPresentationParameters->SwapEffect = d3swapeffect_from_wined3dswapeffect(localParameters.SwapEffect);
pPresentationParameters->hDeviceWindow = localParameters.hDeviceWindow;
pPresentationParameters->Windowed = localParameters.Windowed;
pPresentationParameters->EnableAutoDepthStencil = localParameters.EnableAutoDepthStencil;
@@ -3035,7 +3035,7 @@ static HRESULT CDECL device_parent_create_swapchain(struct wined3d_device_parent
local_parameters.BackBufferFormat = d3dformat_from_wined3dformat(present_parameters->BackBufferFormat);
local_parameters.BackBufferCount = present_parameters->BackBufferCount;
local_parameters.MultiSampleType = d3dmultisampletype_from_wined3dmultisampletype(present_parameters->MultiSampleType);
- local_parameters.SwapEffect = present_parameters->SwapEffect;
+ local_parameters.SwapEffect = d3swapeffect_from_wined3dswapeffect(present_parameters->SwapEffect);
local_parameters.hDeviceWindow = present_parameters->hDeviceWindow;
local_parameters.Windowed = present_parameters->Windowed;
local_parameters.EnableAutoDepthStencil = present_parameters->EnableAutoDepthStencil;
@@ -3063,7 +3063,7 @@ static HRESULT CDECL device_parent_create_swapchain(struct wined3d_device_parent
present_parameters->BackBufferFormat = wined3dformat_from_d3dformat(local_parameters.BackBufferFormat);
present_parameters->BackBufferCount = local_parameters.BackBufferCount;
present_parameters->MultiSampleType = wined3dmultisampletype_from_d3dmultisampletype(local_parameters.MultiSampleType);
- present_parameters->SwapEffect = local_parameters.SwapEffect;
+ present_parameters->SwapEffect = wined3swapeffect_from_d3dswapeffect(local_parameters.SwapEffect);
present_parameters->hDeviceWindow = local_parameters.hDeviceWindow;
present_parameters->Windowed = local_parameters.Windowed;
present_parameters->EnableAutoDepthStencil = local_parameters.EnableAutoDepthStencil;
@@ -3160,7 +3160,7 @@ HRESULT device_init(IDirect3DDevice8Impl *device, struct wined3d *wined3d, UINT
wined3d_parameters.BackBufferCount = parameters->BackBufferCount;
wined3d_parameters.MultiSampleType = wined3dmultisampletype_from_d3dmultisampletype(parameters->MultiSampleType);
wined3d_parameters.MultiSampleQuality = 0; /* d3d9 only */
- wined3d_parameters.SwapEffect = parameters->SwapEffect;
+ wined3d_parameters.SwapEffect = wined3swapeffect_from_d3dswapeffect(parameters->SwapEffect);
wined3d_parameters.hDeviceWindow = parameters->hDeviceWindow;
wined3d_parameters.Windowed = parameters->Windowed;
wined3d_parameters.EnableAutoDepthStencil = parameters->EnableAutoDepthStencil;
@@ -3194,7 +3194,7 @@ HRESULT device_init(IDirect3DDevice8Impl *device, struct wined3d *wined3d, UINT
parameters->BackBufferFormat = d3dformat_from_wined3dformat(wined3d_parameters.BackBufferFormat);
parameters->BackBufferCount = wined3d_parameters.BackBufferCount;
parameters->MultiSampleType = d3dmultisampletype_from_wined3dmultisampletype(wined3d_parameters.MultiSampleType);
- parameters->SwapEffect = wined3d_parameters.SwapEffect;
+ parameters->SwapEffect = d3swapeffect_from_wined3dswapeffect(wined3d_parameters.SwapEffect);
parameters->hDeviceWindow = wined3d_parameters.hDeviceWindow;
parameters->Windowed = wined3d_parameters.Windowed;
parameters->EnableAutoDepthStencil = wined3d_parameters.EnableAutoDepthStencil;
diff --git a/dlls/d3d8/swapchain.c b/dlls/d3d8/swapchain.c
index fd1d927..6da72a2 100644
--- a/dlls/d3d8/swapchain.c
+++ b/dlls/d3d8/swapchain.c
@@ -163,7 +163,7 @@ HRESULT swapchain_init(IDirect3DSwapChain8Impl *swapchain, IDirect3DDevice8Impl
wined3d_parameters.BackBufferCount = max(1, present_parameters->BackBufferCount);
wined3d_parameters.MultiSampleType = wined3dmultisampletype_from_d3dmultisampletype(present_parameters->MultiSampleType);
wined3d_parameters.MultiSampleQuality = 0; /* d3d9 only */
- wined3d_parameters.SwapEffect = present_parameters->SwapEffect;
+ wined3d_parameters.SwapEffect = wined3swapeffect_from_d3dswapeffect(present_parameters->SwapEffect);
wined3d_parameters.hDeviceWindow = present_parameters->hDeviceWindow;
wined3d_parameters.Windowed = present_parameters->Windowed;
wined3d_parameters.EnableAutoDepthStencil = present_parameters->EnableAutoDepthStencil;
@@ -184,7 +184,7 @@ HRESULT swapchain_init(IDirect3DSwapChain8Impl *swapchain, IDirect3DDevice8Impl
present_parameters->BackBufferFormat = d3dformat_from_wined3dformat(wined3d_parameters.BackBufferFormat);
present_parameters->BackBufferCount = wined3d_parameters.BackBufferCount;
present_parameters->MultiSampleType = d3dmultisampletype_from_wined3dmultisampletype(wined3d_parameters.MultiSampleType);
- present_parameters->SwapEffect = wined3d_parameters.SwapEffect;
+ present_parameters->SwapEffect = d3swapeffect_from_wined3dswapeffect(wined3d_parameters.SwapEffect);
present_parameters->hDeviceWindow = wined3d_parameters.hDeviceWindow;
present_parameters->Windowed = wined3d_parameters.Windowed;
present_parameters->EnableAutoDepthStencil = wined3d_parameters.EnableAutoDepthStencil;
--
1.7.5.3
More information about the wine-patches
mailing list