[Mesa-dev] [PATCH 1/3] vl/dri3: use external texture as back buffers(v4)

Andy Furniss adf.lists at gmail.com
Tue Jan 10 10:55:24 UTC 2017

Nayan Deshmukh wrote:
> On Fri, Jan 6, 2017 at 2:20 AM, Andy Furniss <adf.lists at gmail.com> wrote:
>> Christian König wrote:
>>> Am 04.01.2017 um 18:13 schrieb Nayan Deshmukh:
>>>> dri3 allows us to send handle of a texture directly to X
>>>> so this patch allows a state tracker to directly send its
>>>> texture to X to be used as back buffer and avoids extra
>>>> copying
>>>> v2: use clip width/height to display a portion of the surface
>>>> v3: remove redundant variables, fix wrapping, rename variables
>>>>       handle vaapi path
>>>> v3.1: we need clip_width/height for every frame so we don't need
>>>>         to maintain it for each buffer instead use a global variable
>>>> v4: In case of single gpu we can cache the buffers as applications
>>>>       use constant number of buffer and we can avoid calls to present
>>>>       extension for every frame
>>>> Suggested-by: Leo Liu <leo.liu at amd.com>
>>>> Signed-off-by: Nayan Deshmukh <nayan26deshmukh at gmail.com>
>>> Acked-by: Christian König <christian.koenig at amd.com>.
>>> Andy & Leo did you guys already had a chance to test it? To me it looks
>>> like this should work now.
>> Well there is still the tearing issue from loosing pageflips.
>> Maybe different GPUs don't see this. I can fix by forcing perf but I
>> just tested dal and it's not even fixable running that.
>> I guess that may not count as an issue with these patches as such if
>> xorg/xf86-video-amdgpu can work around, but it's a very noticeable
>> regression until that happens.
> That's bad. It should have improved the speed due to less copying involved.
> But it seems there are some problems in the patch. It may be that somehow we
> make calls to present extension on every frame.

Tiling issue that Michel suggested?

FWIW in windowed playback everything (dri2/3/opengl) has this, I assume
because I don't get pageflipping then. I wouldn't notice though because
even if the player opens the window at the top of the screen, the window
border makes the vid low enough to miss the tear.
Though recent testing shows this is not true with DAL/DC on 3.7 -
todo test DC on new drm-next branch.

> Andy you are using dri3 for testing, right?

Yes, there is no (fullscreen) tearing if I startx with DRI3 disabled.

> Leo, did you also experience tearing issues?

It's quite possible that most won't see this -

I use a non-compositing desktop (fluxbox), so I guess unless people use
unredirect full screen windows they may still get gl page flipping?

It's only the top of the screen and you won't notice on many video
unless there is a lot of horizontal panning.

> Regards,
> Nayan

More information about the mesa-dev mailing list