Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
sampler_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_SAMPLER_VK_H_
6#define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_SAMPLER_VK_H_
7
8#include "flutter/fml/macros.h"
13
14namespace impeller {
15
16class SamplerLibraryVK;
17class YUVConversionVK;
18
19class SamplerVK final : public Sampler, public BackendCast<SamplerVK, Sampler> {
20 public:
21 SamplerVK(const vk::Device& device,
23 std::shared_ptr<YUVConversionVK> yuv_conversion = {});
24
25 // |Sampler|
26 ~SamplerVK() override;
27
28 vk::Sampler GetSampler() const;
29
30 std::shared_ptr<SamplerVK> CreateVariantForConversion(
31 std::shared_ptr<YUVConversionVK> conversion) const;
32
33 const std::shared_ptr<YUVConversionVK>& GetYUVConversion() const;
34
35 private:
36 friend SamplerLibraryVK;
37
38 const vk::Device device_;
40 std::shared_ptr<YUVConversionVK> yuv_conversion_;
41 bool is_valid_ = false;
42
43 SamplerVK(const SamplerVK&) = delete;
44
45 SamplerVK& operator=(const SamplerVK&) = delete;
46};
47
48} // namespace impeller
49
50#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_SAMPLER_VK_H_
vk::Sampler GetSampler() const
~SamplerVK() override
std::shared_ptr< SamplerVK > CreateVariantForConversion(std::shared_ptr< YUVConversionVK > conversion) const
const std::shared_ptr< YUVConversionVK > & GetYUVConversion() const
VkDevice device
Definition main.cc:53
std::shared_ptr< SharedObjectVKT< T > > SharedHandleVK