[PATCH xserver] modesetting: Fix page flipping under DRI 3.2.

Louis-Francis Ratté-Boulianne lfrb at collabora.com
Wed Mar 28 03:58:44 UTC 2018


Hi Mario,

Could you try with the following patch and let me know how things are
working out:

https://gitlab.collabora.com/lfrb/xserver/commit/d26b45afc19547ab3ff689
581db2b01abb4e1ed2

It shouldn't differ much from your patch though and I still don't
understand why pageflip would fail for you. I've tested again today and
 it works fine for me (for Mutter and glmark2-es2).

What client are you using for testing? Keep in mind that the buffer
swapping needs to be synchronized with vblank because Intel driver
doesn't support async page flip.

Thank you,

--
Louis-Francis

On Tue, 2018-03-27 at 10:10 +0200, Olivier Fourdan wrote:
> Hi,
> 
> On Mon, Mar 26, 2018 at 7:54 PM, Mario Kleiner <mario.kleiner.de at gmai
> l.com> wrote:
> > [...]
> > I haven't had time to retest with the latest patch on master of
> > Adam
> > "modesetting: Fix up some XXX from removing GLAMOR_HAS_DRM_*"
> > yet, so maybe that makes a positive difference? My testing was with
> > master as of "modesetting: Fix page flipping under DRI 3.2." plus
> > the
> > argb8888 -> xrgb8888 snippet to make modesetting work at all on
> > Ivybridge/Ironlake.
> 
> commit  ba0c75177 (ajax latest commit) makes no difference for the
> incompatible format issue, it's more about clean-up and being able to
> work if atomic modesetting is not available, which is not the case
> here.
> 
> The funny thing is, I noticed it works (as in “a mode is set”) when
> using drmModeAddFB() (as“before”) instead of
> drmModeAddFB2WithModifiers() in drmmode_bo_import() - Thus the
> perceived regression, it worked before.
> 
> drmModeAddFB() and drmModeAddFB2WithModifiers()  translate
> respectively as drm_mode_addfb() and drm_mode_addfb2() in the kernel
> (drivers/gpu/drm/drm_framebuffer.c), and drm_mode_addfb() will
> eventually call drm_mode_addfb2() after determining itself the format
> to use with drm_mode_legacy_fb_format() [1].
> 
> drm_mode_legacy_fb_format() is defined in
> drivers/gpu/drm/drm_fourcc.c [2] and will use DRM_FORMAT_XRGB8888 for
> depth 24 and DRM_FORMAT_XRGB2101010 for depth 30, and
> DRM_FORMAT_ARGB8888 for anything else.
> 
> Cheers,
> Olivier
> 
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gi
> t/tree/drivers/gpu/drm/drm_framebuffer.c#n95
> [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gi
> t/tree/drivers/gpu/drm/drm_fourcc.c#n38
> 
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: https://lists.x.org/mailman/listinfo/xorg-devel


More information about the xorg-devel mailing list