[regression] Video playback is corrupt with Mesa 17.3 (but is fine with 17.2)
THESE STILL WORK:
gst-play-1.0 --videosink glimagesink bbb_sunflower_1080p_60fps_normal.mp4
gst-play-1.0 --videosink xvimagesink bbb_sunflower_1080p_60fps_normal.mp4
gst-play-1.0 --videosink ximagesink bbb_sunflower_1080p_60fps_normal.mp4
THESE DON'T WORK:
gst-play-1.0 --videosink clutterautovideosink bbb_sunflower_1080p_60fps_normal.mp4
Specifically the corruption only occurs under the combination of:
VA-API (gstreamer1.0-vaapi) +
clutterautovideosink (libclutter-gst-3.0-0) +
So that's includes the default video player (totem) in Ubuntu 18.04's default session :(
We first noticed the regression when Ubuntu 18.04 upgraded Mesa
from: 17.2.4-0ubuntu2 (WORKING)
to: 17.3.3-0ubuntu1 (FAILS)
One workaround that works is to downgrade to these specific packages:
More information: https://launchpad.net/bugs/1747744
broken on 18.0.0-rc2 as well
5198e48a0d9a991d897cf4c71fdb82ac0e43b025 is the first bad commit
Author: Thomas Hellstrom <firstname.lastname@example.org>
Date: Fri Aug 11 09:57:51 2017 +0200
loader_dri3/glx/egl: Remove the loader_dri3_vtable get_dri_screen callback
It's not very usable since in the rare, but definitely existing case that
we don't have a current context, it will return NULL.
Presumably it will always be safe to use the dri screen the drawable was
created with for operations on that drawable.
Signed-off-by: Thomas Hellstrom <email@example.com>
Reviewed-by: Michel Dänzer <firstname.lastname@example.org>
:040000 040000 16f02799b47aefb1cac40343c1ae0c7dd6d1b63a ca0b60d0abef87f31c0b0052de72b67e6d1f9311 M src
This is really a cleanup commit assuming that it's illegal to pass drawables around different screens.
But I see now that the @draw argument to get_dri_screen() is not used in the implementations, so the correct cleanup appears to be to remove that argument,
and indeed let the function return the screen of the currently bound context.
From what I can tell, reverting that commit should be safe.
But I'll put together a proper patch.
Created attachment 137229 [details] [review]
Daniel, could you try the attached patch to verify that it fixes the problem.
Thanks, tested on top of 18.0.0-rc2 and it works now.
Verified (with git master): attachment 137229 [details] [review] does fix the problem. Thanks.
Thanks. Sent the patch for review. If anyone wants a Tested-by: tag, please respond to the PATCH email on mesa-dev.
Fixed in mesa master with backport requests.