Skip to content
  • Michel Dänzer's avatar
    dri3: Stricter SBC wraparound handling · fe2edb25
    Michel Dänzer authored
    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>
    fe2edb25