Flutter Engine
The Flutter Engine
compute_pipeline_vk.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_VULKAN_COMPUTE_PIPELINE_VK_H_
6#define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMPUTE_PIPELINE_VK_H_
7
8#include <memory>
9
14
15namespace impeller {
16
18 : public Pipeline<ComputePipelineDescriptor>,
19 public BackendCast<ComputePipelineVK,
20 Pipeline<ComputePipelineDescriptor>> {
21 public:
22 ComputePipelineVK(std::weak_ptr<DeviceHolderVK> device_holder,
23 std::weak_ptr<PipelineLibrary> library,
25 vk::UniquePipeline pipeline,
26 vk::UniquePipelineLayout layout,
27 vk::UniqueDescriptorSetLayout descriptor_set_layout);
28
29 // |Pipeline|
30 ~ComputePipelineVK() override;
31
32 const vk::Pipeline& GetPipeline() const;
33
34 const vk::PipelineLayout& GetPipelineLayout() const;
35
36 const vk::DescriptorSetLayout& GetDescriptorSetLayout() const;
37
38 private:
39 friend class PipelineLibraryVK;
40
41 std::weak_ptr<DeviceHolderVK> device_holder_;
42 vk::UniquePipeline pipeline_;
43 vk::UniquePipelineLayout layout_;
44 vk::UniqueDescriptorSetLayout descriptor_set_layout_;
45 bool is_valid_ = false;
46
47 // |Pipeline|
48 bool IsValid() const override;
49
50 ComputePipelineVK(const ComputePipelineVK&) = delete;
51
52 ComputePipelineVK& operator=(const ComputePipelineVK&) = delete;
53};
54
55} // namespace impeller
56
57#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMPUTE_PIPELINE_VK_H_
const vk::DescriptorSetLayout & GetDescriptorSetLayout() const
ComputePipelineVK(std::weak_ptr< DeviceHolderVK > device_holder, std::weak_ptr< PipelineLibrary > library, const ComputePipelineDescriptor &desc, vk::UniquePipeline pipeline, vk::UniquePipelineLayout layout, vk::UniqueDescriptorSetLayout descriptor_set_layout)
const vk::Pipeline & GetPipeline() const
const vk::PipelineLayout & GetPipelineLayout() const
Describes the fixed function and programmable aspects of rendering and compute operations performed b...
Definition: pipeline.h:49
fuchsia::ui::composition::LayoutInfo layout_