[PATCH 1/5] evr/mixer: Keep dxva device handle around.

Alexandre Julliard julliard at winehq.org
Tue Oct 20 15:55:41 CDT 2020


Nikolay Sivov <nsivov at codeweavers.com> writes:

> Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
> ---
>  dlls/evr/mixer.c | 90 ++++++++++++++++++++++++++++++++----------------
>  1 file changed, 61 insertions(+), 29 deletions(-)

This is breaking the tests here:

tools/runtest -q -P wine -T . -M mf.dll -p dlls/mf/tests/mf_test.exe mf && touch dlls/mf/tests/mf.ok
wine: Unhandled page fault on read access to FFFFFFF8 at address 712C1A82 (thread 0024), starting debugger...
Unhandled exception: page fault on read access to 0xfffffff8 in 32-bit code (0x712c1a82).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:712c1a82 ESP:0068fa10 EBP:0068fa58 EFLAGS:00210282(  R- --  I S - - - )
 EAX:fffffff8 EBX:01663518 ECX:ffffffff EDX:fffffff8
 ESI:00000000 EDI:0166353c
Stack dump:
0x0068fa10:  0166353c 00000000 00110094 00000000
0x0068fa20:  01664f38 01660000 0068fa48 6825a467
0x0068fa30:  01664f38 00000000 01662cc0 00000000
0x0068fa40:  01664f30 00000000 0068fa78 002712f0
0x0068fa50:  0027134c 002712f0 0068fa78 65582215
0x0068fa60:  01663518 00000000 00000000 00271318
Backtrace:
=>0 0x712c1a82 device_manager_CloseDeviceHandle+0x42(hdevice=0x0(nil)) [Z:\home\julliard\wine\wine\dlls\dxva2\main.c:582] in dxva2 (0x0068fa58)
  1 0x65582215 video_mixer_release_device_manager+0x24(mixer=0x2712f0) [Z:\home\julliard\wine\wine\include\dxva2api.h:669] in evr (0x0068fa78)
  2 0x655843d8 video_mixer_inner_Release+0x77() [Z:\home\julliard\wine\wine\dlls\evr\mixer.c:298] in evr (0x0068fac8)
  3 0x6558853a video_presenter_clear_container+0x29(presenter=0x16646d8) [Z:\home\julliard\wine\wine\include\mftransform.h:430] in evr (0x0068fae8)
  4 0x65588fe2 video_presenter_inner_Release+0x71() [Z:\home\julliard\wine\wine\dlls\evr\presenter.c:237] in evr (0x0068fb28)
  5 0x71143b07 video_renderer_initialize+0x36(renderer=0x1662808, mixer=0x271600, presenter=0x16a9b60) [Z:\home\julliard\wine\wine\include\evr.h:243] in mf (0x0068fb88)
  6 0x7114454e video_renderer_InitializeRenderer+0x17d(mixer=<is not available>, presenter=<is not available>) [Z:\home\julliard\wine\wine\dlls\mf\evr.c:1242] in mf (0x0068fbe8)
  7 0x0040b584 test_evr+0xb3() [Z:\home\julliard\wine\wine\include\evr.h:520] in mf_test (0x0068fca8)
  8 0x00413e98 func_mf+0x25c7() [Z:\home\julliard\wine\wine\dlls\mf\tests\mf.c:4025] in mf_test (0x0068fdc8)
  9 0x004164b2 run_test+0xe1(name=<is not available>) [Z:\home\julliard\wine\wine\include\wine\test.h:569] in mf_test (0x0068fe28)
  10 0x00417ea3 main+0x182(argv=<is not available>) [Z:\home\julliard\wine\wine\include\wine\test.h:659] in mf_test (0x0068fed8)
  11 0x004172d6 mainCRTStartup+0x75() [Z:\home\julliard\wine\wine\dlls\msvcrt\crt_main.c:62] in mf_test (0x0068ff28)
  12 0x7b62c78e BaseThreadInitThunk+0xd(unknown=<is not available>, entry=<is not available>) [Z:\home\julliard\wine\wine\dlls\kernel32\thread.c:60] in kernel32 (0x0068ff48)
  13 0x7bc54fd7 RtlSleepConditionVariableSRW+0x196(lock=<is not available>, timeout=<is not available>, flags=<is not available>) [Z:\home\julliard\wine\wine\dlls\ntdll\sync.c:556] in ntdll (0x0068ff5c)
  14 0x7bc55200 call_thread_func+0xaf(arg=0x7ffde000) [Z:\home\julliard\wine\wine\dlls\ntdll\thread.c:134] in ntdll (0x0068ffec)
0x712c1a82 device_manager_CloseDeviceHandle+0x42 [Z:\home\julliard\wine\wine\dlls\dxva2\main.c:582] in dxva2: testb	$0x1,0x0(%eax)
582	        if (manager->handles[idx].flags & HANDLE_FLAG_OPEN)

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list