loader/dri3: Keep current number of back buffers if frame was skipped
We'd previously take the copy path. If we were actually flipping (in which case skipped frames are more likely to occur), we'd ping-pong between a smaller and larger number of back buffers, and frame-rate could vary / take a dip due to the buffer management overhead. While I'm not sure this is actually possible to hit at this point, it definitely will be with the next change. Cc: mesa-stable Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7033>
This commit is contained in:
@@ -280,6 +280,9 @@ dri3_update_max_num_back(struct loader_dri3_drawable *draw)
|
||||
draw->max_num_back = 3;
|
||||
break;
|
||||
|
||||
case XCB_PRESENT_COMPLETE_MODE_SKIP:
|
||||
break;
|
||||
|
||||
default:
|
||||
/* On transition from flips to copies, start with a single buffer again,
|
||||
* a second one will be allocated if needed
|
||||
|
||||
Reference in New Issue
Block a user