<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi Michel,</div><div><br></div><div>thanks for responding.</div><div><br></div><div>> Basically you're comparing apples (TearFree, the amdgpu/radeon driver</div><div>> changes above) and oranges (DRI page flipping, the modesetting change</div><div>> above).</div><div>></div><div>> DRI page flipping is an old mechanism (supported by the amdgpu/radeon</div><div>> drivers as well, "forever", since long before TearFree) for direct</div><div>> scanout from buffers whose contents were produced with direct rendering</div><div>> by the client. Because it scans out directly, output transformations</div><div>> such as rotation are traditionally not supported with DRI page flipping.</div><div>></div><div>I see. So I have to double buffer the rotated buffer and flip it on vsync.</div><div><br></div><div>According to this discussion</div><div><br></div><div><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32789">https://bugs.freedesktop.org/show_bug.cgi?id=32789</a><br></div><div><br></div><div>it should be able to double-buffer the rotated frontbuffer and let a 'damage'</div><div>trigger rendering to the offscreen buffer and wait for vsync to flip. Right?</div><div><br></div><div>> TearFree uses separate dedicated scanout buffers, to which the "main"<br></div><div>> buffer contents are copied on demand.</div><div>></div><div>> Originally, these three things (DRI page flipping, rotation and</div><div>> TearFree) were separate and mutually exclusive. However, the</div><div>> amdgpu/radeon drivers support all of them the same time these days; this</div><div>> still requires an extra copy in some cases, but that could be eliminated</div><div>> at least in the non-rotated DRI page flipping case.</div><div>></div><div>> <a href="https://gitlab.freedesktop.org/xorg/xserver/merge_requests/24">https://gitlab.freedesktop.org/xorg/xserver/merge_requests/24</a> has the</div><div>> start of TearFree support for the modesetting driver, but it's still</div><div>> mutually exclusive with rotation (DRI3 page flipping should work with</div><div>> TearFree, but may still exhibit tearing if the client/user disables</div><div>> sync-to-vblank).</div><div><br></div><div>Couldn't we extend modesetting in addition to Martin's TearFree patch the same way you did here for Radeon?:</div><div><br></div><div><a href="https://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=798c4fd16d339b1ad5fd729cc884be084c60e38b">https://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=798c4fd16d339b1ad5fd729cc884be084c60e38b</a><br></div><div><br></div><div>Best regards</div><div>-Carsten</div><div><br></div></div></div></div></div>