Stefan Dösinger : wined3d: Catch NOP SetStreamSource changes.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jan 4 04:45:09 CST 2007


Module: wine
Branch: master
Commit: 5d2ce97136c2b7227f7afe581b44605cccbf3c37
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5d2ce97136c2b7227f7afe581b44605cccbf3c37

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Thu Jan  4 00:08:20 2007 +0100

wined3d: Catch NOP SetStreamSource changes.

---

 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 f53f339..e8397e3 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;




More information about the wine-cvs mailing list