5#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_SURFACE_METAL_SKIA_H_
6#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_SURFACE_METAL_SKIA_H_
10#include "flutter/fml/macros.h"
11#include "flutter/shell/gpu/gpu_surface_metal_delegate.h"
12#import "flutter/shell/platform/darwin/ios/ios_surface.h"
23 std::shared_ptr<IOSContext> context);
30 id<MTLDevice> device_;
31 id<MTLCommandQueue> command_queue_;
32 bool is_valid_ =
false;
35 bool IsValid()
const override;
38 void UpdateStorageSizeIfNecessary()
override;
41 std::unique_ptr<Surface> CreateGPUSurface(
GrDirectContext* gr_context)
override;
59 bool AllowsDrawingWhenGpuDisabled()
const override;
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
struct flutter::ImageMetaData __attribute__((packed))
void * GPUCAMetalLayerHandle