diff --git a/submodules/MediaPlayer/Sources/FFMpegMediaVideoFrameDecoder.swift b/submodules/MediaPlayer/Sources/FFMpegMediaVideoFrameDecoder.swift index d79143102f..72bd74e0d3 100644 --- a/submodules/MediaPlayer/Sources/FFMpegMediaVideoFrameDecoder.swift +++ b/submodules/MediaPlayer/Sources/FFMpegMediaVideoFrameDecoder.swift @@ -2,6 +2,7 @@ import UIKit #else import AppKit +import TGUIKit #endif import CoreMedia import Accelerate diff --git a/submodules/MediaPlayer/Sources/SoftwareVideoSource.swift b/submodules/MediaPlayer/Sources/SoftwareVideoSource.swift index 577cb8f2fe..669e689746 100644 --- a/submodules/MediaPlayer/Sources/SoftwareVideoSource.swift +++ b/submodules/MediaPlayer/Sources/SoftwareVideoSource.swift @@ -3,6 +3,7 @@ import Foundation import UIKit #else import AppKit +import TGUIKit #endif import CoreMedia import SwiftSignalKit diff --git a/submodules/MediaPlayer/Sources/UniversalSoftwareVideoSource.swift b/submodules/MediaPlayer/Sources/UniversalSoftwareVideoSource.swift index 8b581bc6b6..72eea9f485 100644 --- a/submodules/MediaPlayer/Sources/UniversalSoftwareVideoSource.swift +++ b/submodules/MediaPlayer/Sources/UniversalSoftwareVideoSource.swift @@ -3,6 +3,7 @@ import Foundation import UIKit #else import AppKit +import TGUIKit #endif import SwiftSignalKit import Postbox diff --git a/submodules/MetalEngine/Package.swift b/submodules/MetalEngine/Package.swift index 2010efdeee..ec3838851c 100644 --- a/submodules/MetalEngine/Package.swift +++ b/submodules/MetalEngine/Package.swift @@ -5,6 +5,7 @@ import PackageDescription let package = Package( name: "MetalEngine", + platforms: [.macOS(.v10_13)], products: [ // Products define the executables and libraries a package produces, and make them visible to other packages. .library( diff --git a/submodules/MetalEngine/Sources/MetalEngine.swift b/submodules/MetalEngine/Sources/MetalEngine.swift index 5efb97943e..87672cf6b5 100644 --- a/submodules/MetalEngine/Sources/MetalEngine.swift +++ b/submodules/MetalEngine/Sources/MetalEngine.swift @@ -666,13 +666,6 @@ public final class MetalEngine { fileprivate var computeStates: [ObjectIdentifier: ComputeState] = [:] init?(device: MTLDevice) { - let mainBundle = Bundle(for: Impl.self) - guard let path = mainBundle.path(forResource: "MetalEngineMetalSourcesBundle", ofType: "bundle") else { - return nil - } - guard let bundle = Bundle(path: path) else { - return nil - } self.device = device @@ -681,15 +674,42 @@ public final class MetalEngine { } self.commandQueue = commandQueue - guard let library = try? device.makeDefaultLibrary(bundle: bundle) else { - return nil - } - self.library = library + let library: MTLLibrary? - guard let vertexFunction = library.makeFunction(name: "clearVertex") else { + #if os(iOS) + let mainBundle = Bundle(for: Impl.self) + guard let path = mainBundle.path(forResource: "MetalEngineMetalSourcesBundle", ofType: "bundle") else { return nil } - guard let fragmentFunction = library.makeFunction(name: "clearFragment") else { + guard let bundle = Bundle(path: path) else { + return nil + } + library = try? device.makeDefaultLibrary(bundle: bundle) + #else + let mainBundle = Bundle(for: Impl.self) + guard let path = mainBundle.path(forResource: "MetalEngineMetalSourcesBundle", ofType: "bundle") else { + return nil + } + guard let bundle = Bundle(path: path) else { + return nil + } + guard let path = bundle.path(forResource: "MetalEngineShaders", ofType: "metallib") else { + return nil + } + library = try? device.makeLibrary(URL: .init(fileURLWithPath: path)) + #endif + + + + guard let lib = library else { + return nil + } + self.library = lib + + guard let vertexFunction = lib.makeFunction(name: "clearVertex") else { + return nil + } + guard let fragmentFunction = lib.makeFunction(name: "clearFragment") else { return nil } diff --git a/submodules/TelegramCore/Sources/WebpagePreview.swift b/submodules/TelegramCore/Sources/WebpagePreview.swift index 229e69deca..21f7e46032 100644 --- a/submodules/TelegramCore/Sources/WebpagePreview.swift +++ b/submodules/TelegramCore/Sources/WebpagePreview.swift @@ -18,6 +18,10 @@ public enum WebpagePreviewResult: Equatable { case progress case result(Result?) } +#if os(macOS) +private typealias UIImage = NSImage +#endif + public func webpagePreview(account: Account, urls: [String], webpageId: MediaId? = nil, forPeerId: PeerId? = nil) -> Signal { return webpagePreviewWithProgress(account: account, urls: urls, webpageId: webpageId, forPeerId: forPeerId) @@ -48,7 +52,7 @@ public func webpagePreviewWithProgress(account: Account, urls: [String], webpage } return .single(.result(WebpagePreviewResult.Result(webpage: webpage, sourceUrl: sourceUrl))) } else { - if #available(iOS 13.0, *) { + if #available(iOS 13.0, macOS 10.15, *) { if let forPeerId, forPeerId.namespace == Namespaces.Peer.SecretChat, let sourceUrl = urls.first, let url = URL(string: sourceUrl) { let localHosts: [String] = [ "twitter.com", diff --git a/submodules/Utils/LokiRng/Package.swift b/submodules/Utils/LokiRng/Package.swift index f2c2bcf28a..db37e9f384 100644 --- a/submodules/Utils/LokiRng/Package.swift +++ b/submodules/Utils/LokiRng/Package.swift @@ -5,6 +5,7 @@ import PackageDescription let package = Package( name: "LokiRng", + platforms: [.macOS(.v10_13)], products: [ // Products define the executables and libraries a package produces, and make them visible to other packages. .library( diff --git a/submodules/Utils/ShelfPack/Package.swift b/submodules/Utils/ShelfPack/Package.swift index 4c95aa8cd4..9bd42def11 100644 --- a/submodules/Utils/ShelfPack/Package.swift +++ b/submodules/Utils/ShelfPack/Package.swift @@ -5,6 +5,7 @@ import PackageDescription let package = Package( name: "ShelfPack", + platforms: [.macOS(.v10_13)], products: [ // Products define the executables and libraries a package produces, and make them visible to other packages. .library(