diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm b/intern/ghost/intern/GHOST_SystemCocoa.mm index 4ea6a513d03..117d72225d6 100644 --- a/intern/ghost/intern/GHOST_SystemCocoa.mm +++ b/intern/ghost/intern/GHOST_SystemCocoa.mm @@ -761,7 +761,7 @@ GHOST_IContext *GHOST_SystemCocoa::createOffscreenContext(GHOST_GLSettings glSet #ifdef WITH_VULKAN_BACKEND if (glSettings.context_type == GHOST_kDrawingContextTypeVulkan) { const bool debug_context = (glSettings.flags & GHOST_glDebugContext) != 0; - GHOST_Context *context = new GHOST_ContextVK(false, NULL, 1, 0, debug_context); + GHOST_Context *context = new GHOST_ContextVK(false, NULL, 1, 2, debug_context); if (!context->initializeDrawingContext()) { delete context; return NULL; diff --git a/intern/ghost/intern/GHOST_SystemWayland.cc b/intern/ghost/intern/GHOST_SystemWayland.cc index a90bc4e0d68..d290946feeb 100644 --- a/intern/ghost/intern/GHOST_SystemWayland.cc +++ b/intern/ghost/intern/GHOST_SystemWayland.cc @@ -6298,7 +6298,7 @@ GHOST_IContext *GHOST_SystemWayland::createOffscreenContext(GHOST_GLSettings glS wl_surface, display_->wl_display, 1, - 0, + 2, debug_context); if (!context->initializeDrawingContext()) { diff --git a/intern/ghost/intern/GHOST_SystemWin32.cc b/intern/ghost/intern/GHOST_SystemWin32.cc index 7fd33304488..60970cb263d 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.cc +++ b/intern/ghost/intern/GHOST_SystemWin32.cc @@ -267,7 +267,7 @@ GHOST_IContext *GHOST_SystemWin32::createOffscreenContext(GHOST_GLSettings glSet #ifdef WITH_VULKAN_BACKEND /* Vulkan does not need a window. */ if (glSettings.context_type == GHOST_kDrawingContextTypeVulkan) { - context = new GHOST_ContextVK(false, (HWND)0, 1, 0, debug_context); + context = new GHOST_ContextVK(false, (HWND)0, 1, 2, debug_context); if (!context->initializeDrawingContext()) { delete context; diff --git a/intern/ghost/intern/GHOST_SystemX11.cc b/intern/ghost/intern/GHOST_SystemX11.cc index f95ee0fd3d9..d960a049e98 100644 --- a/intern/ghost/intern/GHOST_SystemX11.cc +++ b/intern/ghost/intern/GHOST_SystemX11.cc @@ -417,7 +417,7 @@ GHOST_IContext *GHOST_SystemX11::createOffscreenContext(GHOST_GLSettings glSetti #ifdef WITH_VULKAN_BACKEND if (glSettings.context_type == GHOST_kDrawingContextTypeVulkan) { context = new GHOST_ContextVK( - false, GHOST_kVulkanPlatformX11, 0, m_display, NULL, NULL, 1, 0, debug_context); + false, GHOST_kVulkanPlatformX11, 0, m_display, NULL, NULL, 1, 2, debug_context); if (!context->initializeDrawingContext()) { delete context; diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm index 58b82673735..4f90484d240 100644 --- a/intern/ghost/intern/GHOST_WindowCocoa.mm +++ b/intern/ghost/intern/GHOST_WindowCocoa.mm @@ -815,7 +815,7 @@ GHOST_Context *GHOST_WindowCocoa::newDrawingContext(GHOST_TDrawingContextType ty { #ifdef WITH_VULKAN_BACKEND if (type == GHOST_kDrawingContextTypeVulkan) { - GHOST_Context *context = new GHOST_ContextVK(m_wantStereoVisual, m_metalLayer, 1, 0, true); + GHOST_Context *context = new GHOST_ContextVK(m_wantStereoVisual, m_metalLayer, 1, 2, true); if (!context->initializeDrawingContext()) { delete context; diff --git a/intern/ghost/intern/GHOST_WindowWayland.cc b/intern/ghost/intern/GHOST_WindowWayland.cc index 408f9fbe1a2..d4a113ee979 100644 --- a/intern/ghost/intern/GHOST_WindowWayland.cc +++ b/intern/ghost/intern/GHOST_WindowWayland.cc @@ -1744,7 +1744,7 @@ GHOST_Context *GHOST_WindowWayland::newDrawingContext(GHOST_TDrawingContextType window_->wl_surface, system_->wl_display(), 1, - 0, + 2, true); break; #endif diff --git a/intern/ghost/intern/GHOST_WindowWin32.cc b/intern/ghost/intern/GHOST_WindowWin32.cc index b8b8e14f400..1a17926f2a1 100644 --- a/intern/ghost/intern/GHOST_WindowWin32.cc +++ b/intern/ghost/intern/GHOST_WindowWin32.cc @@ -637,7 +637,7 @@ GHOST_Context *GHOST_WindowWin32::newDrawingContext(GHOST_TDrawingContextType ty #ifdef WITH_VULKAN_BACKEND else if (type == GHOST_kDrawingContextTypeVulkan) { - GHOST_Context *context = new GHOST_ContextVK(false, m_hWnd, 1, 0, m_debug_context); + GHOST_Context *context = new GHOST_ContextVK(false, m_hWnd, 1, 2, m_debug_context); if (context->initializeDrawingContext()) { return context; diff --git a/intern/ghost/intern/GHOST_WindowX11.cc b/intern/ghost/intern/GHOST_WindowX11.cc index ae91a0c3580..8a539f8a930 100644 --- a/intern/ghost/intern/GHOST_WindowX11.cc +++ b/intern/ghost/intern/GHOST_WindowX11.cc @@ -1235,7 +1235,7 @@ GHOST_Context *GHOST_WindowX11::newDrawingContext(GHOST_TDrawingContextType type NULL, NULL, 1, - 0, + 2, m_is_debug_context); if (!context->initializeDrawingContext()) { diff --git a/source/blender/gpu/vulkan/vk_context.cc b/source/blender/gpu/vulkan/vk_context.cc index a71910ee71a..e9b23d0fd61 100644 --- a/source/blender/gpu/vulkan/vk_context.cc +++ b/source/blender/gpu/vulkan/vk_context.cc @@ -39,10 +39,7 @@ VKContext::VKContext(void *ghost_window, void *ghost_context) /* Initialize the memory allocator. */ VmaAllocatorCreateInfo info = {}; - /* Should use same vulkan version as GHOST (1.2), but set to 1.0 as 1.2 requires - * correct extensions and functions to be found by VMA, which isn't working as expected and - * requires more research. To continue development we lower the API to version 1.0. */ - info.vulkanApiVersion = VK_API_VERSION_1_0; + info.vulkanApiVersion = VK_API_VERSION_1_2; info.physicalDevice = vk_physical_device_; info.device = vk_device_; info.instance = vk_instance_;