| Flutter Impeller |

sampler_library_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 #pragma once
6
7 #include "flutter/fml/macros.h"
8 #include "impeller/base/backend_cast.h"
9 #include "impeller/base/comparable.h"
10 #include "impeller/core/sampler_descriptor.h"
11 #include "impeller/renderer/backend/vulkan/device_holder.h"
12 #include "impeller/renderer/backend/vulkan/vk.h"
13 #include "impeller/renderer/sampler_library.h"
14
15 namespace impeller {
16
17 class SamplerLibraryVK final
18 : public SamplerLibrary,
19 public BackendCast<SamplerLibraryVK, SamplerLibrary> {
20 public:
21 // |SamplerLibrary|
22 ~SamplerLibraryVK() override;
23
24 private:
25 friend class ContextVK;
26
27 std::weak_ptr<DeviceHolder> device_holder_;
28 SamplerMap samplers_;
29
30 explicit SamplerLibraryVK(const std::weak_ptr<DeviceHolder>& device_holder);
31
32 // |SamplerLibrary|
33 std::shared_ptr<const Sampler> GetSampler(
34 SamplerDescriptor descriptor) override;
35
36 FML_DISALLOW_COPY_AND_ASSIGN(SamplerLibraryVK);
37 };
38
39 } // namespace impeller
sampler_library.h
device_holder.h
vk.h
impeller::SamplerDescriptor
Definition: sampler_descriptor.h:18
impeller::SamplerLibraryVK
Definition: sampler_library_vk.h:17
impeller::SamplerMap
std::unordered_map< SamplerDescriptor, std::shared_ptr< const Sampler >, ComparableHash< SamplerDescriptor >, ComparableEqual< SamplerDescriptor > > SamplerMap
Definition: sampler_descriptor.h:56
backend_cast.h
impeller::ContextVK
Definition: context_vk.h:36
sampler_descriptor.h
comparable.h
impeller::BackendCast
Definition: backend_cast.h:12
impeller::SamplerLibrary
Definition: sampler_library.h:14
impeller::SamplerLibraryVK::~SamplerLibraryVK
~SamplerLibraryVK() override
impeller
Definition: aiks_context.cc:10