[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: [PATCH 2/5] ddraw: Get rid of the surface implementation
From:       Alexandre Julliard <julliard () winehq ! org>
Date:       2011-08-31 17:26:12
Message-ID: 8739ghqyq3.fsf () wine ! dyndns ! org
[Download RAW message or body]

Henri Verbeet <hverbeet@codeweavers.com> writes:

> Despite what the comment says, switching the implementation of an already
> created surface isn't so straightforward.
> ---
> dlls/ddraw/ddraw.c       |  179 +--------------------------------------------
> dlls/ddraw/surface.c     |   25 -------
> dlls/wined3d/swapchain.c |    4 +-
> include/wine/wined3d.h   |    1 -
> 4 files changed, 6 insertions(+), 203 deletions(-)

This one is causing crashes on 64-bit:

../../../../wine/tools/runtest -q -P wine -M d3d8.dll -T ../../.. -p d3d8_test.exe.so \
                ../../../../wine/dlls/d3d8/tests/buffer.c && touch buffer.ok
wine: Unhandled page fault on read access to 0x00000000 at address 0x2b631b0deede \
(thread 0021), starting debugger... Unhandled exception: page fault on read access to \
0x00000000 in 64-bit code (0x00002b631b0deede). Register dump:
 rip:00002b631b0deede rsp:000000000023f3a0 rbp:000000000023f45a eflags:00010246 (  R- \
--  I  Z- -P- )  rax:0000000000000001 rbx:0000000000000000 rcx:0000000000000018 \
rdx:000000000023f459  rsi:000000000023f45a rdi:0000000000000000  r8:000000000023f45c  \
r9:000000000023f45b r10:000000000023f45c  r11:000000000023f330 r12:000000000023f459 \
r13:0000000000000000 r14:000000000003b5e0 r15:00002b631b0f00e0 Stack dump:
0x000000000023f3a0:  0000000000000000 0000000000000094
0x000000000023f3b0:  0000000000032ed0 0000000000000094
0x000000000023f3c0:  0000000000032ed0 000000000003e9f0
0x000000000023f3d0:  0000000000000000 00002b631b0307df
0x000000000023f3e0:  ffffffffffffffff ffffff00ffffffff
0x000000000023f3f0:  0000000000202020 0000000020000000
0x000000000023f400:  0000000000000000 00000000ffffff00
0x000000000023f410:  0000000000000254 0000000000000000
0x000000000023f420:  0000000000000000 0000000000000000
0x000000000023f430:  0000000000000000 0000000000000000
0x000000000023f440:  0000000000000000 0000000000000000
0x000000000023f450:  5b5b5b5b5b5b5b5b 0808080018000020
Backtrace:
=>0 0x00002b631b0deede getDepthStencilBits+0x2e(format=(nil), depthSize="", \
stencilSize="") [/home/julliard/wine/build/obj-elf64/dlls/wined3d/../../../wine/dlls/wined3d/utils.c:2598] \
in wined3d (0x000000000023f45a)  1 0x00002b631b0307df \
context_choose_pixel_format+0xfe(device=0x3e9f0, hdc=0x254, color_format=0x3b5e0, \
ds_format=(nil), auxBuffers=0, findCompatible=0) \
[/home/julliard/wine/build/obj-elf64/dlls/wined3d/../../../wine/dlls/wined3d/context.c:1139] \
in wined3d (0x0000000000032ed0)  2 0x00002b631b034b79 \
context_create+0xc8(swapchain=0x58b80, target=0x358f0, ds_format=(nil)) \
[/home/julliard/wine/build/obj-elf64/dlls/wined3d/../../../wine/dlls/wined3d/context.c:1350] \
in wined3d (0x0000000000032ed0)  3 0x00002b631b0d297b \
swapchain_get_context+0x7a(swapchain=0x58b80) \
[/home/julliard/wine/build/obj-elf64/dlls/wined3d/../../../wine/dlls/wined3d/swapchain.c:1179] \
in wined3d (0x00000000000358f0)  4 0x00002b631b03a155 \
context_acquire+0x314(device=0x3e9f0, target=0x358f0) \
[/home/julliard/wine/build/obj-elf64/dlls/wined3d/../../../wine/dlls/wined3d/context.c:2455] \
in wined3d (0x00000000000358f0)  5 0x00002b631b047858 \
wined3d_device_init_3d+0x497(device=0x3e9f0, present_parameters=0x23f810) \
[/home/julliard/wine/build/obj-elf64/dlls/wined3d/../../../wine/dlls/wined3d/device.c:1335] \
in wined3d (0x0000000000032ed0)  6 0x00002b631add142a \
device_init+0x1b9(device=0x36710, parent=0x2f380, wined3d=0x32eb0, adapter=<is not \
available>, device_type=<is not available>, focus_window=(nil), flags=0x40, \
parameters=0x23fae0) \
[/home/julliard/wine/build/obj-elf64/dlls/d3d8/../../../wine/dlls/d3d8/device.c:3112] \
in d3d8 (0x000000000023fae0)  7 0x00002b631add194b \
IDirect3D8Impl_CreateDevice+0x10a(iface=0x2f380, adapter=0, \
device_type=D3DDEVTYPE_HAL, focus_window=(nil), flags=0x40, parameters=0x23fae0, \
device=0x23fb38) [/home/julliard/wine/build/obj-elf64/dlls/d3d8/../../../wine/dlls/d3d8/directx.c:371] \
in d3d8 (0x0000000000036710)  8 0x00002b6316db08d7 func_buffer+0x196() \
[/home/julliard/wine/build/obj-elf64/dlls/d3d8/tests/../../../../wine/dlls/d3d8/tests/buffer.c:61] \
in d3d8_test (0x000000000023fb38)  9 0x00002b6316dd06c7 \
run_test+0x126(name="../../../../wine/dlls/d3d8/tests/buffer.c") \
[/home/julliard/wine/build/obj-elf64/dlls/d3d8/tests/../../../../wine/include/wine/test.h:556] \
in d3d8_test (0x00002b6316dd95d7)  10 0x00002b6316dd11f6 main+0x115(argc=<is not \
available>, argv=0x106f0) \
[/home/julliard/wine/build/obj-elf64/dlls/d3d8/tests/../../../../wine/include/wine/test.h:624] \
in d3d8_test (0x00000000000106f0)  11 0x00002b6316dd13fe \
__wine_spec_exe_entry+0xcd(peb=<is not available>) \
[/home/julliard/wine/build/obj-elf64/dlls/winecrt0/../../../wine/dlls/winecrt0/exe_entry.c:36] \
in d3d8_test (0x00002b630ed8a908)  12 0x000000007b87217f \
start_process+0xbe(peb=0x7fffffbef000) \
[/home/julliard/wine/build/obj-elf64/dlls/kernel32/../../../wine/dlls/kernel32/process.c:1056] \
in kernel32 (0x00002b6316dd1330)  13 0x00002b630f5e5f7b \
call_thread_func+0x6a(entry=0x7b8720c0, arg=0x7fffffbef000, frame=0x23f459) \
[/home/julliard/wine/build/obj-elf64/dlls/ntdll/../../../wine/dlls/ntdll/signal_x86_64.c:3189] \
in ntdll (0x00007fffafa61d40)  14 0x00002b630f5df856 call_thread_entry_point+0x29() \
in ntdll (0x00007fffafa61d40)  15 0x00002b630f5b0b66 \
start_process+0x15(kernel_start=0x23fec8) \
[/home/julliard/wine/build/obj-elf64/dlls/ntdll/../../../wine/dlls/ntdll/loader.c:2612] \
in ntdll (0x00007fffafa61d40)  16 0x00002b630ea64213 wine_call_on_stack+0x12() in \
libwine.so.1 (0x00007fffafa61d40)  17 0x00002b630ea64269 \
wine_switch_to_stack+0x8(func=<is not available>, arg=<is not available>, stack=<is \
not available>) [/home/julliard/wine/build/obj-elf64/libs/wine/../../../wine/libs/wine/port.c:59] \
in libwine.so.1 (0x00007fffffbef000)  18 0x00002b630f5b673e \
LdrInitializeThunk+0x3dd(kernel_start=0x7b8720c0, unknown2=<is not available>, \
unknown3=<is not available>, unknown4=<is not available>) \
[/home/julliard/wine/build/obj-elf64/dlls/ntdll/../../../wine/dlls/ntdll/loader.c:2668] \
in ntdll (0x00007fffffbef000)  19 0x000000007b8788d2 __wine_kernel_init+0x921() \
[/home/julliard/wine/build/obj-elf64/dlls/kernel32/../../../wine/dlls/kernel32/process.c:1257] \
in kernel32 (0x00007fffafa62fd0)  20 0x00002b630f5b7174 __wine_process_init+0x253() \
[/home/julliard/wine/build/obj-elf64/dlls/ntdll/../../../wine/dlls/ntdll/loader.c:2877] \
in ntdll (0x00007fffafa6321c)  21 0x00002b630ea621ef wine_init+0x29e(argc=<is not \
available>, argv=0x7fffafa637a8, error="", error_size=0x400) \
[/home/julliard/wine/build/obj-elf64/libs/wine/../../../wine/libs/wine/loader.c:831] \
in libwine.so.1 (0x00007fffafa632b0)  22 0x000000007bf00de1 main+0x70(argc=0x3, \
argv=0x7fffafa637a8) \
[/home/julliard/wine/build/obj-elf64/loader/../../wine/loader/main.c:228] in \
<wine-loader> (0x0000000000000003)  23 0x00002b630efedead \
__libc_start_main+0xfc(main=<is not available>, argc=<is not available>, ubp_av=<is \
not available>, init=<is not available>, fini=<is not available>, rtld_fini=<is not \
available>, stack_end=0x7fffafa63798) \
[/home/aurel32/eglibc/eglibc-2.13/csu/libc-start.c:228] in libc.so.6 \
(0x0000000000000000)  24 0x000000007bf00ca9 _start+0x28() in <wine-loader> \
(0x0000000000000000) 0x00002b631b0deede getDepthStencilBits+0x2e \
[/home/julliard/wine/build/obj-elf64/dlls/wined3d/../../../wine/dlls/wined3d/utils.c:2598] \
in wined3d: movl	(%rbx),%edi 2598	    switch (format->id)

-- 
Alexandre Julliard
julliard@winehq.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic