| Flutter Impeller |

pipeline_mtl.mm
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 #include "impeller/renderer/backend/metal/pipeline_mtl.h"
6
7 namespace impeller {
8
9 PipelineMTL::PipelineMTL(std::weak_ptr<PipelineLibrary> library,
10 const PipelineDescriptor& desc,
11 id<MTLRenderPipelineState> state,
12 id<MTLDepthStencilState> depth_stencil_state)
13 : Pipeline(std::move(library), desc),
14 pipeline_state_(state),
15 depth_stencil_state_(depth_stencil_state) {
16 if (!pipeline_state_) {
17 return;
18 }
19 is_valid_ = true;
20 }
21
22 PipelineMTL::~PipelineMTL() = default;
23
24 bool PipelineMTL::IsValid() const {
25 return is_valid_;
26 }
27
28 id<MTLRenderPipelineState> PipelineMTL::GetMTLRenderPipelineState() const {
29 return pipeline_state_;
30 }
31
32 id<MTLDepthStencilState> PipelineMTL::GetMTLDepthStencilState() const {
33 return depth_stencil_state_;
34 }
35
36 } // namespace impeller
impeller
Definition: allocation.cc:12
std
Definition: comparable.h:95
pipeline_mtl.h