[PATCH 3/5] wined3d: Introduce a function to initialize swapchain specific device state.

Alexandre Julliard julliard at winehq.org
Mon Sep 23 14:05:14 CDT 2013


Henri Verbeet <hverbeet at codeweavers.com> writes:

> ---
>  dlls/wined3d/device.c     |   51 +++++++++++++++++----------------------------
>  dlls/wined3d/stateblock.c |    5 +----
>  2 files changed, 20 insertions(+), 36 deletions(-)

It doesn't work here:

../../../tools/runtest -q -P wine -M dxgi.dll -T ../../.. -p dxgi_test.exe.so device.c && touch device.ok
wine: Unhandled page fault on read access to 0x0000002c at address 0x686aa077 (thread 004f), starting debugger...
Unhandled exception: page fault on read access to 0x0000002c in 32-bit code (0x686aa077).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:686aa077 ESP:0032f890 EBP:0032f978 EFLAGS:00010246(  R- --  I  Z- -P- )
 EAX:00000000 EBX:6879e6d0 ECX:0032f9e0 EDX:00000000
 ESI:0014e23c EDI:00000000
Stack dump:
0x0032f890:  00000001 00000001 00000000 567a5784
0x0032f8a0:  0000851a 00000000 00008058 00000001
0x0032f8b0:  00000001 00000001 00000000 00000000
0x0032f8c0:  0000001e 00000012 0032f9ec 00000000
0x0032f8d0:  00000001 00000000 00000000 00000000
0x0032f8e0:  00000000 7e0bd298 0032f9ec 00008035
Backtrace:
=>0 0x686aa077 device_clear_render_targets+0x77(device=0x142208, rt_count=0x8, fb=0x14e23c, rect_count=0, rects=(nil), draw_rect=0x32f9e0, flags=0x1, color=0x6875e2bc, depth=1.000000, stencil=0) [/home/julliard/wine/wine/dlls/wined3d/device.c:219] in wined3d (0x0032f978)
  1 0x686b0b67 wined3d_device_clear+0x136(device=0x142208, rect_count=0, rects=(nil), flags=0x1, color=0x6875e2bc, depth=1.000000, stencil=0) [/home/julliard/wine/wine/dlls/wined3d/device.c:3501] in wined3d (0x0032fa08)
  2 0x686b613c wined3d_device_init_3d+0x3fb(device=<couldn't compute location>, swapchain_desc=<couldn't compute location>) [/home/julliard/wine/wine/dlls/wined3d/device.c:940] in wined3d (0x0032fa98)
  3 0x6864d008 dxgi_factory_CreateSwapChain+0x127(iface=<couldn't compute location>, device=<couldn't compute location>, desc=<couldn't compute location>, swapchain=<couldn't compute location>) [/home/julliard/wine/wine/dlls/dxgi/factory.c:232] in dxgi (0x0032fb38)
  4 0x6862b5aa func_device+0x13f9() [/home/julliard/wine/wine/dlls/dxgi/tests/../../../include/dxgi.h:2037] in dxgi_test (0x0032fcf8)
  5 0x6862c165 run_test+0x144(name=<is not available>) [/home/julliard/wine/wine/dlls/d3d10core/tests/../../../include/wine/test.h:570] in dxgi_test (0x0032fd48)
  6 0x68629c23 main+0x152(argc=<is not available>, argv=<is not available>) [/home/julliard/wine/wine/dlls/d3d10core/tests/../../../include/wine/test.h:640] in dxgi_test (0x0032fe08)
  7 0x6862cbb0 __wine_spec_exe_entry+0x7f(peb=<couldn't compute location>) [/home/julliard/wine/wine/dlls/winecrt0/exe_entry.c:36] in dxgi_test (0x0032fe58)
  8 0x7b85f36c call_process_entry+0xb() in kernel32 (0x0032fe78)
  9 0x7b86054b start_process+0x6a(peb=<couldn't compute location>) [/home/julliard/wine/wine/dlls/kernel32/process.c:1084] in kernel32 (0x0032feb8)
  10 0x7bc7fd50 call_thread_func_wrapper+0xb() in ntdll (0x0032fed8)
  11 0x7bc82c5d call_thread_func+0x7c(entry=0x7b8604e0, arg=0x7ffdf000, frame=0x32ffc8) [/home/julliard/wine/wine/dlls/ntdll/signal_i386.c:2602] in ntdll (0x0032ffa8)
  12 0x7bc7fd2e call_thread_entry_point+0x11() in ntdll (0x0032ffc8)
  13 0x7bc5492e start_process+0x1d(kernel_start=0x7b8604e0) [/home/julliard/wine/wine/dlls/ntdll/loader.c:2694] in ntdll (0x0032ffe8)
  14 0x6803125d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
  15 0x6803131b wine_switch_to_stack+0x2a(func=0x7bc54910, arg=0x7b8604e0, stack=0x330000) [/home/julliard/wine/wine/libs/wine/port.c:59] in libwine.so.1 (0xff8613b8)
  16 0x7bc5a467 LdrInitializeThunk+0x3a6(kernel_start=<couldn't compute location>, unknown2=<couldn't compute location>, unknown3=<couldn't compute location>, unknown4=<couldn't compute location>) [/home/julliard/wine/wine/dlls/ntdll/loader.c:2750] in ntdll (0xff861428)
  17 0x7b866ac0 __wine_kernel_init+0xbbf() [/home/julliard/wine/wine/dlls/kernel32/process.c:1256] in kernel32 (0xff862338)
  18 0x7bc5ab33 __wine_process_init+0x182() [/home/julliard/wine/wine/dlls/ntdll/loader.c:2959] in ntdll (0xff8623c8)
  19 0x6802eea2 wine_init+0x2a1(argc=0x3, argv=0xff862904, error="", error_size=0x400) [/home/julliard/wine/wine/libs/wine/loader.c:847] in libwine.so.1 (0xff862428)
  20 0x7bf00d3b main+0x7a(argc=<is not available>, argv=<is not available>) [/home/julliard/wine/wine/loader/main.c:237] in <wine-loader> (0xff862868)
  21 0x682518c5 __libc_start_main+0xf4() in libc.so.6 (0x00000000)
0x686aa077 device_clear_render_targets+0x77 [/home/julliard/wine/wine/dlls/wined3d/device.c:219] in wined3d: movl	0x2c(%edx),%eax
219	            || draw_rect->right < target->resource.width

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list