7#include "flutter/shell/platform/embedder/embedder_surface_metal.h"
9#include "flutter/fml/logging.h"
10#include "flutter/shell/gpu/gpu_surface_metal_delegate.h"
11#import "flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalSkia.h"
21 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder)
23 metal_dispatch_table_(
std::move(metal_dispatch_table)),
24 external_view_embedder_(
std::move(external_view_embedder)) {
27 commandQueue:(id<MTLCommandQueue>)command_queue];
30 commandQueue:(id<MTLCommandQueue>)command_queue];
31 valid_ = main_context_ && resource_context_;
41 if (@available(iOS 13.0, *)) {
49 const bool render_to_surface = !external_view_embedder_;
61 return resource_context_;
65 FML_CHECK(
false) <<
"Only rendering to MTLTexture is supported.";
70 FML_CHECK(
false) <<
"Only rendering to MTLTexture is supported.";
75 return metal_dispatch_table_.
get_texture(frame_info);
#define FLUTTER_ASSERT_NOT_ARC
#define FML_CHECK(condition)
UITextSmartQuotesType smartQuotesType API_AVAILABLE(ios(11.0))
void * GPUMTLDeviceHandle
void * GPUCAMetalLayerHandle
void * GPUMTLCommandQueueHandle