Module: wine Branch: master Commit: 8eef221d20174bded6c3e5954f64d801ef45cc17 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8eef221d20174bded6c3e5954f...
Author: Stefan Dösinger stefan@codeweavers.com Date: Tue Oct 20 10:26:06 2009 +0200
d3d: Handle the pointsize_min default difference in d3d8.
---
dlls/d3d8/device.c | 3 +++ dlls/d3d8/directx.c | 8 +++++++- dlls/wined3d/stateblock.c | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c index e6c1f5b..50a257d 100644 --- a/dlls/d3d8/device.c +++ b/dlls/d3d8/device.c @@ -587,6 +587,9 @@ static HRESULT WINAPI IDirect3DDevice8Impl_Reset(LPDIRECT3DDEVICE8 iface, D3DPRE
wined3d_mutex_lock(); hr = IWineD3DDevice_Reset(This->WineD3DDevice, &localParameters); + if(SUCCEEDED(hr)) { + hr = IWineD3DDevice_SetRenderState(This->WineD3DDevice, WINED3DRS_POINTSIZE_MIN, 0); + } wined3d_mutex_unlock();
pPresentationParameters->BackBufferWidth = localParameters.BackBufferWidth; diff --git a/dlls/d3d8/directx.c b/dlls/d3d8/directx.c index 57ddf56..efcdbd6 100644 --- a/dlls/d3d8/directx.c +++ b/dlls/d3d8/directx.c @@ -412,11 +412,17 @@ static HRESULT WINAPI IDirect3D8Impl_CreateDevice(LPDIRECT3D8 iface, UINT Adapte }
hr = IWineD3DDevice_Init3D(object->WineD3DDevice, &localParameters); - wined3d_mutex_unlock(); if (hr != D3D_OK) { + wined3d_mutex_unlock(); FIXME("(%p) D3D Initialization failed for WineD3DDevice %p\n", This, object->WineD3DDevice); goto err; } + hr = IWineD3DDevice_SetRenderState(object->WineD3DDevice, WINED3DRS_POINTSIZE_MIN, 0); + wined3d_mutex_unlock(); + if(FAILED(hr)) { + FIXME("(%p) SetRenderState failed\n", This); + goto err; + }
pPresentationParameters->BackBufferWidth = localParameters.BackBufferWidth; pPresentationParameters->BackBufferHeight = localParameters.BackBufferHeight; diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c index 5c33609..9082c3d 100644 --- a/dlls/wined3d/stateblock.c +++ b/dlls/wined3d/stateblock.c @@ -1161,7 +1161,7 @@ static HRESULT WINAPI IWineD3DStateBlockImpl_InitStartupStateBlock(IWineD3DStat IWineD3DDevice_SetRenderState(device, WINED3DRS_SOFTWAREVERTEXPROCESSING, FALSE); tmpfloat.f = 1.0f; IWineD3DDevice_SetRenderState(device, WINED3DRS_POINTSIZE, tmpfloat.d); - tmpfloat.f = ((IWineD3DImpl *)This->wineD3DDevice->wineD3D)->dxVersion < 9 ? 0.0f : 1.0f; + tmpfloat.f = 1.0f; IWineD3DDevice_SetRenderState(device, WINED3DRS_POINTSIZE_MIN, tmpfloat.d); IWineD3DDevice_SetRenderState(device, WINED3DRS_POINTSPRITEENABLE, FALSE); IWineD3DDevice_SetRenderState(device, WINED3DRS_POINTSCALEENABLE, FALSE);