Zebediah Figura zfigura@codeweavers.com writes:
From: Henri Verbeet hverbeet@codeweavers.com
Signed-off-by: Zebediah Figura zfigura@codeweavers.com
dlls/wined3d/adapter_gl.c | 1 + dlls/wined3d/context_gl.c | 258 +++++++++++++++++++++++++++++---- dlls/wined3d/device.c | 110 ++++++++++++++ dlls/wined3d/wined3d_private.h | 66 ++++++--- 4 files changed, 390 insertions(+), 45 deletions(-)
That series is causing crashes here:
tools/runtest -q -P wine -T . -M d2d1.dll -p dlls/d2d1/tests/d2d1_test.exe d2d1 && touch dlls/d2d1/tests/d2d1.ok Unhandled exception: page fault on write access to 0x00000028 in 32-bit code (0x794103bc). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:794103bc ESP:0403f870 EBP:55c79d10 EFLAGS:00010202( R- -- I - - - ) EAX:00000000 EBX:5fcc0db0 ECX:55c79d3c EDX:00000000 ESI:60000343 EDI:55c84724 Stack dump: 0x0403f870: 005a0094 00000000 00000004 5d400020 0x0403f880: 55c84724 7a4b4000 55c050b0 78f17b96 0x0403f890: 005a0094 00000002 005a0000 68f76b00 0x0403f8a0: 00000000 04cf0000 79067b00 55c846a0 0x0403f8b0: 5d473010 00000000 5d400020 78ef097f 0x0403f8c0: 5d400020 55c79d10 00000000 00000343 Backtrace: =>0 0x794103bc __driDriverGetExtensions_virtio_gpu+0x591abc() in radeonsi_dri.so (0x55c79d10) 1 0x78ef097f __driDriverGetExtensions_virtio_gpu+0x7207f() in radeonsi_dri.so (0x5d400020) 2 0x78f56944 __driDriverGetExtensions_virtio_gpu+0xd8044() in radeonsi_dri.so (0x7a4b4000) 3 0x7e7e7918 wined3d_allocator_chunk_gl_map+0x388(context_gl=<internal error>, chunk_gl=<internal error>) [Z:\home\julliard\wine\wine\dlls\wined3d\context_gl.c:2799] in wined3d (0x0403f9f8) 4 0x7e7e7918 wined3d_bo_gl_map+0x402(flags=<internal error>, context_gl=<internal error>, bo=<internal error>) [Z:\home\julliard\wine\wine\dlls\wined3d\context_gl.c:2922] in wined3d (0x0403f9f8) 5 0x7e7e7918 wined3d_context_gl_map_bo_address+0x418(context_gl=03764B10, data=0403FABC, size=0x12c000, flags=0x40000000) [Z:\home\julliard\wine\wine\dlls\wined3d\context_gl.c:2922] in wined3d (0x0403f9f8) 6 0x7e869ef3 surface_cpu_blt+0xcd3(dst_texture=0838B898, dst_sub_resource_idx=0, dst_box=0403FB68, src_texture=<register ESI not accessible in this frame>, src_sub_resource_idx=0, src_box=0403FB80, flags=0x20000000, fx=0403FB98, filter=WINED3D_TEXF_POINT) [Z:\home\julliard\wine\wine\dlls\wined3d\surface.c:774] in wined3d (0x0403fb28) 7 0x7e86b321 cpu_blitter_blit+0xb1(blitter=03767240, op=WINED3D_BLIT_OP_RAW_BLIT, context=03764B10, src_texture=04D1F1D8, src_sub_resource_idx=0, src_location=0x10, src_rect=0403FE20, dst_texture=0838B898, dst_sub_resource_idx=<is not available>, dst_location=0x8, dst_rect=0403FE30, color_key=00000000, filter=WINED3D_TEXF_POINT, resolve_format=00000000) [Z:\home\julliard\wine\wine\dlls\wined3d\surface.c:1438] in wined3d (0x0403fbc8) 8 0x7e8837d3 ffp_blitter_blit+0x73(blitter=<is not available>, op=<is not available>, context=<is not available>, src_texture=<is not available>, src_sub_resource_idx=<is not available>, src_location=<is not available>, src_rect=<is not available>, dst_texture=<is not available>, dst_sub_resource_idx=<is not available>, dst_location=<is not available>, dst_rect=<is not available>, colour_key=<is not available>, filter=<is not available>, resolve_format=<is not available>) [Z:\home\julliard\wine\wine\dlls\wined3d\texture.c:5871] in wined3d (0x0403fc88) 9 0x7e8345f3 glsl_blitter_blit+0x163(blitter=<is not available>, op=<is not available>, context=<is not available>, src_texture=<is not available>, src_sub_resource_idx=<is not available>, src_location=<is not available>, src_rect=<is not available>, dst_texture=<is not available>, dst_sub_resource_idx=<is not available>, dst_location=<is not available>, dst_rect=<is not available>, colour_key=<is not available>, filter=<is not available>, resolve_format=<is not available>) [Z:\home\julliard\wine\wine\dlls\wined3d\glsl_shader.c:13129] in wined3d (0x0403fd98) 10 0x7e86c0fc texture2d_blt+0x33c(dst_texture=<is not available>, dst_sub_resource_idx=<is not available>, dst_box=<is not available>, src_texture=<is not available>, src_sub_resource_idx=<is not available>, src_box=<is not available>, flags=<is not available>, fx=<is not available>, filter=<is not available>) [Z:\home\julliard\wine\wine\dlls\wined3d\surface.c:1736] in wined3d (0x0403fe58) 11 0x7e7fbb72 wined3d_cs_exec_blt_sub_resource+0x92(cs=03C30020, data=03C6EED4) [Z:\home\julliard\wine\wine\dlls\wined3d\cs.c:2644] in wined3d (0x0403fed8) 12 0x7e7fa514 wined3d_cs_command_unlock(cs=00000000, data=7B62DEF0) [Z:\home\julliard\wine\wine\dlls\wined3d\cs.c:3399] in wined3d (0x0403ff28) 13 0x7e7fa514 wined3d_cs_run+0xf4(ctx=<internal error>) [Z:\home\julliard\wine\wine\dlls\wined3d\cs.c:3398] in wined3d (0x0403ff28) 14 0x7b62def0 WriteTapemark+0x100(device=03C30020, type=<is not available>, count=<is not available>, immediate=<is not available>) [Z:\home\julliard\wine\wine\dlls\kernel32\tape.c:317] in kernel32 (0x0403ff48) 15 0x7bc57c27 RtlWakeConditionVariable+0x57(variable=7B62DEE0) [Z:\home\julliard\wine\wine\dlls\ntdll\sync.c:766] in ntdll (0x0403ff5c) 16 0x7bc582e0 RtlCreateUserThread(entry=7E7FA420, arg=03C30020) [Z:\home\julliard\wine\wine\dlls\ntdll\thread.c:261] in ntdll (0x0403ffec) 0x794103bc radeonsi_dri.so+0x63a3bc: movl %ecx,0x28(%edx)