[Mesa-dev] [PATCH] st/vdpau: use bicubic filter for scaling

Andy Furniss adf.lists at gmail.com
Wed Jun 22 09:43:17 UTC 2016


Christian König wrote:
> Am 21.06.2016 um 23:51 schrieb Andy Furniss:
>> Andy Furniss wrote:
>>> Nayan Deshmukh wrote:
>>>> I forgot to CC the list, so I am attaching our conversation here. Also
>>>> probably my R7 M265 uses
>>>> a progressive shader.
>>>
>>> OK, maybe that could be it.
>>>
>>> I may be able to try progressive, but need to remember what to change...
>>
>> Seems I can't test progressive with this h/w. I had a different card
>> last time I did it - trying the same now just segfaults.
>
> Yeah, the problem is the hardware Nayan is testing on doesn't have an
> UVD block. So he just uses the presentation pipeline to test VDPAU and
> that uses a progressive video buffer.
>
> Andy what did you do to switch to progressive and why does it fail? Just
> changing the return value for PIPE_VIDEO_CAP_PREFERS_INTERLACED in
> radeon_video.c should still work fine.

That's roughly what I did - initially I did it a line later so supports
got false as well.

re-testing with an unpatched mesa and return false after PREFERS I see
the same.

s/w decode mplayer or mpv will segfault - bt below. No asserts with
debug build of mesa.

Sometimes/depending on input file it doesn't instantly segfault brief
output is corrupt and I get 00s of VM faults.


[ 2493.510353] amdgpu 0000:01:00.0: GPU fault detected: 146 0x06c0c00c
[ 2493.510363] amdgpu 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR 
   0x00100ED8
[ 2493.510369] amdgpu 0000:01:00.0: 
VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x040C000C
[ 2493.510376] VM fault (0x0c, vmid 2) at page 1052376, read from 'TC5' 
(0x54433500) (192)
[ 2493.510385] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0988800c
[ 2493.510390] amdgpu 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR 
   0x00100F2F
[ 2493.510395] amdgpu 0000:01:00.0: 
VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x040C400C
[ 2493.510400] VM fault (0x0c, vmid 2) at page 1052463, read from 'TC4' 
(0x54433400) (196)
[ 2493.510409] amdgpu 0000:01:00.0: GPU fault detected: 146 0x09a8c00c
[ 2493.510414] amdgpu 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR 
   0x00100F33
[ 2493.510418] amdgpu 0000:01:00.0: 
VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0400000C
[ 2493.510422] VM fault (0x0c, vmid 2) at page 1052467, read from 'TC2' 
(0x54433200) (0)
[ 2493.510430] amdgpu 0000:01:00.0: GPU fault detected: 146 0x09a8080c
[ 2493.510435] amdgpu 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR 
   0x00100F36
[ 2493.510440] amdgpu 0000:01:00.0: 
VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0400000C
[ 2493.510444] VM fault (0x0c, vmid 2) at page 1052470, read from 'TC2' 
(0x54433200) (0)
[ 2493.510498] amdgpu 0000:01:00.0: GPU fault detected: 146 0x09d8840c
[ 2493.510502] amdgpu 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR 
   0x00100F3C
[ 2493.510505] amdgpu 0000:01:00.0: 
VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0400400C
[ 2493.510509] VM fault (0x0c, vmid 2) at page 1052476, read from 'TC1' 
(0x54433100) (4)
[ 2493.510516] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0740800c
[ 2493.510520] amdgpu 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR 
   0x00100F3B
[ 2493.510524] amdgpu 0000:01:00.0: 
VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0404800C
[ 2493.510528] VM fault (0x0c, vmid 2) at page 1052475, read from 'TC6' 
(0x54433600) (72)


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffecb4a700 (LWP 28986)]
0x00007ffff116ae89 in __memcpy_sse2_unaligned () from /lib/libc.so.6
(gdb) bt
#0  0x00007ffff116ae89 in __memcpy_sse2_unaligned () from /lib/libc.so.6
#1  0x00007fffe731cf0e in util_copy_rect (dst=<optimized out>, 
format=<optimized out>, dst_stride=384, dst_x=0, dst_y=<optimized out>, 
width=360, height=288, src=0x1dcb5e0 "\001", src_stride=384, src_x=0, 
src_y=<optimized out>)
     at util/u_surface.c:105
#2  0x00007fffe731d098 in util_copy_box (dst=0x7fffec175000 <error: 
Cannot access memory at address 0x7fffec175000>, 
format=PIPE_FORMAT_R8_UNORM, dst_stride=384, dst_slice_stride=110592, 
dst_x=dst_x at entry=0, dst_y=dst_y at entry=0, dst_z=0,
     width=360, height=288, depth=1, src=0x1dcb5e0 "\001", 
src_stride=384, src_slice_stride=0, src_x=0, src_y=0, src_z=0) at 
util/u_surface.c:131
#3  0x00007fffe7321b66 in u_default_transfer_inline_write 
(pipe=0x7fffe82c3ba0, resource=0x7fffe835d150, level=<optimized out>, 
usage=<optimized out>, box=0x7fffecb49cc0, data=0x1dcb5e0, stride=384, 
layer_stride=0) at util/u_transfer.c:52
#4  0x00007fffe728f0d0 in vlVdpVideoSurfacePutBitsYCbCr 
(surface=<optimized out>, source_ycbcr_format=<optimized out>, 
source_data=0x7fffecb49d30, source_pitches=0x7fffe833c028) at surface.c:362
#5  0x0000000000504fec in mp_vdpau_upload_video_surface 
(ctx=0x7fffe822bd30, mpi=0x7fffe833bfa0) at ../video/vdpau.c:520
#6  0x000000000052b649 in draw_frame (vo=0x1d0f9b0, 
frame=0x7fffe833be60) at ../video/out/vo_vdpau.c:915
#7  0x0000000000523c8a in render_frame (vo=0x1d0f9b0) at 
../video/out/vo.c:808
#8  vo_thread (ptr=0x1d0f9b0) at ../video/out/vo.c:905
#9  0x00007ffff79b1434 in start_thread () from /lib/libpthread.so.0
#10 0x00007ffff11c306d in clone () from /lib/libc.so.6



More information about the mesa-dev mailing list