Flutter Impeller
compute_pass_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_PASS_VK_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMPUTE_PASS_VK_H_
7 
8 #include "flutter/fml/macros.h"
11 
12 namespace impeller {
13 
14 class CommandBufferVK;
15 
16 class ComputePassVK final : public ComputePass {
17  public:
18  // |ComputePass|
19  ~ComputePassVK() override;
20 
21  private:
22  friend class CommandBufferVK;
23 
24  std::weak_ptr<CommandBufferVK> command_buffer_;
25  std::string label_;
26  bool is_valid_ = false;
27 
28  ComputePassVK(std::weak_ptr<const Context> context,
29  std::weak_ptr<CommandBufferVK> command_buffer);
30 
31  // |ComputePass|
32  bool IsValid() const override;
33 
34  // |ComputePass|
35  void OnSetLabel(const std::string& label) override;
36 
37  // |ComputePass|
38  bool OnEncodeCommands(const Context& context,
39  const ISize& grid_size,
40  const ISize& thread_group_size) const override;
41 };
42 
43 } // namespace impeller
44 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMPUTE_PASS_VK_H_
command_encoder_vk.h
impeller::ComputePassVK::~ComputePassVK
~ComputePassVK() override
impeller::TSize< int64_t >
impeller::CommandBufferVK
Definition: command_buffer_vk.h:19
impeller::Context
To do anything rendering related with Impeller, you need a context.
Definition: context.h:47
compute_pass.h
impeller
Definition: aiks_context.cc:10
impeller::ComputePassVK
Definition: compute_pass_vk.h:16
impeller::ComputePass
Compute passes encode compute shader into the underlying command buffer.
Definition: compute_pass.h:23