Commit: 47613a40f567b02ec4b9bdaf8096e81e294ab985
Author: Clément Foucault
Date: Sun Sep 13 03:37:35 2020 +0200
Branches: tmp-vulkan
https://developer.blender.org/rB47613a40f567b02ec4b9bdaf8096e81e294ab985
VK: OSX: Use debug context and use METAL_SURFACE instead of MACOS_SURFACE
===================================================================
M intern/ghost/intern/GHOST_ContextVK.cpp
M intern/ghost/intern/GHOST_SystemCocoa.mm
M intern/ghost/intern/GHOST_WindowCocoa.mm
===================================================================
diff --git a/intern/ghost/intern/GHOST_ContextVK.cpp
b/intern/ghost/intern/GHOST_ContextVK.cpp
index d0ffe743d6a..b013952124c 100644
--- a/intern/ghost/intern/GHOST_ContextVK.cpp
+++ b/intern/ghost/intern/GHOST_ContextVK.cpp
@@ -829,7 +829,7 @@ GHOST_TSuccess GHOST_ContextVK::initializeDrawingContext()
#ifdef _WIN32
const char *native_surface_extension_name =
VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
#elif defined(__APPLE__)
- const char *native_surface_extension_name =
VK_MVK_MACOS_SURFACE_EXTENSION_NAME;
+ const char *native_surface_extension_name =
VK_EXT_METAL_SURFACE_EXTENSION_NAME;
#else /* X11 */
const char *native_surface_extension_name =
VK_KHR_XLIB_SURFACE_EXTENSION_NAME;
#endif
@@ -868,12 +868,12 @@ GHOST_TSuccess GHOST_ContextVK::initializeDrawingContext()
};
VK_CHECK(vkCreateWin32SurfaceKHR(m_instance, &surface_create_info, NULL,
&m_surface));
#elif defined(__APPLE__)
- VkMacOSSurfaceCreateInfoMVK info = {};
- info.sType = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK;
+ VkMetalSurfaceCreateInfoEXT info = {};
+ info.sType = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT;
info.pNext = NULL;
info.flags = 0;
- info.pView = m_metal_layer;
- VK_CHECK(vkCreateMacOSSurfaceMVK(m_instance, &info, nullptr, &m_surface));
+ info.pLayer = m_metal_layer;
+ VK_CHECK(vkCreateMetalSurfaceEXT(m_instance, &info, nullptr, &m_surface));
#else
VkXlibSurfaceCreateInfoKHR surface_create_info = {
.sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR,
diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm
b/intern/ghost/intern/GHOST_SystemCocoa.mm
index 1a06f406fc8..0d79d8ccdbc 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.mm
+++ b/intern/ghost/intern/GHOST_SystemCocoa.mm
@@ -774,7 +774,8 @@ GHOST_IContext
*GHOST_SystemCocoa::createOffscreenContext(GHOST_TDrawingContextT
{
#ifdef WITH_VULKAN
if (type == GHOST_kDrawingContextTypeVulkan) {
- GHOST_Context *context = new GHOST_ContextVK(false, NULL, 1, 0, false);
+ const bool debug_context = (glSettings.flags & GHOST_glDebugContext) != 0;
+ GHOST_Context *context = new GHOST_ContextVK(false, NULL, 1, 0,
debug_context);
if (context->initializeDrawingContext()) {
return context;
}
diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm
b/intern/ghost/intern/GHOST_WindowCocoa.mm
index 74d4bb9425a..2d1d4f228c3 100644
--- a/intern/ghost/intern/GHOST_WindowCocoa.mm
+++ b/intern/ghost/intern/GHOST_WindowCocoa.mm
@@ -839,7 +839,7 @@ GHOST_Context
*GHOST_WindowCocoa::newDrawingContext(GHOST_TDrawingContextType ty
{
#ifdef WITH_VULKAN
if (type == GHOST_kDrawingContextTypeVulkan) {
- GHOST_Context *context = new GHOST_ContextVK(m_wantStereoVisual,
m_metalLayer, 1, 0, false);
+ GHOST_Context *context = new GHOST_ContextVK(m_wantStereoVisual,
m_metalLayer, 1, 0, true);
if (context->initializeDrawingContext()) {
return context;
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs