Merge pull request #115383 from mieko/ios-no-opengl3

iOS: Allow building with `opengl3=no`
This commit is contained in:
Thaddeus Crews 2026-01-26 15:01:48 -06:00
commit c6465994b7
No known key found for this signature in database
GPG key ID: 8C6E5FEB5FC03CCC
4 changed files with 12 additions and 0 deletions

View file

@ -32,7 +32,9 @@
#include "drivers/apple_embedded/display_layer_apple_embedded.h"
#if defined(GLES3_ENABLED)
#import <OpenGLES/EAGLDrawable.h>
#endif
#import <QuartzCore/QuartzCore.h>
// An ugly workaround for iOS simulator
@ -48,7 +50,9 @@ API_AVAILABLE(ios(13.0))
#endif
@end
#if defined(GLES3_ENABLED)
API_DEPRECATED("OpenGLES is deprecated", ios(2.0, 12.0))
@interface GDTOpenGLLayer : CAEAGLLayer <GDTDisplayLayer>
@end
#endif

View file

@ -40,9 +40,11 @@
#import <AudioToolbox/AudioServices.h>
#import <GameController/GameController.h>
#if defined(GLES3_ENABLED)
#import <OpenGLES/EAGL.h>
#import <OpenGLES/ES1/gl.h>
#import <OpenGLES/ES1/glext.h>
#endif
#import <QuartzCore/QuartzCore.h>
#import <UIKit/UIKit.h>
@ -69,6 +71,7 @@
@end
#if defined(GLES3_ENABLED)
@implementation GDTOpenGLLayer {
// The pixel dimensions of the backbuffer
GLint backingWidth;
@ -189,3 +192,4 @@
}
@end
#endif

View file

@ -62,10 +62,12 @@ GODOT_CLANG_WARNING_POP
#else
layer = [GDTMetalLayer layer];
#endif
#if defined(GLES3_ENABLED)
} else if ([driverName isEqualToString:@"opengl3"]) {
GODOT_CLANG_WARNING_PUSH_AND_IGNORE("-Wdeprecated-declarations") // OpenGL is deprecated in iOS 12.0.
layer = [GDTOpenGLLayer layer];
GODOT_CLANG_WARNING_POP
#endif
} else {
return nil;
}

View file

@ -30,8 +30,10 @@
#pragma once
#ifdef GLES3_ENABLED
#ifndef GLES_API_ENABLED
#define GLES_API_ENABLED // Allow using GLES.
#endif
#include <ES3/gl.h>
#endif