Skip to content

vulkan/wsi: Take Xwayland into account for x11_min_image_count and adapt zink to Venus

Gert Wollny requested to merge gerddie/mesa:wsi-x11-fix-xwayland-swapimages into main

For wayland we report four images, so for Xwayland we should report the same number of images.

In addition, for Zink on Venus we add another image so that any OpenGL application will actually use five swapchain images on Zink/Venus. With this combination the gap between Zink and VirGL becomes smaller for a number of work loads, especially on the host AMD graphics hardware in some cases Zink/Venus even surpasses VirGL (see below).

  zink (Virtio-GPU Venus (Host: RADV RENOIR)) / VirGL
    
     Benchmark                   VirGL    baseline  Zink/Venus +1
                                                    and Xwayland +1
        ==================================================================
        OpenArena (FPS)            63.8     60.1     148.5
        Unigine Sancuary (FPS)    129.1    121.4     164.7
        Unigine Tropics (FPS)     107.2     85.7     114.3
        Unigine Heaven (FPS)       48.5     48.0      51.5
        Unigine Valley (FPS)       48.0     45.6      47.4
        Xonotic (FPS)              90.5     59.4      89.2
        GpuTest/Volcano (Points)   2960     2966      3013
    
      zink (Virtio-GPU Venus (Host: Intel Xe TGL GT2)) / VirGL
    
     Benchmark                   VirGL    baseline  Zink/Venus +1
                                                    and Xwayland +1
        ===========================================================
        OpenArena (FPS)          95.1       59.8        78.9
        Unigine Sancuary (FPS)   85.5       76.6        81.8
        Unigine Tropics (FPS)    66.0       59.8        62.7
        Unigine Heaven (FPS)     28.8       28.7        28.0
        Unigine Valley (FPS)     29.0       28.0        27.0
        Xonotic (FPS)            64.2       49.4        51.1
        GpuTest/Volcano (Points) 2855       2718        2747

The benchmarks that also include two other options (Set the minimum number to five images only in x11_min_image_count and set the number to x+2 image in Zink when on Venus) AMD host and the Intel Xe host indicates that adding one image for XWayland, and one in Zink when on Venus is the better option for most tested use cases.

Edited by Gert Wollny

Merge request reports