[dx99] Mafia Demo patch for bug #1670
Jason Edmeades
us at the-edmeades.demon.co.uk
Mon Jan 5 15:26:21 CST 2004
Sorry - been too busy for wine recently, but have just started to get
those urges again... Started with a reported d3d8 bug, #1670 which
occurs when you crash into a lamp post. The application did a draw with
a vertex shader followed by a call to the odd drawprimitiveUP, and I
forgot to check a flag which meant we tried to use multiple streams
which were not set up and hence trapped.
Changelog
Fix the draw*primitiveUP calls so they work directly after a draw which
uses vertex shaders.
Jason
-------------- next part --------------
cvs server: Diffing dlls/d3d8
Index: dlls/d3d8/drawprim.c
===================================================================
RCS file: /home/wine/wine/dlls/d3d8/drawprim.c,v
retrieving revision 1.14
diff -u -r1.14 drawprim.c
--- dlls/d3d8/drawprim.c 17 Nov 2003 20:04:44 -0000 1.14
+++ dlls/d3d8/drawprim.c 5 Jan 2004 21:22:54 -0000
@@ -354,7 +354,7 @@
For the non-created vertex shaders, the VertexShader var holds the real
FVF and only stream 0 matters
For the created vertex shaders, there is an FVF per stream */
- if (This->UpdateStateBlock->VertexShader > VS_HIGHESTFIXEDFXF) {
+ if (!This->StateBlock->streamIsUP && (This->UpdateStateBlock->VertexShader > VS_HIGHESTFIXEDFXF)) {
LoopThroughTo = MAX_STREAMS;
} else {
LoopThroughTo = 1;
More information about the wine-patches
mailing list