Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
gpu
graphite
mtl
MtlComputePipeline.h
Go to the documentation of this file.
1
/*
2
* Copyright 2022 Google LLC
3
*
4
* Use of this source code is governed by a BSD-style license that can be
5
* found in the LICENSE file.
6
*/
7
8
#ifndef skgpu_graphite_MtlComputePipeline_DEFINED
9
#define skgpu_graphite_MtlComputePipeline_DEFINED
10
11
#include "
include/core/SkRefCnt.h
"
12
#include "
include/ports/SkCFObject.h
"
13
#include "
src/gpu/graphite/ComputePipeline.h
"
14
15
#import <Metal/Metal.h>
16
17
namespace
skgpu::graphite
{
18
19
class
ComputePipelineDesc;
20
class
ResourceProvider
;
21
class
MtlSharedContext;
22
23
class
MtlComputePipeline
final :
public
ComputePipeline
{
24
public
:
25
using
MSLFunction
= std::pair<id<MTLLibrary>, std::string>;
26
27
static
sk_sp<MtlComputePipeline>
Make
(
const
MtlSharedContext
*,
28
const
std::string& label,
29
MSLFunction
computeMain);
30
~MtlComputePipeline
()
override
=
default
;
31
32
id<MTLComputePipelineState>
mtlPipelineState
()
const
{
return
fPipelineState.get(); }
33
34
private
:
35
MtlComputePipeline
(
const
SharedContext
*
sharedContext
, sk_cfp<id<MTLComputePipelineState>> pso)
36
:
ComputePipeline
(
sharedContext
)
37
, fPipelineState(
std
::move(pso)) {}
38
39
void
freeGpuData
()
override
;
40
41
sk_cfp<id<MTLComputePipelineState>> fPipelineState;
42
};
43
44
}
// namespace skgpu::graphite
45
46
#endif
// skgpu_graphite_MtlComputePipeline_DEFINED
ComputePipeline.h
SkCFObject.h
SkRefCnt.h
sk_sp
Definition
SkRefCnt.h:220
skgpu::graphite::ComputePipeline
Definition
ComputePipeline.h:24
skgpu::graphite::MtlComputePipeline
Definition
MtlComputePipeline.h:23
skgpu::graphite::MtlComputePipeline::freeGpuData
void freeGpuData() override
Definition
MtlComputePipeline.mm:63
skgpu::graphite::MtlComputePipeline::MSLFunction
std::pair< id< MTLLibrary >, std::string > MSLFunction
Definition
MtlComputePipeline.h:25
skgpu::graphite::MtlComputePipeline::Make
static sk_sp< MtlComputePipeline > Make(const MtlSharedContext *, const std::string &label, MSLFunction computeMain)
Definition
MtlComputePipeline.mm:22
skgpu::graphite::MtlComputePipeline::mtlPipelineState
id< MTLComputePipelineState > mtlPipelineState() const
Definition
MtlComputePipeline.h:32
skgpu::graphite::MtlComputePipeline::~MtlComputePipeline
~MtlComputePipeline() override=default
skgpu::graphite::MtlSharedContext
Definition
MtlSharedContext.h:27
skgpu::graphite::Resource::sharedContext
const SharedContext * sharedContext() const
Definition
Resource.h:187
skgpu::graphite::SharedContext
Definition
SharedContext.h:32
skresources::ResourceProvider
Definition
SkResources.h:150
skgpu::graphite
Definition
BoundsManagerBench.cpp:27
std
Definition
ref_ptr.h:256
Generated on Fri Apr 26 2024 06:17:18 for Flutter Engine by
1.9.8