[PATCH] drm/i915: Before pageflip, also wait for shared dmabuf fences.
Christian König
deathsimple at vodafone.de
Wed Sep 21 15:21:09 UTC 2016
Am 21.09.2016 um 17:13 schrieb Michel Dänzer:
> On 21/09/16 07:30 PM, Christian König wrote:
>> Am 21.09.2016 um 11:56 schrieb Michel Dänzer:
>>> FWIW, we seem to have the same issue with radeon vs. amdgpu: radeon only
>>> seems to wait for exclusive fences, so e.g. running Xorg on amdgpu and
>>> using PRIME slave scanout on radeon leaves artifacts.
>> Yeah, I know. See radeon_display.c radeon_flip_work_func().
>>
>> We pretty much need the same patch here I've done for amdgpu as well.
> Actually, the PRIME slave can't scan out from the shared BOs directly
> (recall the recent discussion we had about that with Mario), but has to
> copy from the shared BO to a dedicated scanout BO. These copies need to
> be synchronized with the primary GPU's copies to the shared BO.
Yeah, that thought came to my mind before as well.
Buffer migrations by the kernel caused by a prime export actually set
the exclusive fence.
So this shouldn't be an issue in practice when the displaying GPU needs
to copy from the BO again anyway.
The only case I can see when this can happen is when the BO is composed
directly in system memory by the engines and not migrated there.
Could be that we run into this issue more often in the future, because
that is pretty much what we want to have for 4K UVD decode.
Christian.
More information about the dri-devel
mailing list