From dbf64290265178823970cccf3e8c4a0b0aa45110 Mon Sep 17 00:00:00 2001 From: Chris Waldon Date: Wed, 7 Sep 2022 15:52:17 -0400 Subject: [PATCH] app,gpu/headless: [linux] make EGL the default backend This commit switches the priority of EGL and Vulkan so that EGL is always tried first. This is because our EGL backend performs significantly better than the Vulkan one, and we want the most performant experience to be the default. Our hypothesis is that the EGL backend is benefitting from lots of optimization within the OpenGL driver that Vulkan drivers expect applications to perform themselves. Rather than invest a bunch of time optimizing the Vulkan backend right now, this change lets us focus on other priorities. Signed-off-by: Chris Waldon --- app/os_wayland.go | 4 ++-- gpu/headless/headless_egl.go | 2 +- gpu/headless/headless_vulkan.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/os_wayland.go b/app/os_wayland.go index c54fd3a0..cff157ea 100644 --- a/app/os_wayland.go +++ b/app/os_wayland.go @@ -1731,14 +1731,14 @@ func (w *window) EditorStateChanged(old, new editorState) {} func (w *window) NewContext() (context, error) { var firstErr error - if f := newWaylandVulkanContext; f != nil { + if f := newWaylandEGLContext; f != nil { c, err := f(w) if err == nil { return c, nil } firstErr = err } - if f := newWaylandEGLContext; f != nil { + if f := newWaylandVulkanContext; f != nil { c, err := f(w) if err == nil { return c, nil diff --git a/gpu/headless/headless_egl.go b/gpu/headless/headless_egl.go index 886254f8..035ba264 100644 --- a/gpu/headless/headless_egl.go +++ b/gpu/headless/headless_egl.go @@ -10,7 +10,7 @@ import ( ) func init() { - newContextFallback = func() (context, error) { + newContextPrimary = func() (context, error) { return egl.NewContext(egl.EGL_DEFAULT_DISPLAY) } } diff --git a/gpu/headless/headless_vulkan.go b/gpu/headless/headless_vulkan.go index 2b9413a3..18d5dfb6 100644 --- a/gpu/headless/headless_vulkan.go +++ b/gpu/headless/headless_vulkan.go @@ -21,7 +21,7 @@ type vkContext struct { } func init() { - newContextPrimary = newVulkanContext + newContextFallback = newVulkanContext } func newVulkanContext() (context, error) { -- 2.45.2