From becfe2e5712d3f446c03348d0af1501747a65345 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A1ri=20Tristan=20Helgason?= Date: Fri, 30 Jun 2023 13:41:30 +0200 Subject: [PATCH] Make opengl targets ios-only. Bug: b/288827308 Change-Id: I5d37db079646eb8276d4f66a0fc33a585aad38e9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311100 Commit-Queue: Mirko Bonadei Reviewed-by: Mirko Bonadei Cr-Commit-Position: refs/heads/main@{#40385} --- sdk/BUILD.gn | 103 ++++++++---------- .../renderer/opengl/RTCDefaultShader.mm | 8 +- .../renderer/opengl/RTCI420TextureCache.mm | 8 -- .../renderer/opengl/RTCOpenGLDefines.h | 14 --- .../components/renderer/opengl/RTCShader.mm | 11 -- 5 files changed, 48 insertions(+), 96 deletions(-) diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn index 5375baba36..4f5ceb5ed3 100644 --- a/sdk/BUILD.gn +++ b/sdk/BUILD.gn @@ -419,6 +419,53 @@ if (is_ios || is_mac) { "../rtc_base/system:gcd_helpers", ] } + + rtc_library("opengl_objc") { + sources = [ + "objc/components/renderer/opengl/RTCDefaultShader.h", + "objc/components/renderer/opengl/RTCDefaultShader.mm", + "objc/components/renderer/opengl/RTCI420TextureCache.h", + "objc/components/renderer/opengl/RTCI420TextureCache.mm", + "objc/components/renderer/opengl/RTCNV12TextureCache.h", + "objc/components/renderer/opengl/RTCNV12TextureCache.m", + "objc/components/renderer/opengl/RTCOpenGLDefines.h", + "objc/components/renderer/opengl/RTCShader.h", + "objc/components/renderer/opengl/RTCShader.mm", + "objc/components/renderer/opengl/RTCVideoViewShading.h", + ] + frameworks = [ + "CoreVideo.framework", + "GLKit.framework", + "OpenGLES.framework", + "QuartzCore.framework", + ] + + # TODO(bugs.webrtc.org/12937): Remove OpenGL deprecation warning + # workaround. + defines = [ "GLES_SILENCE_DEPRECATION" ] + + deps = [ + ":base_objc", + ":helpers_objc", + ":mediaconstraints_objc", + ":native_video", + ":videoframebuffer_objc", + ":videosource_objc", + "../api:libjingle_peerconnection_api", + "../api/video:video_frame", + "../api/video:video_rtp_headers", + "../common_video", + "../media:rtc_media_base", + "../rtc_base:checks", + "../rtc_base:logging", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] + + configs += [ + "..:common_objc", + ":used_from_extension", + ] + } } rtc_source_set("audio_device_api_objc") { @@ -547,62 +594,6 @@ if (is_ios || is_mac) { ] } - rtc_library("opengl_objc") { - sources = [ - "objc/components/renderer/opengl/RTCDefaultShader.h", - "objc/components/renderer/opengl/RTCDefaultShader.mm", - "objc/components/renderer/opengl/RTCI420TextureCache.h", - "objc/components/renderer/opengl/RTCI420TextureCache.mm", - "objc/components/renderer/opengl/RTCOpenGLDefines.h", - "objc/components/renderer/opengl/RTCShader.h", - "objc/components/renderer/opengl/RTCShader.mm", - "objc/components/renderer/opengl/RTCVideoViewShading.h", - ] - frameworks = [ "CoreVideo.framework" ] - if (is_ios) { - sources += [ - "objc/components/renderer/opengl/RTCNV12TextureCache.h", - "objc/components/renderer/opengl/RTCNV12TextureCache.m", - ] - frameworks += [ - "GLKit.framework", - "OpenGLES.framework", - "QuartzCore.framework", - ] - } else if (is_mac) { - frameworks += [ - "CoreMedia.framework", - "OpenGL.framework", - ] - } - - # TODO(bugs.webrtc.org/12937): Remove OpenGL deprecation warning - # workaround. - defines = [ "GLES_SILENCE_DEPRECATION" ] - - deps = [ - ":base_objc", - ":helpers_objc", - ":mediaconstraints_objc", - ":native_video", - ":videoframebuffer_objc", - ":videosource_objc", - "../api:libjingle_peerconnection_api", - "../api/video:video_frame", - "../api/video:video_rtp_headers", - "../common_video", - "../media:rtc_media_base", - "../rtc_base:checks", - "../rtc_base:logging", - ] - absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] - - configs += [ - "..:common_objc", - ":used_from_extension", - ] - } - rtc_library("metal_objc") { visibility = [ "*" ] allow_poison = [ diff --git a/sdk/objc/components/renderer/opengl/RTCDefaultShader.mm b/sdk/objc/components/renderer/opengl/RTCDefaultShader.mm index 51dca3223d..9d686f625c 100644 --- a/sdk/objc/components/renderer/opengl/RTCDefaultShader.mm +++ b/sdk/objc/components/renderer/opengl/RTCDefaultShader.mm @@ -10,11 +10,7 @@ #import "RTCDefaultShader.h" -#if TARGET_OS_IPHONE #import -#else -#import -#endif #import "RTCOpenGLDefines.h" #import "RTCShader.h" @@ -139,9 +135,7 @@ static const char kNV12FragmentShaderSource[] = RTCLog(@"Failed to setup vertex buffer"); return NO; } -#if !TARGET_OS_IPHONE - glBindVertexArray(_vertexArray); -#endif + glBindBuffer(GL_ARRAY_BUFFER, _vertexBuffer); if (!_currentRotation || rotation != *_currentRotation) { _currentRotation = absl::optional(rotation); diff --git a/sdk/objc/components/renderer/opengl/RTCI420TextureCache.mm b/sdk/objc/components/renderer/opengl/RTCI420TextureCache.mm index 5dccd4bf6a..a91e927cb4 100644 --- a/sdk/objc/components/renderer/opengl/RTCI420TextureCache.mm +++ b/sdk/objc/components/renderer/opengl/RTCI420TextureCache.mm @@ -10,11 +10,7 @@ #import "RTCI420TextureCache.h" -#if TARGET_OS_IPHONE #import -#else -#import -#endif #import "base/RTCI420Buffer.h" #import "base/RTCVideoFrameBuffer.h" @@ -51,11 +47,7 @@ static const GLsizei kNumTextures = kNumTexturesPerSet * kNumTextureSets; - (instancetype)initWithContext:(GlContextType *)context { if (self = [super init]) { -#if TARGET_OS_IPHONE _hasUnpackRowLength = (context.API == kEAGLRenderingAPIOpenGLES3); -#else - _hasUnpackRowLength = YES; -#endif glPixelStorei(GL_UNPACK_ALIGNMENT, 1); [self setupTextures]; diff --git a/sdk/objc/components/renderer/opengl/RTCOpenGLDefines.h b/sdk/objc/components/renderer/opengl/RTCOpenGLDefines.h index 4088535861..d84d992278 100644 --- a/sdk/objc/components/renderer/opengl/RTCOpenGLDefines.h +++ b/sdk/objc/components/renderer/opengl/RTCOpenGLDefines.h @@ -10,7 +10,6 @@ #import -#if TARGET_OS_IPHONE #define RTC_PIXEL_FORMAT GL_LUMINANCE #define SHADER_VERSION #define VERTEX_SHADER_IN "attribute" @@ -22,16 +21,3 @@ @class EAGLContext; typedef EAGLContext GlContextType; -#else -#define RTC_PIXEL_FORMAT GL_RED -#define SHADER_VERSION "#version 150\n" -#define VERTEX_SHADER_IN "in" -#define VERTEX_SHADER_OUT "out" -#define FRAGMENT_SHADER_IN "in" -#define FRAGMENT_SHADER_OUT "out vec4 fragColor;\n" -#define FRAGMENT_SHADER_COLOR "fragColor" -#define FRAGMENT_SHADER_TEXTURE "texture" - -@class NSOpenGLContext; -typedef NSOpenGLContext GlContextType; -#endif diff --git a/sdk/objc/components/renderer/opengl/RTCShader.mm b/sdk/objc/components/renderer/opengl/RTCShader.mm index 8eccd7fbec..25f6eee34e 100644 --- a/sdk/objc/components/renderer/opengl/RTCShader.mm +++ b/sdk/objc/components/renderer/opengl/RTCShader.mm @@ -10,11 +10,7 @@ #import "RTCShader.h" -#if TARGET_OS_IPHONE #import -#else -#import -#endif #include #include @@ -125,13 +121,6 @@ GLuint RTCCreateProgramFromFragmentSource(const char fragmentShaderSource[]) { } BOOL RTCCreateVertexBuffer(GLuint *vertexBuffer, GLuint *vertexArray) { -#if !TARGET_OS_IPHONE - glGenVertexArrays(1, vertexArray); - if (*vertexArray == 0) { - return NO; - } - glBindVertexArray(*vertexArray); -#endif glGenBuffers(1, vertexBuffer); if (*vertexBuffer == 0) { glDeleteVertexArrays(1, vertexArray);