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
12
13namespace impeller {
14
15class SamplerLibraryVK;
16class YUVConversionVK;
17
18class SamplerVK final : public Sampler, public BackendCast<SamplerVK, Sampler> {
19 public:
20 SamplerVK(const vk::Device& device,
21 const SamplerDescriptor&,
22 std::shared_ptr<YUVConversionVK> yuv_conversion = {});
23
24 // |Sampler|
25 ~SamplerVK() override;
26
27 vk::Sampler GetSampler() const;
28
29 std::shared_ptr<SamplerVK> CreateVariantForConversion(
30 std::shared_ptr<YUVConversionVK> conversion) const;
31
32 const std::shared_ptr<YUVConversionVK>& GetYUVConversion() const;
33
34 private:
35 friend SamplerLibraryVK;
36
37 const vk::Device device_;
39 std::shared_ptr<YUVConversionVK> yuv_conversion_;
40 bool mips_disabled_workaround_ = false;
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:69
std::shared_ptr< SharedObjectVKT< T > > SharedHandleVK