Virgl asnychronous command stream submission Virgl testsing of performance improvement Baseline: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.20.14, OpenGL: 4.3 Mesa 22.0.0-devel (git-a167e8ecc8) (LLVM 13.0.0 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1440x900, System Layer: QEMU Asnychronous command emission and early flush: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.20.14, OpenGL: 4.3 Mesa 22.0.0-devel (git-55482b8164) (LLVM 13.0.0 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1440x900, System Layer: QEMU Async transfer fixed: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.20.14, OpenGL: 4.3 Mesa 22.0.0-devel (git-47fee50e3e) (LLVM 13.0.0 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Async transfer query fixed too: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.20.14, OpenGL: 4.3 Mesa 22.0.0-devel (git-692c5348f2) (LLVM 13.0.0 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Async transfer query fixed too again: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.20.14, OpenGL: 4.3 Mesa 22.0.0-devel (git-692c5348f2) (LLVM 13.0.0 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Async transfer fixed staging too: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.20.14, OpenGL: 4.3 Mesa 22.0.0-devel (git-b8ec3a5274) (LLVM 13.0.0 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Async transfer fixed staging too disable dpms: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.20.14, OpenGL: 4.3 Mesa 22.0.0-devel (git-b8ec3a5274) (LLVM 13.0.0 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Async transfer fixed staging too -dpms: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.20.14, OpenGL: 4.3 Mesa 22.0.0-devel (git-b8ec3a5274) (LLVM 13.0.0 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Async transfer + write-only fences: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.21.1.3, OpenGL: 4.3 Mesa 21.3.5 (LLVM 13.0.1 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Async transfer + write-only fences 2: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.21.1.3, OpenGL: 4.3 Mesa 21.3.5 (LLVM 13.0.1 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Async transfer + write-only fences -really: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.21.1.3, OpenGL: 4.3 Mesa 22.1.0-devel (git-78629f6d70) (LLVM 13.0.1 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Async transfer + write-only fences fixed: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.21.1.3, OpenGL: 4.3 Mesa 22.1.0-devel (git-78629f6d70) (LLVM 13.0.1 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Async transfer + write-only fences fixed 2: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.21.1.3, OpenGL: 4.3 Mesa 22.1.0-devel (git-f54afaa617) (LLVM 13.0.1 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Baseline-redo: Processor: 8 x QEMU Virtual 2.5+ (8 Cores), Motherboard: QEMU Standard PC (Q35 + ICH9 2009) (rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org BIOS), Chipset: Intel 82G33/G31/P35/P31 + ICH9, Memory: 32GB, Disk: 97GB, Graphics: virgl 12288GB, Audio: Intel 82801I, Monitor: QEMU Monitor, Network: Red Hat Virtio device OS: Gentoo/Linux, Kernel: 5.15.11-gentoo-x86_64 (x86_64), Display Server: X Server 1.21.1.3, OpenGL: 4.3 Mesa 22.1.0-devel (git-007cb02db9) (LLVM 13.0.1 D...), Compiler: GCC 11.2.0 + LLVM 13.0.0, File-System: ext4, Screen Resolution: 1024x768, System Layer: QEMU Baseline-after-update-2022-04-22: Processor: Intel Core i7-1165G7 (8 Cores), Motherboard: ChromiumOS crosvm, Chipset: Intel 440FX 82441FX PMC, Memory: 16GB, Disk: 800GB, Graphics: virgl Intel Xe TGL GT2 OS: Arch rolling, Kernel: 5.15.16-01331-gb6c5afc81904 (x86_64), OpenGL: 4.5 Mesa 22.2.0-devel (git-ca40bad84a), Compiler: GCC 11.2.0 + LLVM 13.0.1, File-System: btrfs, Screen Resolution: 1920x1080, System Layer: docker Baseline-after-update-2022-04-22-second-go: Processor: Intel Core i7-1165G7 (8 Cores), Motherboard: ChromiumOS crosvm, Chipset: Intel 440FX 82441FX PMC, Memory: 16GB, Disk: 800GB, Graphics: virgl Intel Xe TGL GT2 OS: Arch rolling, Kernel: 5.15.16-01331-gb6c5afc81904 (x86_64), OpenGL: 4.5 Mesa 22.2.0-devel (git-ca40bad84a), Compiler: GCC 11.2.0 + LLVM 13.0.1, File-System: btrfs, Screen Resolution: 1920x1080, System Layer: docker OpenArena 0.8.8 Resolution: 1600 x 900 Frames Per Second > Higher Is Better Baseline ...................................... 301.1 |================== Asnychronous command emission and early flush . 412.6 |======================== Async transfer fixed .......................... 365.5 |===================== Async transfer query fixed too ................ 392.5 |======================= Async transfer query fixed too again .......... 399.9 |======================= Async transfer fixed staging too .............. 358.0 |===================== Async transfer fixed staging too -dpms ........ 374.1 |====================== Async transfer + write-only fences 2 .......... 284.0 |================= Async transfer + write-only fences fixed ...... 355.6 |===================== Async transfer + write-only fences fixed 2 .... 341.6 |==================== Baseline-redo ................................. 284.5 |================= Baseline-after-update-2022-04-22 .............. 120.9 |======= Baseline-after-update-2022-04-22-second-go .... 123.4 |======= OpenArena 0.8.8 Resolution: 1600 x 900 - Total Frame Time Milliseconds < Lower Is Better Baseline ...................................... MIN: 1.0 AVG: 3.3 MAX: 12.0 Asnychronous command emission and early flush . MIN: 1.0 AVG: 2.4 MAX: 12.0 Async transfer fixed .......................... MIN: 1.0 AVG: 2.7 MAX: 12.0 Async transfer query fixed too ................ MIN: 1.0 AVG: 2.5 MAX: 9.0 Async transfer query fixed too again .......... MIN: 1.0 AVG: 2.5 MAX: 12.0 Async transfer fixed staging too .............. MIN: 1.0 AVG: 2.8 MAX: 17.0 Async transfer fixed staging too -dpms ........ MIN: 1.0 AVG: 2.7 MAX: 12.0 Async transfer + write-only fences 2 .......... MIN: 1.0 AVG: 3.6 MAX: 12.0 Async transfer + write-only fences fixed ...... MIN: 1.0 AVG: 2.8 MAX: 11.0 Async transfer + write-only fences fixed 2 .... MIN: 1.0 AVG: 2.9 MAX: 11.0 Baseline-redo ................................. MIN: 1.0 AVG: 3.6 MAX: 12.0 Baseline-after-update-2022-04-22 .............. MIN: 2.0 AVG: 7.0 MAX: 41.0 Baseline-after-update-2022-04-22-second-go .... MIN: 2.0 AVG: 7.4 MAX: 47.0 Unigine Heaven 4.0 Resolution: 1600 x 900 - Mode: Fullscreen - Renderer: OpenGL Frames Per Second > Higher Is Better Baseline ...................................... 162.69 |====================== Asnychronous command emission and early flush . 163.89 |======================= Async transfer fixed .......................... 165.37 |======================= Async transfer query fixed too ................ 163.48 |====================== Async transfer query fixed too again .......... 164.35 |======================= Async transfer fixed staging too .............. 157.48 |====================== Async transfer fixed staging too -dpms ........ 164.47 |======================= Async transfer + write-only fences 2 .......... 163.54 |====================== Async transfer + write-only fences fixed ...... 160.08 |====================== Async transfer + write-only fences fixed 2 .... 158.38 |====================== Baseline-redo ................................. 167.39 |======================= Baseline-after-update-2022-04-22 .............. 19.72 |=== Baseline-after-update-2022-04-22-second-go .... 19.91 |=== Unigine Sanctuary 2.3 Resolution: 1600 x 900 - Mode: Fullscreen Frames Per Second > Higher Is Better Baseline ...................................... 213.19 |========== Asnychronous command emission and early flush . 357.74 |================ Async transfer fixed .......................... 397.09 |================== Async transfer query fixed too ................ 408.49 |================== Async transfer query fixed too again .......... 510.69 |======================= Async transfer fixed staging too -dpms ........ 347.94 |================ Async transfer + write-only fences 2 .......... 231.85 |========== Async transfer + write-only fences fixed ...... 424.55 |=================== Async transfer + write-only fences fixed 2 .... 455.50 |===================== Baseline-redo ................................. 251.47 |=========== Unigine Tropics 1.3 Resolution: 1600 x 900 - Mode: Fullscreen Frames Per Second > Higher Is Better Baseline ...................................... 168.36 |=============== Asnychronous command emission and early flush . 232.88 |===================== Async transfer fixed .......................... 235.96 |===================== Async transfer query fixed too ................ 233.08 |===================== Async transfer query fixed too again .......... 254.43 |======================= Async transfer fixed staging too -dpms ........ 243.04 |====================== Async transfer + write-only fences fixed ...... 243.90 |====================== Async transfer + write-only fences fixed 2 .... 237.93 |====================== Baseline-redo ................................. 179.65 |================ Baseline-after-update-2022-04-22-second-go .... 47.77 |==== Unigine Valley 1.0 Resolution: 1600 x 900 - Mode: Fullscreen - Renderer: OpenGL Frames Per Second > Higher Is Better Baseline ...................................... 160.50 |======================= Asnychronous command emission and early flush . 159.18 |====================== Async transfer fixed .......................... 161.15 |======================= Async transfer query fixed too ................ 159.12 |====================== Async transfer query fixed too again .......... 159.48 |====================== Async transfer fixed staging too -dpms ........ 163.10 |======================= Async transfer + write-only fences fixed 2 .... 153.98 |====================== Baseline-redo ................................. 156.76 |====================== Baseline-after-update-2022-04-22-second-go .... 20.28 |=== Xonotic 0.8.2 Resolution: 1024 x 768 - Effects Quality: Ultimate Frames Per Second > Higher Is Better Baseline ...................................... 250.48 |===================== Asnychronous command emission and early flush . 268.31 |======================= Async transfer fixed .......................... 271.13 |======================= Async transfer query fixed too ................ 270.17 |======================= Async transfer query fixed too again .......... 271.27 |======================= Async transfer fixed staging too -dpms ........ 272.27 |======================= Async transfer + write-only fences fixed 2 .... 265.39 |====================== Baseline-redo ................................. 243.31 |===================== Baseline-after-update-2022-04-22-second-go .... 60.54 |===== GLmark2 2021.08.30 Resolution: 1024 x 768 Score > Higher Is Better Baseline ...................................... 4672 |========================= Asnychronous command emission and early flush . 4640 |========================= Async transfer fixed .......................... 4613 |========================= Async transfer query fixed too ................ 4517 |======================== Async transfer query fixed too again .......... 4480 |======================== Async transfer fixed staging too -dpms ........ 4516 |======================== Async transfer + write-only fences fixed 2 .... 4503 |======================== Baseline-redo ................................. 4409 |======================== Baseline-after-update-2022-04-22-second-go .... 411 |== GpuTest 0.7.0 Resolution: 1600 x 900 Points > Higher Is Better Baseline ...................................... 13369 |====================== Asnychronous command emission and early flush . 14741 |======================== Async transfer fixed .......................... 14618 |======================== Async transfer query fixed too ................ 14859 |======================== Async transfer query fixed too again .......... 14741 |======================== Async transfer fixed staging too -dpms ........ 14816 |======================== Async transfer + write-only fences fixed 2 .... 14723 |======================== Baseline-redo ................................. 13095 |===================== Baseline-after-update-2022-04-22-second-go .... 1041 |==