[PATCH 1/5] wined3d: Use the chunk allocator for GL indirect draw buffers.

Alexandre Julliard julliard at winehq.org
Wed Feb 2 16:22:43 CST 2022


Zebediah Figura <zfigura at codeweavers.com> writes:

> From: Henri Verbeet <hverbeet at codeweavers.com>
>
> Signed-off-by: Zebediah Figura <zfigura at 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)

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list