2009/1/25 Claudio Ciccani <klan(a)users.sf.net>
>
> The patch implements a software fallback for vertex blending in
> drawStridedSlow, fixing Bug #6955.
> Although vertex blending is an old and outdated extension, there are
> still many applications(games) relying on it nowadays. This because the
> extension is generally supported by Direct3D, either directly in
> hardware (using vertex programs) or in software.
> This patch makes NOLF2 demo crashes.
>
>
> Register
dump:
CS:0073 SS:007b DS:007b ES:007b FS:0033
GS:003b
EIP:7e6095c7 ESP:0033f0b4 EBP:0033f1ec EFLAGS:00010246( - 00
-RIZP1)
EAX:00ec1b28 EBX:7e6bbc54 ECX:0000014c
EDX:00000000
ESI:00000048
EDI:00000000
Stack
dump:
0x0033f0b4: 00000000 00000000 00000000
3f800000
0x0033f0c4: 0033f110 7d05e000 7c03d008
7c7aa346
0x0033f0d4: 00000000 00000003 7e6bc7a0
7e69ee95
0x0033f0e4: 7e69e648 00000001 0000000c
00000010
0x0033f0f4: 795a5f68 7d09c0ac 0002d008
00ebd44c
0x0033f104: 00eba698 00ebd7a8 00000000
00000007
Backtrace:
=>0 0x7e6095c7 drawStridedSlow+0x697(iface=0xeba698, sd=0xebd44c,
NumVertexes=72, glPrimType=4, idxData=0x31dca00, idxSize=2, minIndex=0,
startIdx=0) [/home/david/wine/dlls/wined3d/drawprim.c:307] in wined3d
(0x0033f1ec)
1 0x7e60ea1b drawPrimitive+0x101b(iface=0xeba698, PrimitiveType=4,
NumPrimitives=24, numberOfVertices=24, StartIdx=0, idxSize=<is not
available>, idxData=(nil), minIndex=0)
[/home/david/wine/dlls/wined3d/drawprim.c:1024] in wined3d
(0x0033f55c)
2 0x7e5e41f9 IWineD3DDeviceImpl_DrawIndexedPrimitive+0xe9(iface=0xeba698,
PrimitiveType=WINED3DPT_TRIANGLELIST, minIndex=0, NumVertices=24,
startIndex=0, primCount=24) [/home/david/wine/dlls/wined3d/device.c:5314] in
wined3d (0x0033f5cc)
3 0x7e6d43b6
IDirect3DDevice8Impl_DrawIndexedPrimitive+0x96(iface=<register ESI not in
topmost frame>, PrimitiveType=D3DPT_TRIANGLELIST, MinVertexIndex=0,
NumVertices=24, startIndex=0, primCount=24)
[/home/david/wine/dlls/d3d8/device.c:1419] in d3d8
(0x0033f5fc)
0x7e6095c7 drawStridedSlow+0x697
[/home/david/wine/dlls/wined3d/drawprim.c:307] in wined3d: flds
0x0(%ecx)
307 m = &stateBlock->transforms[WINED3DTS_WORLDMATRIX((indices ?
indices[0] :
0))].u.m[0][0];
Modules: