HomePhabricator
Diffusion Mesa fe2edb25dd56

dri3: Stricter SBC wraparound handling

Authored by Michel Dänzer <michel.daenzer@amd.com> on May 8 2018, 11:51 AM.

Description

dri3: Stricter SBC wraparound handling

Prevents corrupting the upper 32 bits of draw->recv_sbc when
draw->send_sbc resets to 0 (which currently happens when the window is
unbound from a context and bound to one again), which in turn caused
loader_dri3_swap_buffers_msc to calculate target_msc with corrupted
upper 32 bits. This resulted in hangs with the Xorg modesetting driver
as of xserver 1.20 (older versions and other drivers ignored the upper
32 bits of the target MSC, which is why this wasn't noticed earlier).

Cc: mesa-stable@lists.freedesktop.org
Bugzilla: https://bugs.freedesktop.org/106351
Tested-by: Mike Lothian <mike@fireburn.co.uk>

Details

Committed
Michel Dänzer <michel@daenzer.net>May 22 2018, 5:59 PM
Pushed
pmoreauMay 22 2018, 7:03 PM
Parents
rMESA75e919c0454d: radv: fix computation of user sgprs for 32-bit pointers
Branches
Unknown
Tags
Unknown

Event Timeline

Michel Dänzer <michel@daenzer.net> committed rMESAfe2edb25dd56: dri3: Stricter SBC wraparound handling (authored by Michel Dänzer <michel.daenzer@amd.com>).May 22 2018, 5:59 PM