From ec6614f7d6d755bd20da97a8bb39e663a45d817c Mon Sep 17 00:00:00 2001 From: Duy Tran Khanh Date: Sat, 2 Jan 2021 18:11:49 +0700 Subject: [PATCH] Pre-init GLES context --- Natives/AppDelegate.m | 14 ++++---------- Natives/egl_bridge.c | 3 +-- Natives/egl_bridge_ios.m | 2 ++ 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/Natives/AppDelegate.m b/Natives/AppDelegate.m index 6f1caeec..140094a5 100644 --- a/Natives/AppDelegate.m +++ b/Natives/AppDelegate.m @@ -31,18 +31,12 @@ self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; - view.enableSetNeedsDisplay = YES; - [view setNeedsDisplay]; - return YES; -} - -#pragma mark - GLKViewDelegate - -- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect { + [EAGLContext setCurrentContext:context]; + int width_c = (int) roundf([[UIScreen mainScreen] bounds].size.width); int height_c = (int) roundf([[UIScreen mainScreen] bounds].size.height); callback_AppDelegate_didFinishLaunching(width_c, height_c); + + return YES; } - -@end diff --git a/Natives/egl_bridge.c b/Natives/egl_bridge.c index 51bd95d1..48bd8fb9 100644 --- a/Natives/egl_bridge.c +++ b/Natives/egl_bridge.c @@ -60,8 +60,7 @@ JNIEXPORT jboolean JNICALL Java_org_lwjgl_glfw_GLFW_nativeEglInit(JNIEnv* env, j JNIEXPORT jboolean JNICALL Java_org_lwjgl_glfw_GLFW_nativeEglMakeCurrent(JNIEnv* env, jclass clazz, jlong window) { debug("ES2Bridge: making current\n"); - jboolean ret = makeCurrentContext(CURR_GL_CONTEXT); - debug("ES2Bridge: makeCurrent() returns %d\n", ret); + jboolean ret = 1; // makeCurrentContext(CURR_GL_CONTEXT); void *libGL = dlopen("libGL.dylib", RTLD_GLOBAL); debug("libGL = %p", libGL); diff --git a/Natives/egl_bridge_ios.m b/Natives/egl_bridge_ios.m index 4aef8b02..e1ece082 100644 --- a/Natives/egl_bridge_ios.m +++ b/Natives/egl_bridge_ios.m @@ -53,9 +53,11 @@ void *getCurrentContext() { jboolean makeCurrentContext(void *context) { // fprintf(stderr, "IOSWindowSystemInterface : makeCurrentContext %x\n", context); if ([EAGLContext setCurrentContext:(__bridge EAGLContext *)jlong_to_ptr(context)] == YES) { +/* glClearColor(0.4f, 0.4f, 0.4f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); flushBuffer(); +*/ return JNI_TRUE; }