From fb7fd24b3dc65881b9debc95601360bc1bcdac94 Mon Sep 17 00:00:00 2001 From: Jake Bromberg Date: Mon, 14 Jun 2021 13:44:25 -0700 Subject: [PATCH] Removing RTC_SUPPORTS_METAL compilation flag. This flag is a holdover from before either macOS or the iOS Simulator supported Metal rendering. Bug: webrtc:12638 Change-Id: Iced21bfac40192f609b65f5ea1dc3393ee1695fb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222461 Commit-Queue: Jake Bromberg Reviewed-by: Mirko Bonadei Reviewed-by: Peter Hanspers Cr-Commit-Position: refs/heads/master@{#34347} --- sdk/BUILD.gn | 111 ++++++++---------- .../renderer/metal/RTCMTLVideoView.h | 2 - .../renderer/metal/RTCMTLVideoView.m | 4 - 3 files changed, 52 insertions(+), 65 deletions(-) diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn index 4ae6023667..e7d186aa4b 100644 --- a/sdk/BUILD.gn +++ b/sdk/BUILD.gn @@ -488,7 +488,10 @@ if (is_ios || is_mac) { rtc_library("ui_objc") { visibility = [ "*" ] - allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. + allow_poison = [ + "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. + "default_task_queue", + ] if (is_ios) { sources = [ "objc/components/renderer/opengl/RTCDisplayLinkTimer.h", @@ -507,61 +510,60 @@ if (is_ios || is_mac) { deps = [ ":base_objc", ":helpers_objc", + ":metal_objc", ":video_objc", ":videocapture_objc", ":videoframebuffer_objc", ] } - if (rtc_use_metal_rendering) { - rtc_library("metal_objc") { - visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "default_task_queue", + rtc_library("metal_objc") { + visibility = [ "*" ] + allow_poison = [ + "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. + "default_task_queue", + ] + sources = [ + "objc/components/renderer/metal/RTCMTLI420Renderer.h", + "objc/components/renderer/metal/RTCMTLI420Renderer.mm", + "objc/components/renderer/metal/RTCMTLNV12Renderer.h", + "objc/components/renderer/metal/RTCMTLNV12Renderer.mm", + "objc/components/renderer/metal/RTCMTLRGBRenderer.h", + "objc/components/renderer/metal/RTCMTLRGBRenderer.mm", + "objc/components/renderer/metal/RTCMTLRenderer+Private.h", + "objc/components/renderer/metal/RTCMTLRenderer.h", + "objc/components/renderer/metal/RTCMTLRenderer.mm", + ] + frameworks = [ + "CoreVideo.framework", + "Metal.framework", + "MetalKit.framework", + ] + if (is_ios) { + sources += [ + "objc/components/renderer/metal/RTCMTLVideoView.h", + "objc/components/renderer/metal/RTCMTLVideoView.m", ] - sources = [ - "objc/components/renderer/metal/RTCMTLI420Renderer.h", - "objc/components/renderer/metal/RTCMTLI420Renderer.mm", - "objc/components/renderer/metal/RTCMTLRenderer+Private.h", - "objc/components/renderer/metal/RTCMTLRenderer.h", - "objc/components/renderer/metal/RTCMTLRenderer.mm", - ] - if (is_ios) { - sources += [ - "objc/components/renderer/metal/RTCMTLNV12Renderer.h", - "objc/components/renderer/metal/RTCMTLNV12Renderer.mm", - "objc/components/renderer/metal/RTCMTLRGBRenderer.h", - "objc/components/renderer/metal/RTCMTLRGBRenderer.mm", - "objc/components/renderer/metal/RTCMTLVideoView.h", - "objc/components/renderer/metal/RTCMTLVideoView.m", - ] - } - frameworks = [ - "CoreVideo.framework", - "Metal.framework", - "MetalKit.framework", - ] - if (is_mac) { - sources += [ - "objc/components/renderer/metal/RTCMTLNSVideoView.h", - "objc/components/renderer/metal/RTCMTLNSVideoView.m", - ] - frameworks += [ "AppKit.framework" ] - } - deps = [ - ":base_objc", - ":peerconnectionfactory_base_objc", - ":video_objc", - ":videoframebuffer_objc", - "../api/video:video_frame", - "../api/video:video_rtp_headers", - "../rtc_base:checks", - "../rtc_base:rtc_base_approved", - ] - configs += [ "..:common_objc" ] - public_configs = [ ":common_config_objc" ] } + if (is_mac) { + sources += [ + "objc/components/renderer/metal/RTCMTLNSVideoView.h", + "objc/components/renderer/metal/RTCMTLNSVideoView.m", + ] + frameworks += [ "AppKit.framework" ] + } + deps = [ + ":base_objc", + ":peerconnectionfactory_base_objc", + ":video_objc", + ":videoframebuffer_objc", + "../api/video:video_frame", + "../api/video:video_rtp_headers", + "../rtc_base:checks", + "../rtc_base:rtc_base_approved", + ] + configs += [ "..:common_objc" ] + public_configs = [ ":common_config_objc" ] } # TODO(bugs.webrtc.org/9627): Remove this target. @@ -1027,6 +1029,7 @@ if (is_ios || is_mac) { "objc/unittests/RTCEncodedImage_xctest.mm", "objc/unittests/RTCFileVideoCapturer_xctest.mm", "objc/unittests/RTCH264ProfileLevelId_xctest.m", + "objc/unittests/RTCMTLVideoView_xctest.m", "objc/unittests/RTCNV12TextureCache_xctest.m", "objc/unittests/RTCPeerConnectionFactory_xctest.m", "objc/unittests/frame_buffer_helpers.h", @@ -1051,6 +1054,7 @@ if (is_ios || is_mac) { ":callback_logger_objc", ":framework_objc", ":mediaconstraints_objc", + ":metal_objc", ":native_api", ":native_api_audio_device_module", ":native_video", @@ -1074,11 +1078,6 @@ if (is_ios || is_mac) { "//third_party/libyuv", ] - if (rtc_use_metal_rendering) { - sources += [ "objc/unittests/RTCMTLVideoView_xctest.m" ] - deps += [ ":metal_objc" ] - } - public_deps = [ "//build/config/ios:xctest", "//third_party/ocmock", @@ -1319,9 +1318,6 @@ if (is_ios || is_mac) { ":videotoolbox_objc", "../rtc_base:rtc_base_approved", ] - if (rtc_use_metal_rendering) { - deps += [ ":metal_objc" ] - } if (!build_with_chromium) { deps += [ ":callback_logger_objc", @@ -1453,9 +1449,6 @@ if (is_ios || is_mac) { ":videotoolbox_objc", "../rtc_base:rtc_base_approved", ] - if (rtc_use_metal_rendering) { - deps += [ ":metal_objc" ] - } if (!build_with_chromium) { deps += [ ":callback_logger_objc", diff --git a/sdk/objc/components/renderer/metal/RTCMTLVideoView.h b/sdk/objc/components/renderer/metal/RTCMTLVideoView.h index 5678112ade..3320d12076 100644 --- a/sdk/objc/components/renderer/metal/RTCMTLVideoView.h +++ b/sdk/objc/components/renderer/metal/RTCMTLVideoView.h @@ -21,8 +21,6 @@ NS_ASSUME_NONNULL_BEGIN * * It has id property that renders video frames in the view's * bounds using Metal. - * NOTE: always check if metal is available on the running device via - * RTC_SUPPORTS_METAL macro before initializing this class. */ NS_CLASS_AVAILABLE_IOS(9) diff --git a/sdk/objc/components/renderer/metal/RTCMTLVideoView.m b/sdk/objc/components/renderer/metal/RTCMTLVideoView.m index f5be7c061c..4c50bcf9c1 100644 --- a/sdk/objc/components/renderer/metal/RTCMTLVideoView.m +++ b/sdk/objc/components/renderer/metal/RTCMTLVideoView.m @@ -86,11 +86,7 @@ #pragma mark - Private + (BOOL)isMetalAvailable { -#if defined(RTC_SUPPORTS_METAL) return MTLCreateSystemDefaultDevice() != nil; -#else - return NO; -#endif } + (MTKView *)createMetalView:(CGRect)frame {