[PATCH 05/10] d3d8: Merge fixup_caps() into d3dcaps_from_wined3dcaps().
Józef Kucia
jkucia at codeweavers.com
Tue Feb 21 06:24:42 CST 2017
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
dlls/d3d8/d3d8_private.h | 1 -
dlls/d3d8/device.c | 14 +++++++++++++-
dlls/d3d8/directx.c | 17 -----------------
3 files changed, 13 insertions(+), 19 deletions(-)
diff --git a/dlls/d3d8/d3d8_private.h b/dlls/d3d8/d3d8_private.h
index 1a7d7fd..e7dea35 100644
--- a/dlls/d3d8/d3d8_private.h
+++ b/dlls/d3d8/d3d8_private.h
@@ -42,7 +42,6 @@
#define VS_HIGHESTFIXEDFXF 0xF0000000
void d3dcaps_from_wined3dcaps(D3DCAPS8 *caps, const WINED3DCAPS *wined3d_caps) DECLSPEC_HIDDEN;
-void fixup_caps(WINED3DCAPS *pWineCaps) DECLSPEC_HIDDEN;
struct d3d8
{
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index 1ef7420..d7a933b 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -282,6 +282,19 @@ void d3dcaps_from_wined3dcaps(D3DCAPS8 *caps, const WINED3DCAPS *wined3d_caps)
caps->MaxVertexShaderConst = wined3d_caps->MaxVertexShaderConst;
caps->PixelShaderVersion = wined3d_caps->PixelShaderVersion;
caps->MaxPixelShaderValue = wined3d_caps->PixelShader1xMaxValue;
+
+ /* D3D8 doesn't support SM 2.0 or higher, so clamp to 1.x */
+ if (caps->PixelShaderVersion)
+ caps->PixelShaderVersion = D3DPS_VERSION(1, 4);
+ else
+ caps->PixelShaderVersion = D3DPS_VERSION(0, 0);
+ if (caps->VertexShaderVersion)
+ caps->VertexShaderVersion = D3DVS_VERSION(1, 1);
+ else
+ caps->VertexShaderVersion = D3DVS_VERSION(0, 0);
+ caps->MaxVertexShaderConst = min(D3D8_MAX_VERTEX_SHADER_CONSTANTF, caps->MaxVertexShaderConst);
+
+ caps->StencilCaps &= ~WINED3DSTENCILCAPS_TWOSIDED;
}
/* Handle table functions */
@@ -527,7 +540,6 @@ static HRESULT WINAPI d3d8_device_GetDeviceCaps(IDirect3DDevice8 *iface, D3DCAPS
hr = wined3d_device_get_device_caps(device->wined3d_device, &wined3d_caps);
wined3d_mutex_unlock();
- fixup_caps(&wined3d_caps);
d3dcaps_from_wined3dcaps(caps, &wined3d_caps);
return hr;
diff --git a/dlls/d3d8/directx.c b/dlls/d3d8/directx.c
index 560e107..f91e4af 100644
--- a/dlls/d3d8/directx.c
+++ b/dlls/d3d8/directx.c
@@ -315,22 +315,6 @@ static HRESULT WINAPI d3d8_CheckDepthStencilMatch(IDirect3D8 *iface, UINT adapte
return hr;
}
-void fixup_caps(WINED3DCAPS *caps)
-{
- /* D3D8 doesn't support SM 2.0 or higher, so clamp to 1.x */
- if (caps->PixelShaderVersion)
- caps->PixelShaderVersion = D3DPS_VERSION(1,4);
- else
- caps->PixelShaderVersion = D3DPS_VERSION(0,0);
- if (caps->VertexShaderVersion)
- caps->VertexShaderVersion = D3DVS_VERSION(1,1);
- else
- caps->VertexShaderVersion = D3DVS_VERSION(0,0);
- caps->MaxVertexShaderConst = min(D3D8_MAX_VERTEX_SHADER_CONSTANTF, caps->MaxVertexShaderConst);
-
- caps->StencilCaps &= ~WINED3DSTENCILCAPS_TWOSIDED;
-}
-
static HRESULT WINAPI d3d8_GetDeviceCaps(IDirect3D8 *iface, UINT adapter, D3DDEVTYPE device_type, D3DCAPS8 *caps)
{
struct d3d8 *d3d8 = impl_from_IDirect3D8(iface);
@@ -346,7 +330,6 @@ static HRESULT WINAPI d3d8_GetDeviceCaps(IDirect3D8 *iface, UINT adapter, D3DDEV
hr = wined3d_get_device_caps(d3d8->wined3d, adapter, device_type, &wined3d_caps);
wined3d_mutex_unlock();
- fixup_caps(&wined3d_caps);
d3dcaps_from_wined3dcaps(caps, &wined3d_caps);
return hr;
--
2.10.2
More information about the wine-patches
mailing list