Flutter Impeller
khr_swapchain_image_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_SWAPCHAIN_KHR_KHR_SWAPCHAIN_IMAGE_VK_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_SWAPCHAIN_KHR_KHR_SWAPCHAIN_IMAGE_VK_H_
7 
12 
13 namespace impeller {
14 
15 class KHRSwapchainImageVK final : public TextureSourceVK {
16  public:
18  const vk::Device& device,
19  vk::Image image);
20 
21  // |TextureSourceVK|
22  ~KHRSwapchainImageVK() override;
23 
24  bool IsValid() const;
25 
26  // |TextureSourceVK|
27  vk::Image GetImage() const override;
28 
29  // |TextureSourceVK|
30  vk::ImageView GetImageView() const override;
31 
32  // |TextureSourceVK|
33  vk::ImageView GetRenderTargetView() const override;
34 
35  // |TextureSourceVK|
36  bool IsSwapchainImage() const override;
37 
38  private:
39  vk::Image image_ = VK_NULL_HANDLE;
40  vk::UniqueImageView image_view_ = {};
41  bool is_valid_ = false;
42 
44 
45  KHRSwapchainImageVK& operator=(const KHRSwapchainImageVK&) = delete;
46 };
47 
48 } // namespace impeller
49 
50 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_SWAPCHAIN_KHR_KHR_SWAPCHAIN_IMAGE_VK_H_
impeller::KHRSwapchainImageVK::~KHRSwapchainImageVK
~KHRSwapchainImageVK() override
impeller::TextureSourceVK
Abstract base class that represents a vkImage and an vkImageView.
Definition: texture_source_vk.h:28
texture_source_vk.h
impeller::KHRSwapchainImageVK::GetImage
vk::Image GetImage() const override
Get the image handle for this texture source.
Definition: khr_swapchain_image_vk.cc:39
impeller::KHRSwapchainImageVK::GetImageView
vk::ImageView GetImageView() const override
Retrieve the image view used for sampling/blitting/compute with this texture source.
Definition: khr_swapchain_image_vk.cc:44
formats_vk.h
impeller::KHRSwapchainImageVK
Definition: khr_swapchain_image_vk.h:15
impeller::KHRSwapchainImageVK::IsSwapchainImage
bool IsSwapchainImage() const override
Determines if swapchain image. That is, an image used as the root render target.
Definition: khr_swapchain_image_vk.cc:54
vk.h
impeller::KHRSwapchainImageVK::IsValid
bool IsValid() const
Definition: khr_swapchain_image_vk.cc:34
impeller::KHRSwapchainImageVK::GetRenderTargetView
vk::ImageView GetRenderTargetView() const override
Retrieve the image view used for render target attachments with this texture source.
Definition: khr_swapchain_image_vk.cc:49
impeller::KHRSwapchainImageVK::KHRSwapchainImageVK
KHRSwapchainImageVK(TextureDescriptor desc, const vk::Device &device, vk::Image image)
Definition: khr_swapchain_image_vk.cc:9
impeller::TextureDescriptor
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...
Definition: texture_descriptor.h:38
impeller
Definition: allocation.cc:12
size.h