| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "impeller/renderer/backend/metal/pipeline_mtl.h" |
| |
| namespace impeller { |
| |
| PipelineMTL::PipelineMTL(std::weak_ptr<PipelineLibrary> library, |
| PipelineDescriptor desc, |
| id<MTLRenderPipelineState> state, |
| id<MTLDepthStencilState> depth_stencil_state) |
| : Pipeline(std::move(library), std::move(desc)), |
| pipeline_state_(state), |
| depth_stencil_state_(depth_stencil_state) { |
| if (!pipeline_state_) { |
| return; |
| } |
| is_valid_ = true; |
| } |
| |
| PipelineMTL::~PipelineMTL() = default; |
| |
| bool PipelineMTL::IsValid() const { |
| return is_valid_; |
| } |
| |
| id<MTLRenderPipelineState> PipelineMTL::GetMTLRenderPipelineState() const { |
| return pipeline_state_; |
| } |
| |
| id<MTLDepthStencilState> PipelineMTL::GetMTLDepthStencilState() const { |
| return depth_stencil_state_; |
| } |
| |
| } // namespace impeller |