[4/8] WineD3D: Catch NOP SetStreamSource changes
Stefan Dösinger
stefan at codeweavers.com
Wed Jan 3 17:08:20 CST 2007
From 3583b152c9d30199564429f2f6b0646836b8062b Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Stefan_D=C3=B6singer?= <stefan at imac.local>
Date: Wed, 3 Jan 2007 17:57:53 +0100
Subject: [PATCH] WineD3D: Catch nop SetStreamSource calls
---
dlls/wined3d/device.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index a98ddb4..a0c79c4 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -2211,6 +2211,15 @@ static HRESULT WINAPI IWineD3DDeviceImpl
This->updateStateBlock->changed.streamSource[StreamNumber] = TRUE;
This->updateStateBlock->set.streamSource[StreamNumber] = TRUE;
+
+ if(oldSrc == pStreamData &&
+ This->updateStateBlock->streamStride[StreamNumber] == Stride &&
+ This->updateStateBlock->streamOffset[StreamNumber] == OffsetInBytes &&
+ This->updateStateBlock->streamFlags[StreamNumber] == streamFlags) {
+ TRACE("Application is setting the old values over, nothing to do\n");
+ return WINED3D_OK;
+ }
+
This->updateStateBlock->streamSource[StreamNumber] = pStreamData;
if (pStreamData) {
This->updateStateBlock->streamStride[StreamNumber] = Stride;
--
1.4.2.4
More information about the wine-patches
mailing list