23 const std::shared_ptr<const fml::SyncSwitch>& is_gpu_disabled_sync_switch) {
24 std::vector<std::shared_ptr<fml::Mapping>> shader_mappings = {
25 std::make_shared<fml::NonOwnedMapping>(impeller_entity_shaders_data,
26 impeller_entity_shaders_length),
28 std::make_shared<fml::NonOwnedMapping>(impeller_scene_shaders_data,
29 impeller_scene_shaders_length),
31 std::make_shared<fml::NonOwnedMapping>(impeller_modern_shaders_data,
32 impeller_modern_shaders_length),
33 std::make_shared<fml::NonOwnedMapping>(impeller_framebuffer_blend_shaders_data,
34 impeller_framebuffer_blend_shaders_length),
39 FML_LOG(
ERROR) <<
"Could not create Metal Impeller Context.";
48- (instancetype)init:(const
std::shared_ptr<const
fml::SyncSwitch>&)is_gpu_disabled_sync_switch {
52 id<MTLDevice>
device = _context->GetMTLDevice();
59 CVReturn cvReturn = CVMetalTextureCacheCreate(kCFAllocatorDefault,
66 if (cvReturn != kCVReturnSuccess) {
76 createExternalTextureWithIdentifier:(int64_t)textureID
static std::shared_ptr< ContextMTL > Create(const std::vector< std::string > &shader_library_paths, std::shared_ptr< const fml::SyncSwitch > is_gpu_disabled_sync_switch)