瀏覽代碼

Merge pull request #54526 from bruvzg/opengl_mt

Rémi Verschelde 3 年之前
父節點
當前提交
98a1e4fbd7
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      platform/osx/os_osx.mm

+ 5 - 0
platform/osx/os_osx.mm

@@ -1674,6 +1674,11 @@ Error OS_OSX::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
 	CGLSetParameter((CGLContextObj)[context CGLContextObj], kCGLCPSurfaceBackingSize, &dim[0]);
 	CGLSetParameter((CGLContextObj)[context CGLContextObj], kCGLCPSurfaceBackingSize, &dim[0]);
 	CGLEnable((CGLContextObj)[context CGLContextObj], kCGLCESurfaceBackingSize);
 	CGLEnable((CGLContextObj)[context CGLContextObj], kCGLCESurfaceBackingSize);
 
 
+	if (get_render_thread_mode() != RENDER_THREAD_UNSAFE) {
+		CGLError err = CGLEnable((CGLContextObj)[context CGLContextObj], kCGLCEMPEngine); // Enable multithreading.
+		ERR_FAIL_COND_V(err != kCGLNoError, ERR_UNAVAILABLE);
+	}
+
 	set_use_vsync(p_desired.use_vsync);
 	set_use_vsync(p_desired.use_vsync);
 
 
 	if (!is_no_window_mode_enabled()) {
 	if (!is_no_window_mode_enabled()) {