Flutter Engine
Loading...
Searching...
No Matches
pipeline_library_mtl.h
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_METAL_PIPELINE_LIBRARY_MTL_H_
6
#define FLUTTER_IMPELLER_RENDERER_BACKEND_METAL_PIPELINE_LIBRARY_MTL_H_
7
8
#include <Metal/Metal.h>
9
10
#include "
impeller/renderer/pipeline_library.h
"
11
12
namespace
impeller
{
13
14
class
ContextMTL;
15
16
class
PipelineLibraryMTL
final :
public
PipelineLibrary
{
17
public
:
18
PipelineLibraryMTL
();
19
20
// |PipelineLibrary|
21
~PipelineLibraryMTL
()
override
;
22
23
private
:
24
friend
ContextMTL
;
25
26
id<MTLDevice> device_ =
nullptr
;
27
PipelineMap
pipelines_;
28
ComputePipelineMap
compute_pipelines_;
29
30
explicit
PipelineLibraryMTL
(id<MTLDevice>
device
);
31
32
// |PipelineLibrary|
33
bool
IsValid()
const override
;
34
35
// |PipelineLibrary|
36
PipelineFuture<PipelineDescriptor>
GetPipeline(
PipelineDescriptor
descriptor,
37
bool
async,
38
bool
threadsafe)
override
;
39
40
// |PipelineLibrary|
41
PipelineFuture<ComputePipelineDescriptor>
GetPipeline(
42
ComputePipelineDescriptor
descriptor,
43
bool
async)
override
;
44
45
// |PipelineLibrary|
46
bool
HasPipeline(
const
PipelineDescriptor
& descriptor)
override
;
47
48
// |PipelineLibrary|
49
void
RemovePipelinesWithEntryPoint(
50
std::shared_ptr<const ShaderFunction> function)
override
;
51
52
PipelineLibraryMTL
(
const
PipelineLibraryMTL
&) =
delete
;
53
54
PipelineLibraryMTL
& operator=(
const
PipelineLibraryMTL
&) =
delete
;
55
};
56
57
}
// namespace impeller
58
59
#endif
// FLUTTER_IMPELLER_RENDERER_BACKEND_METAL_PIPELINE_LIBRARY_MTL_H_
impeller::ComputePipelineDescriptor
Definition
compute_pipeline_descriptor.h:21
impeller::ContextMTL
Definition
context_mtl.h:67
impeller::PipelineDescriptor
Definition
pipeline_descriptor.h:24
impeller::PipelineLibrary
Definition
pipeline_library.h:30
impeller::PipelineLibraryMTL
Definition
pipeline_library_mtl.h:16
impeller::PipelineLibraryMTL::PipelineLibraryMTL
PipelineLibraryMTL()
impeller::PipelineLibraryMTL::~PipelineLibraryMTL
~PipelineLibraryMTL() override
device
VkDevice device
Definition
main.cc:69
impeller
Definition
texture.h:16
impeller::ComputePipelineMap
std::unordered_map< ComputePipelineDescriptor, PipelineFuture< ComputePipelineDescriptor >, ComparableHash< ComputePipelineDescriptor >, ComparableEqual< ComputePipelineDescriptor > > ComputePipelineMap
Definition
pipeline_library.h:28
impeller::PipelineMap
std::unordered_map< PipelineDescriptor, PipelineFuture< PipelineDescriptor >, ComparableHash< PipelineDescriptor >, ComparableEqual< PipelineDescriptor > > PipelineMap
Definition
pipeline_library.h:22
pipeline_library.h
impeller::PipelineFuture
Definition
pipeline.h:28
impeller
renderer
backend
metal
pipeline_library_mtl.h
Generated on Thu Nov 6 2025 16:11:23 for Flutter Engine by
1.9.8