Skip to content
Commit b582b8fc authored by Michel Dänzer's avatar Michel Dänzer Committed by Juan A. Suarez Romero
Browse files

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: default avatarMike Lothian <mike@fireburn.co.uk>
(cherry picked from commit fe2edb25)
[Juan A. Suarez: resolve trivial conflicts]

Conflicts:
	src/loader/loader_dri3_helper.c
parent 96b1ac39
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment