Commit: e70dcde88bde62deeb6ba71f1ed89d5c99037137
Author: Clément Foucault
Date:   Sun Sep 13 01:52:57 2020 +0200
Branches: tmp-vulkan
https://developer.blender.org/rBe70dcde88bde62deeb6ba71f1ed89d5c99037137

Vulkan: OSX: Use vulkan context for offscreen context

===================================================================

M       intern/ghost/intern/GHOST_SystemCocoa.mm

===================================================================

diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm 
b/intern/ghost/intern/GHOST_SystemCocoa.mm
index 5a4dfba25b0..1a06f406fc8 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.mm
+++ b/intern/ghost/intern/GHOST_SystemCocoa.mm
@@ -38,6 +38,10 @@
 #  include "GHOST_ContextCGL.h"
 #endif
 
+#if defined(WITH_VULKAN)
+#  include "GHOST_ContextVK.h"
+#endif
+
 #ifdef WITH_INPUT_NDOF
 #  include "GHOST_NDOFManagerCocoa.h"
 #endif
@@ -765,9 +769,20 @@ GHOST_IWindow *GHOST_SystemCocoa::createWindow(const char 
*title,
  * Never explicitly delete the context, use #disposeContext() instead.
  * \return  The new context (or 0 if creation failed).
  */
-GHOST_IContext 
*GHOST_SystemCocoa::createOffscreenContext(GHOST_TDrawingContextType /* type */,
+GHOST_IContext 
*GHOST_SystemCocoa::createOffscreenContext(GHOST_TDrawingContextType type,
                                                           GHOST_GLSettings 
glSettings)
 {
+#ifdef WITH_VULKAN
+  if (type == GHOST_kDrawingContextTypeVulkan) {
+    GHOST_Context *context = new GHOST_ContextVK(false, NULL, 1, 0, false);
+    if (context->initializeDrawingContext()) {
+      return context;
+    }
+    delete context;
+    type = GHOST_kDrawingContextTypeOpenGL;
+  }
+#endif
+
   GHOST_Context *context = new GHOST_ContextCGL(false, NULL, NULL, NULL);
   if (context->initializeDrawingContext())
     return context;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to