[2/8] d3d8: Use D3DMULTISAMPLE_TYPE <-> WINED3DMULTISAMPLE_TYPE enum conversion functions instead of implicit conversions (clang)
Frédéric Delanoy
frederic.delanoy at gmail.com
Sun May 29 02:46:05 CDT 2011
No default label used in switch statements so the compiler warns about unhandled cases
---
dlls/d3d8/cubetexture.c | 2 +-
dlls/d3d8/d3d8_private.h | 51 ++++++++++++++++++++++++++++++++++++++++++++++
dlls/d3d8/device.c | 18 +++++++++-------
dlls/d3d8/directx.c | 3 +-
dlls/d3d8/surface.c | 4 +-
dlls/d3d8/swapchain.c | 4 +-
dlls/d3d8/texture.c | 2 +-
7 files changed, 69 insertions(+), 15 deletions(-)
diff --git a/dlls/d3d8/cubetexture.c b/dlls/d3d8/cubetexture.c
index 2221c2e..5c28eff 100644
--- a/dlls/d3d8/cubetexture.c
+++ b/dlls/d3d8/cubetexture.c
@@ -272,7 +272,7 @@ static HRESULT WINAPI IDirect3DCubeTexture8Impl_GetLevelDesc(IDirect3DCubeTextur
desc->Usage = wined3d_desc.usage;
desc->Pool = d3dpool_from_wined3dpool(wined3d_desc.pool);
desc->Size = wined3d_desc.size;
- desc->MultiSampleType = wined3d_desc.multisample_type;
+ desc->MultiSampleType = d3dmultisampletype_from_wined3dmultisampletype(wined3d_desc.multisample_type);
desc->Width = wined3d_desc.width;
desc->Height = wined3d_desc.height;
}
diff --git a/dlls/d3d8/d3d8_private.h b/dlls/d3d8/d3d8_private.h
index b52dd78..c9eba13 100644
--- a/dlls/d3d8/d3d8_private.h
+++ b/dlls/d3d8/d3d8_private.h
@@ -508,6 +508,57 @@ static inline WINED3DPOOL wined3dpool_from_d3dpool(D3DPOOL type)
return (WINED3DPOOL) type;
}
+static inline D3DMULTISAMPLE_TYPE d3dmultisampletype_from_wined3dmultisampletype(WINED3DMULTISAMPLE_TYPE type)
+{
+ switch (type)
+ {
+ case WINED3DMULTISAMPLE_NONE: return D3DMULTISAMPLE_NONE;
+ case WINED3DMULTISAMPLE_NONMASKABLE: return (D3DMULTISAMPLE_TYPE) type;
+ case WINED3DMULTISAMPLE_2_SAMPLES: return D3DMULTISAMPLE_2_SAMPLES;
+ case WINED3DMULTISAMPLE_3_SAMPLES: return D3DMULTISAMPLE_3_SAMPLES;
+ case WINED3DMULTISAMPLE_4_SAMPLES: return D3DMULTISAMPLE_4_SAMPLES;
+ case WINED3DMULTISAMPLE_5_SAMPLES: return D3DMULTISAMPLE_5_SAMPLES;
+ case WINED3DMULTISAMPLE_6_SAMPLES: return D3DMULTISAMPLE_6_SAMPLES;
+ case WINED3DMULTISAMPLE_7_SAMPLES: return D3DMULTISAMPLE_7_SAMPLES;
+ case WINED3DMULTISAMPLE_8_SAMPLES: return D3DMULTISAMPLE_8_SAMPLES;
+ case WINED3DMULTISAMPLE_9_SAMPLES: return D3DMULTISAMPLE_9_SAMPLES;
+ case WINED3DMULTISAMPLE_10_SAMPLES: return D3DMULTISAMPLE_10_SAMPLES;
+ case WINED3DMULTISAMPLE_11_SAMPLES: return D3DMULTISAMPLE_11_SAMPLES;
+ case WINED3DMULTISAMPLE_12_SAMPLES: return D3DMULTISAMPLE_12_SAMPLES;
+ case WINED3DMULTISAMPLE_13_SAMPLES: return D3DMULTISAMPLE_13_SAMPLES;
+ case WINED3DMULTISAMPLE_14_SAMPLES: return D3DMULTISAMPLE_14_SAMPLES;
+ case WINED3DMULTISAMPLE_15_SAMPLES: return D3DMULTISAMPLE_15_SAMPLES;
+ case WINED3DMULTISAMPLE_16_SAMPLES: return D3DMULTISAMPLE_16_SAMPLES;
+ case WINED3DMULTISAMPLE_FORCE_DWORD: return D3DMULTISAMPLE_FORCE_DWORD;
+ }
+ return (D3DMULTISAMPLE_TYPE) type;
+}
+
+static inline WINED3DMULTISAMPLE_TYPE wined3dmultisampletype_from_d3dmultisampletype(D3DMULTISAMPLE_TYPE type)
+{
+ switch (type)
+ {
+ case D3DMULTISAMPLE_NONE: return WINED3DMULTISAMPLE_NONE;
+ case D3DMULTISAMPLE_2_SAMPLES: return WINED3DMULTISAMPLE_2_SAMPLES;
+ case D3DMULTISAMPLE_3_SAMPLES: return WINED3DMULTISAMPLE_3_SAMPLES;
+ case D3DMULTISAMPLE_4_SAMPLES: return WINED3DMULTISAMPLE_4_SAMPLES;
+ case D3DMULTISAMPLE_5_SAMPLES: return WINED3DMULTISAMPLE_5_SAMPLES;
+ case D3DMULTISAMPLE_6_SAMPLES: return WINED3DMULTISAMPLE_6_SAMPLES;
+ case D3DMULTISAMPLE_7_SAMPLES: return WINED3DMULTISAMPLE_7_SAMPLES;
+ case D3DMULTISAMPLE_8_SAMPLES: return WINED3DMULTISAMPLE_8_SAMPLES;
+ case D3DMULTISAMPLE_9_SAMPLES: return WINED3DMULTISAMPLE_9_SAMPLES;
+ case D3DMULTISAMPLE_10_SAMPLES: return WINED3DMULTISAMPLE_10_SAMPLES;
+ case D3DMULTISAMPLE_11_SAMPLES: return WINED3DMULTISAMPLE_11_SAMPLES;
+ case D3DMULTISAMPLE_12_SAMPLES: return WINED3DMULTISAMPLE_12_SAMPLES;
+ case D3DMULTISAMPLE_13_SAMPLES: return WINED3DMULTISAMPLE_13_SAMPLES;
+ case D3DMULTISAMPLE_14_SAMPLES: return WINED3DMULTISAMPLE_14_SAMPLES;
+ case D3DMULTISAMPLE_15_SAMPLES: return WINED3DMULTISAMPLE_15_SAMPLES;
+ case D3DMULTISAMPLE_16_SAMPLES: return WINED3DMULTISAMPLE_16_SAMPLES;
+ case D3DMULTISAMPLE_FORCE_DWORD: return WINED3DMULTISAMPLE_FORCE_DWORD;
+ }
+ return (WINED3DMULTISAMPLE_TYPE) 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 5e66ebe..afc6595 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -613,7 +613,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_Reset(IDirect3DDevice8 *iface,
localParameters.BackBufferHeight = pPresentationParameters->BackBufferHeight;
localParameters.BackBufferFormat = wined3dformat_from_d3dformat(pPresentationParameters->BackBufferFormat);
localParameters.BackBufferCount = pPresentationParameters->BackBufferCount;
- localParameters.MultiSampleType = pPresentationParameters->MultiSampleType;
+ localParameters.MultiSampleType = wined3dmultisampletype_from_d3dmultisampletype(pPresentationParameters->MultiSampleType);
localParameters.MultiSampleQuality = 0; /* d3d9 only */
localParameters.SwapEffect = pPresentationParameters->SwapEffect;
localParameters.hDeviceWindow = pPresentationParameters->hDeviceWindow;
@@ -641,7 +641,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_Reset(IDirect3DDevice8 *iface,
pPresentationParameters->BackBufferHeight = localParameters.BackBufferHeight;
pPresentationParameters->BackBufferFormat = d3dformat_from_wined3dformat(localParameters.BackBufferFormat);
pPresentationParameters->BackBufferCount = localParameters.BackBufferCount;
- pPresentationParameters->MultiSampleType = localParameters.MultiSampleType;
+ pPresentationParameters->MultiSampleType = d3dmultisampletype_from_wined3dmultisampletype(localParameters.MultiSampleType);
pPresentationParameters->SwapEffect = localParameters.SwapEffect;
pPresentationParameters->hDeviceWindow = localParameters.hDeviceWindow;
pPresentationParameters->Windowed = localParameters.Windowed;
@@ -2928,7 +2928,8 @@ static HRESULT CDECL device_parent_create_rendertarget(struct wined3d_device_par
multisample_type, multisample_quality, lockable, surface);
hr = IDirect3DDevice8_CreateRenderTarget(&device->IDirect3DDevice8_iface, width, height,
- d3dformat_from_wined3dformat(format), multisample_type, lockable, (IDirect3DSurface8 **)&d3d_surface);
+ d3dformat_from_wined3dformat(format), d3dmultisampletype_from_wined3dmultisampletype(multisample_type),
+ lockable, (IDirect3DSurface8 **)&d3d_surface);
if (FAILED(hr))
{
WARN("Failed to create rendertarget, hr %#x.\n", hr);
@@ -2958,7 +2959,8 @@ static HRESULT CDECL device_parent_create_depth_stencil(struct wined3d_device_pa
device_parent, width, height, format, multisample_type, multisample_quality, discard, surface);
hr = IDirect3DDevice8_CreateDepthStencilSurface(&device->IDirect3DDevice8_iface, width, height,
- d3dformat_from_wined3dformat(format), multisample_type, (IDirect3DSurface8 **)&d3d_surface);
+ d3dformat_from_wined3dformat(format), d3dmultisampletype_from_wined3dmultisampletype(multisample_type),
+ (IDirect3DSurface8 **)&d3d_surface);
if (FAILED(hr))
{
WARN("Failed to create depth/stencil surface, hr %#x.\n", hr);
@@ -3032,7 +3034,7 @@ static HRESULT CDECL device_parent_create_swapchain(struct wined3d_device_parent
local_parameters.BackBufferHeight = present_parameters->BackBufferHeight;
local_parameters.BackBufferFormat = d3dformat_from_wined3dformat(present_parameters->BackBufferFormat);
local_parameters.BackBufferCount = present_parameters->BackBufferCount;
- local_parameters.MultiSampleType = present_parameters->MultiSampleType;
+ local_parameters.MultiSampleType = d3dmultisampletype_from_wined3dmultisampletype(present_parameters->MultiSampleType);
local_parameters.SwapEffect = present_parameters->SwapEffect;
local_parameters.hDeviceWindow = present_parameters->hDeviceWindow;
local_parameters.Windowed = present_parameters->Windowed;
@@ -3060,7 +3062,7 @@ static HRESULT CDECL device_parent_create_swapchain(struct wined3d_device_parent
present_parameters->BackBufferHeight = local_parameters.BackBufferHeight;
present_parameters->BackBufferFormat = wined3dformat_from_d3dformat(local_parameters.BackBufferFormat);
present_parameters->BackBufferCount = local_parameters.BackBufferCount;
- present_parameters->MultiSampleType = local_parameters.MultiSampleType;
+ present_parameters->MultiSampleType = wined3dmultisampletype_from_d3dmultisampletype(local_parameters.MultiSampleType);
present_parameters->SwapEffect = local_parameters.SwapEffect;
present_parameters->hDeviceWindow = local_parameters.hDeviceWindow;
present_parameters->Windowed = local_parameters.Windowed;
@@ -3155,7 +3157,7 @@ HRESULT device_init(IDirect3DDevice8Impl *device, struct wined3d *wined3d, UINT
wined3d_parameters.BackBufferHeight = parameters->BackBufferHeight;
wined3d_parameters.BackBufferFormat = wined3dformat_from_d3dformat(parameters->BackBufferFormat);
wined3d_parameters.BackBufferCount = parameters->BackBufferCount;
- wined3d_parameters.MultiSampleType = parameters->MultiSampleType;
+ wined3d_parameters.MultiSampleType = wined3dmultisampletype_from_d3dmultisampletype(parameters->MultiSampleType);
wined3d_parameters.MultiSampleQuality = 0; /* d3d9 only */
wined3d_parameters.SwapEffect = parameters->SwapEffect;
wined3d_parameters.hDeviceWindow = parameters->hDeviceWindow;
@@ -3190,7 +3192,7 @@ HRESULT device_init(IDirect3DDevice8Impl *device, struct wined3d *wined3d, UINT
parameters->BackBufferHeight = wined3d_parameters.BackBufferHeight;
parameters->BackBufferFormat = d3dformat_from_wined3dformat(wined3d_parameters.BackBufferFormat);
parameters->BackBufferCount = wined3d_parameters.BackBufferCount;
- parameters->MultiSampleType = wined3d_parameters.MultiSampleType;
+ parameters->MultiSampleType = d3dmultisampletype_from_wined3dmultisampletype(wined3d_parameters.MultiSampleType);
parameters->SwapEffect = wined3d_parameters.SwapEffect;
parameters->hDeviceWindow = wined3d_parameters.hDeviceWindow;
parameters->Windowed = wined3d_parameters.Windowed;
diff --git a/dlls/d3d8/directx.c b/dlls/d3d8/directx.c
index 249399e..faa9a70 100644
--- a/dlls/d3d8/directx.c
+++ b/dlls/d3d8/directx.c
@@ -268,7 +268,8 @@ static HRESULT WINAPI IDirect3D8Impl_CheckDeviceMultiSampleType(IDirect3D8 *ifac
wined3d_mutex_lock();
hr = wined3d_check_device_multisample_type(This->WineD3D, Adapter, DeviceType,
- wined3dformat_from_d3dformat(SurfaceFormat), Windowed, (WINED3DMULTISAMPLE_TYPE)MultiSampleType, NULL);
+ wined3dformat_from_d3dformat(SurfaceFormat), Windowed,
+ wined3dmultisampletype_from_d3dmultisampletype(MultiSampleType), NULL);
wined3d_mutex_unlock();
return hr;
diff --git a/dlls/d3d8/surface.c b/dlls/d3d8/surface.c
index 9bad283..5dd0964 100644
--- a/dlls/d3d8/surface.c
+++ b/dlls/d3d8/surface.c
@@ -205,7 +205,7 @@ static HRESULT WINAPI IDirect3DSurface8Impl_GetDesc(IDirect3DSurface8 *iface, D3
desc->Usage = wined3d_desc.usage;
desc->Pool = d3dpool_from_wined3dpool(wined3d_desc.pool);
desc->Size = wined3d_desc.size;
- desc->MultiSampleType = wined3d_desc.multisample_type;
+ desc->MultiSampleType = d3dmultisampletype_from_wined3dmultisampletype(wined3d_desc.multisample_type);
desc->Width = wined3d_desc.width;
desc->Height = wined3d_desc.height;
@@ -306,7 +306,7 @@ HRESULT surface_init(IDirect3DSurface8Impl *surface, IDirect3DDevice8Impl *devic
wined3d_mutex_lock();
hr = wined3d_surface_create(device->wined3d_device, width, height, wined3dformat_from_d3dformat(format),
lockable, discard, level, usage & WINED3DUSAGE_MASK, wined3dpool_from_d3dpool(pool),
- multisample_type, multisample_quality,
+ wined3dmultisampletype_from_d3dmultisampletype(multisample_type), multisample_quality,
SURFACE_OPENGL, surface, &d3d8_surface_wined3d_parent_ops, &surface->wined3d_surface);
wined3d_mutex_unlock();
if (FAILED(hr))
diff --git a/dlls/d3d8/swapchain.c b/dlls/d3d8/swapchain.c
index 866335f..fd1d927 100644
--- a/dlls/d3d8/swapchain.c
+++ b/dlls/d3d8/swapchain.c
@@ -161,7 +161,7 @@ HRESULT swapchain_init(IDirect3DSwapChain8Impl *swapchain, IDirect3DDevice8Impl
wined3d_parameters.BackBufferHeight = present_parameters->BackBufferHeight;
wined3d_parameters.BackBufferFormat = wined3dformat_from_d3dformat(present_parameters->BackBufferFormat);
wined3d_parameters.BackBufferCount = max(1, present_parameters->BackBufferCount);
- wined3d_parameters.MultiSampleType = present_parameters->MultiSampleType;
+ wined3d_parameters.MultiSampleType = wined3dmultisampletype_from_d3dmultisampletype(present_parameters->MultiSampleType);
wined3d_parameters.MultiSampleQuality = 0; /* d3d9 only */
wined3d_parameters.SwapEffect = present_parameters->SwapEffect;
wined3d_parameters.hDeviceWindow = present_parameters->hDeviceWindow;
@@ -183,7 +183,7 @@ HRESULT swapchain_init(IDirect3DSwapChain8Impl *swapchain, IDirect3DDevice8Impl
present_parameters->BackBufferHeight = wined3d_parameters.BackBufferHeight;
present_parameters->BackBufferFormat = d3dformat_from_wined3dformat(wined3d_parameters.BackBufferFormat);
present_parameters->BackBufferCount = wined3d_parameters.BackBufferCount;
- present_parameters->MultiSampleType = wined3d_parameters.MultiSampleType;
+ present_parameters->MultiSampleType = d3dmultisampletype_from_wined3dmultisampletype(wined3d_parameters.MultiSampleType);
present_parameters->SwapEffect = wined3d_parameters.SwapEffect;
present_parameters->hDeviceWindow = wined3d_parameters.hDeviceWindow;
present_parameters->Windowed = wined3d_parameters.Windowed;
diff --git a/dlls/d3d8/texture.c b/dlls/d3d8/texture.c
index 75e62f8..e8dee7e 100644
--- a/dlls/d3d8/texture.c
+++ b/dlls/d3d8/texture.c
@@ -269,7 +269,7 @@ static HRESULT WINAPI IDirect3DTexture8Impl_GetLevelDesc(IDirect3DTexture8 *ifac
desc->Usage = wined3d_desc.usage;
desc->Pool = d3dpool_from_wined3dpool(wined3d_desc.pool);
desc->Size = wined3d_desc.size;
- desc->MultiSampleType = wined3d_desc.multisample_type;
+ desc->MultiSampleType = d3dmultisampletype_from_wined3dmultisampletype(wined3d_desc.multisample_type);
desc->Width = wined3d_desc.width;
desc->Height = wined3d_desc.height;
}
--
1.7.5.3
More information about the wine-patches
mailing list