Florian Köberle : wined3d: Let GetRasterStatus return D3DERR_INVALIDCALL.
Alexandre Julliard
julliard at winehq.org
Mon Jul 19 11:05:40 CDT 2010
Module: wine
Branch: master
Commit: 2c1e8decfca4845569f871c29bc7d2adba285fd2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2c1e8decfca4845569f871c29bc7d2adba285fd2
Author: Florian Köberle <florian at fkoeberle.de>
Date: Sun Jul 18 09:26:51 2010 +0200
wined3d: Let GetRasterStatus return D3DERR_INVALIDCALL.
---
dlls/wined3d/swapchain_base.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/dlls/wined3d/swapchain_base.c b/dlls/wined3d/swapchain_base.c
index 1817de2..3520a41 100644
--- a/dlls/wined3d/swapchain_base.c
+++ b/dlls/wined3d/swapchain_base.c
@@ -123,15 +123,18 @@ HRESULT WINAPI IWineD3DBaseSwapChainImpl_GetBackBuffer(IWineD3DSwapChain *iface,
HRESULT WINAPI IWineD3DBaseSwapChainImpl_GetRasterStatus(IWineD3DSwapChain *iface, WINED3DRASTER_STATUS *pRasterStatus) {
static BOOL warned;
- pRasterStatus->InVBlank = TRUE;
- pRasterStatus->ScanLine = 0;
- /* No openGL equivalent */
+ /* No OpenGL equivalent */
if (!warned)
{
FIXME("iface %p, raster_status %p stub!\n", iface, pRasterStatus);
warned = TRUE;
}
- return WINED3D_OK;
+ /* Obtaining the raster status is a widely implemented but optional feature.
+ * When this method returns OK then the application Starcraft 2 expects that
+ * the pRasterStatus->InVBlank value differs over time. To prevent Starcraft 2
+ * from running in an infinite loop at startup this method returns INVALIDCALL.
+ */
+ return WINED3DERR_INVALIDCALL;
}
HRESULT WINAPI IWineD3DBaseSwapChainImpl_GetDisplayMode(IWineD3DSwapChain *iface, WINED3DDISPLAYMODE*pMode) {
More information about the wine-cvs
mailing list