10/10 wined3d: use RECT instead of WINED3DRECT in stretch_rect_fbo [try2]

Alexandre Julliard julliard at winehq.org
Tue Mar 30 10:35:12 CDT 2010


Roderick Colenbrander <thunderbird2k at gmail.com> writes:

> Hi,
>
> While working on some other patches, I spotted a small error in the
> call to surface_get_rect for the source rectangle. I was passing
> 'This' (destination) instead of Src.

It doesn't work:

../../../tools/runtest -q -P wine -M ddraw.dll -T ../../.. -p ddraw_test.exe.so visual.c && touch visual.ok
wine: Unhandled page fault on read access to 0x00000050 at address 0x68e87fc9 (thread 0024), starting debugger...
Unhandled exception: page fault on read access to 0x00000050 in 32-bit code (0x68e87fc9).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:68e87fc9 ESP:0032f110 EBP:0032f248 EFLAGS:00010246(  R- --  I  Z- -P- )
 EAX:00000001 EBX:68ed8d20 ECX:00000280 EDX:00000000
 ESI:00000000 EDI:000001e0
Stack dump:
0x0032f110:  00146350 68ed2dbc 0032f228 00110014
0x0032f120:  beef0202 7d7fb5c0 7bc4907b 68ed8d20
0x0032f130:  00147240 00000072 0032f198 68df9e66
0x0032f140:  00147240 00000080 00000080 00000001
0x0032f150:  0012fc70 00000000 00000072 00000000
0x0032f160:  00147000 686cb060 00000000 00010000
Backtrace:
=>0 0x68e87fc9 IWineD3DSurfaceImpl_BltOverride+0x1529(This=<is not available>, DestRect=<is not available>, SrcSurface=(nil), SrcRect=(nil), Flags=0x1000400, DDBltFx=0x32fa9c, Filter=WINED3DTEXF_POINT) [/home/julliard/wine/wine/dlls/wined3d/surface.c:284] in wined3d (0x0032f248)
  1 0x68e8b1e7 IWineD3DSurfaceImpl_Blt+0xb7(iface=<register ESI not in topmost frame>, DestRect=(nil), SrcSurface=<register EDI not in topmost frame>, SrcRect=(nil), Flags=0x1000400, DDBltFx=0x32fa9c, Filter=WINED3DTEXF_POINT) [/home/julliard/wine/wine/dlls/wined3d/surface.c:4271] in wined3d (0x0032f2d8)
  2 0x686ae1bb IDirectDrawSurfaceImpl_Blt+0x1ab(iface=0x12b888, DestRect=<register ESI not in topmost frame>, SrcSurface=(nil), SrcRect=(nil), Flags=<register EDI not in topmost frame>, DDBltFx=0x32fa9c) [/home/julliard/wine/wine/dlls/ddraw/surface.c:806] in ddraw (0x0032f348)
  3 0x686b0717 IDirectDrawSurface3Impl_Blt+0x47(This=0x12b88c, prcDst=(nil), pSrcSurf=(nil), prcSrc=(nil), dwFlags=0x1000400, pFX=0x32fa9c) [/home/julliard/wine/wine/dlls/ddraw/surface_thunks.c:113] in ddraw (0x0032f378)
  4 0x68663213 D3D1_TextureMapBlendTest+0x263() [/home/julliard/wine/wine/dlls/ddraw/tests/visual.c:1302] in ddraw_test (0x0032fb88)
  5 0x68669bb5 func_visual+0x1375() [/home/julliard/wine/wine/dlls/ddraw/tests/visual.c:2979] in ddraw_test (0x0032fd48)
  6 0x6866a82e run_test+0x14e(name=<is not available>) [/home/julliard/wine/wine/dlls/ddraw/tests/../../../include/wine/test.h:543] in ddraw_test (0x0032fd98)
  7 0x6866aa02 main+0x132(argc=<couldn't compute location>, argv=<couldn't compute location>) [/home/julliard/wine/wine/dlls/ddraw/tests/../../../include/wine/test.h:592] in ddraw_test (0x0032fe58)
  8 0x6866ab9c __wine_spec_exe_entry+0x7c(peb=0x7ffdf000) [/home/julliard/wine/wine/dlls/winecrt0/exe_entry.c:37] in ddraw_test (0x0032fea8)
  9 0x7b8584c4 start_process+0x54(peb=<register ESI not in topmost frame>) [/home/julliard/wine/wine/dlls/kernel32/process.c:989] in kernel32 (0x0032fee8)
  10 0x7bc71344 call_thread_func+0xc() in ntdll (0x0032fef8)
  11 0x7bc71510 call_thread_entry_point+0x70(entry=0x7b858470, arg=0x7ffdf000) [/home/julliard/wine/wine/dlls/ntdll/signal_i386.c:2459] in ntdll (0x0032ffc8)
  12 0x7bc4cfca in ntdll (+0x3cfca) (0x0032ffe8)
0x68e87fc9 IWineD3DSurfaceImpl_BltOverride+0x1529 [/home/julliard/wine/wine/dlls/wined3d/surface.c:284] in wined3d: movl	0x50(%edx),%eax
284	        rect_out->right = This->currentDesc.Width;

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list