From 6c038a7e0f64cb89f6214cc40070e94bbeb12863 Mon Sep 17 00:00:00 2001 From: Yousef Khadadeh Date: Wed, 4 Feb 2026 10:53:23 +0300 Subject: [PATCH] Get Ganesh Vulkan backend working again, and make it the default on windows --- CMakeLists.txt | 8 ++++++-- conanfile.py | 1 + src/VulkanContext/VkTestUtils.h | 1 - src/main.cpp | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ca9415f..31f851f 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,12 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # Options to set set(availableGraphicsBackends OpenGL3.3 OpenGL2.1 OpenGLES3.0 Vulkan) -set(GRAPHICS_BACKEND OpenGL3.3 CACHE STRING "Graphics backend to use") +if(WIN32) + set(GRAPHICS_BACKEND Vulkan CACHE STRING "Graphics backend to use") +else() + set(GRAPHICS_BACKEND OpenGL3.3 CACHE STRING "Graphics backend to use") +endif() + set_property(CACHE GRAPHICS_BACKEND PROPERTY STRINGS ${availableGraphicsBackends}) list(FIND availableGraphicsBackends ${GRAPHICS_BACKEND} graphicsBackendIndex) if(graphicsBackendIndex EQUAL -1) @@ -134,7 +139,6 @@ set(sources "src/main.cpp" if((NOT EMSCRIPTEN) AND (GRAPHICS_BACKEND STREQUAL "Vulkan")) list(APPEND sources - "include/VkBootstrap.cpp" "src/VulkanContext/VkTestMemoryAllocator.cpp" "src/VulkanContext/VkTestUtils.cpp" "src/VulkanContext/WindowContext.cpp" diff --git a/conanfile.py b/conanfile.py index a108bef..5ae3a39 100644 --- a/conanfile.py +++ b/conanfile.py @@ -45,6 +45,7 @@ class CompressorRecipe(ConanFile): "use_system_libpng": False, "use_system_libwebp": False, "use_system_zlib": False, + "use_vulkan": True, "enable_svg": True, "enable_skottie": False, "enable_bentleyottmann": True # for some reason, setting this to False results in an error when creating the project diff --git a/src/VulkanContext/VkTestUtils.h b/src/VulkanContext/VkTestUtils.h index b112a3c..3a9cc8d 100644 --- a/src/VulkanContext/VkTestUtils.h +++ b/src/VulkanContext/VkTestUtils.h @@ -12,7 +12,6 @@ #include #include -#include #include namespace skgpu { diff --git a/src/main.cpp b/src/main.cpp index 6342b71..a3c2af1 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -470,7 +470,7 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char **argv) { (PFN_vkGetInstanceProcAddr)SDL_Vulkan_GetVkGetInstanceProcAddr()); mS.surface = mS.vulkanWindowContext->getBackbufferSurface(); #elif USE_SKIA_BACKEND_GANESH - std::unique_ptr displayParams = skwindow::DisplayParamsBuilder().build(); + std::unique_ptr displayParams = skwindow::DisplayParamsBuilder().detach(); mS.vulkanWindowContext = std::make_unique(std::move(displayParams), [window = mS.window](VkInstance instance) {