wsi/x11: Bump maximum number of outstanding COMPLETE events.

Fixes a "regression" where comically large FPS tests regressed.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Fixes: 19dba854 ("wsi/x11: Rewrite implementation to always use threads.")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30638>
(cherry picked from commit 5a97916fdc)
This commit is contained in:
Hans-Kristian Arntzen 2024-08-13 10:34:00 +02:00 committed by Eric Engestrom
parent a4b0f0f765
commit f11e04e331
2 changed files with 6 additions and 4 deletions

View file

@ -24,7 +24,7 @@
"description": "wsi/x11: Bump maximum number of outstanding COMPLETE events.",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "19dba854be005142f70c36895622c5d46c3b9ba2",
"notes": null

View file

@ -1071,9 +1071,11 @@ struct x11_image {
* We need to keep track of them when considering present ID. */
/* This is arbitrarily chosen. With IMMEDIATE on a 3 deep swapchain,
* we allow up to 48 outstanding presentations per vblank, which is more than enough
* for any reasonable application. */
#define X11_SWAPCHAIN_MAX_PENDING_COMPLETIONS 16
* we allow over 300 outstanding presentations per vblank, which is more than enough
* for any reasonable application.
* This used to be 16, but it regressed benchmarks that did 15k+ FPS.
* This should allow over 25k FPS on a 60 Hz monitor. Any more than this is comical. */
#define X11_SWAPCHAIN_MAX_PENDING_COMPLETIONS 128
uint32_t present_queued_count;
struct x11_image_pending_completion pending_completions[X11_SWAPCHAIN_MAX_PENDING_COMPLETIONS];
#ifdef HAVE_DRI3_EXPLICIT_SYNC