Stefan Dösinger stefan@codeweavers.com writes:
These patches get ddraw without opengl working again. In the last versions this has failed because wined3d tries to find the gl caps when the first wined3d object is created and refuses to work if this fails. This patchset makes ddraw working again on a VNC X server.
../../../tools/runtest -q -P wine -M d3d8.dll -T ../../.. -p d3d8_test.exe.so device.c && touch device.ok wine: Unhandled page fault on execute access to 0x00000000 at address (nil) (thread 000b), starting debugger... WineDbg starting on pid 000a Unhandled exception: page fault on execute access to 0x00000000 in 32-bit code (0x00000000). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:00000000 ESP:0033fa8c EBP:0033fac8 EFLAGS:00010246( - 00 -RIZP1) EAX:001a1ac0 EBX:61a5c8f8 ECX:00161460 EDX:001cbae8 ESI:00000001 EDI:61a5d398 Stack dump: 0x0033fa8c: 619cf859 001a1ac0 00000000 001df6d8 0x0033fa9c: 616f59a8 00001302 0021d498 00000000 0x0033faac: 602cbc71 001a1998 61a43621 0000002b 0x0033fabc: 61706640 00000000 001611e8 0033faf8 0x0033facc: 616f5a4e 00161460 616f7e30 616f7f80 0x0033fadc: 606164bc 606171ff 0000005c 00000000 Backtrace: =>1 0x00000000 (0x0033fac8) 2 0x616f5a4e IDirect3DDevice8Impl_Release+0xbe(iface=<register EDI not in topmost frame>) [/home/julliard/wine/wine/dlls/d3d8/device.c:111] in d3d8 (0x0033faf8) 3 0x6060b3b1 test_swapchain+0xa31() [/home/julliard/wine/wine/dlls/d3d8/tests/device.c:267] in d3d8_test (0x0033fbc8) 4 0x6060d518 func_device+0x3a8() [/home/julliard/wine/wine/dlls/d3d8/tests/device.c:310] in d3d8_test (0x0033fe58) 5 0x60616238 run_test+0x128(name=0x110395) [/home/julliard/wine/wine/dlls/d3d8/tests/../../../include/wine/test.h:389] in d3d8_test (0x0033fea8) 6 0x606168cd main+0x14d(argc=<register ECX not in topmost frame>, argv=<register ECX not in topmost frame>) [/home/julliard/wine/wine/dlls/d3d8/tests/../../../include/wine/test.h:437] in d3d8_test (0x0033fed8) 7 0x60616fab __wine_spec_exe_entry+0x5b(peb=0x7ffdf000) [/home/julliard/wine/wine/dlls/winecrt0/exe_entry.c:36] in d3d8_test (0x0033ff08) 8 0x604087de start_process+0xee(arg=0x0) [/home/julliard/wine/wine/dlls/kernel32/process.c:820] in kernel32 (0x0033ffe8) 9 0x60027af7 wine_switch_to_stack+0x17() in libwine.so.1 (0x00000000) 0x00000000: addb %al,0x0(%eax)