Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
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
10#include "flutter/fml/macros.h"
15
16namespace impeller {
17
19 : public Pipeline<ComputePipelineDescriptor>,
20 public BackendCast<ComputePipelineVK,
21 Pipeline<ComputePipelineDescriptor>> {
22 public:
23 ComputePipelineVK(std::weak_ptr<DeviceHolderVK> device_holder,
24 std::weak_ptr<PipelineLibrary> library,
25 const ComputePipelineDescriptor& desc,
26 vk::UniquePipeline pipeline,
27 vk::UniquePipelineLayout layout,
28 vk::UniqueDescriptorSetLayout descriptor_set_layout);
29
30 // |Pipeline|
31 ~ComputePipelineVK() override;
32
33 const vk::Pipeline& GetPipeline() const;
34
35 const vk::PipelineLayout& GetPipelineLayout() const;
36
37 const vk::DescriptorSetLayout& GetDescriptorSetLayout() const;
38
39 private:
40 friend class PipelineLibraryVK;
41
42 std::weak_ptr<DeviceHolderVK> device_holder_;
43 vk::UniquePipeline pipeline_;
44 vk::UniquePipelineLayout layout_;
45 vk::UniqueDescriptorSetLayout descriptor_set_layout_;
46 bool is_valid_ = false;
47
48 // |Pipeline|
49 bool IsValid() const override;
50
51 ComputePipelineVK(const ComputePipelineVK&) = delete;
52
53 ComputePipelineVK& operator=(const ComputePipelineVK&) = delete;
54};
55
56} // namespace impeller
57
58#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMPUTE_PIPELINE_VK_H_
const vk::DescriptorSetLayout & GetDescriptorSetLayout() const
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_