MythTV master
mythtexturevulkan.h
Go to the documentation of this file.
1#ifndef MYTHTEXTUREVULKAN_H
2#define MYTHTEXTUREVULKAN_H
3
4// Qt
5#include <QImage>
6
7// MythTV
10
13
15{
16 public:
17 static MythTextureVulkan* Create(MythVulkanObject* Vulkan, QImage *Image, VkSampler Sampler,
18 VkCommandBuffer CommandBuffer = nullptr);
20
21 void StagingFinished (void);
22 VkDescriptorImageInfo GetDescriptorImage (void) const;
23 VkDescriptorSet TakeDescriptor (void);
24 void AddDescriptor (VkDescriptorSet Descriptor);
25
26 VkDescriptorSet m_descriptor { MYTH_NULL_DISPATCH };
27 uint64_t m_dataSize { 0 };
28
29 protected:
30 MythTextureVulkan(MythVulkanObject* Vulkan, QImage *Image, VkSampler Sampler,
31 VkCommandBuffer CommandBuffer = nullptr);
32
33 private:
34 Q_DISABLE_COPY(MythTextureVulkan)
35
36 VkBuffer m_stagingBuffer { MYTH_NULL_DISPATCH };
37 VkDeviceMemory m_stagingMemory { MYTH_NULL_DISPATCH };
38 VkImage m_image { MYTH_NULL_DISPATCH };
39 VkDeviceMemory m_deviceMemory { MYTH_NULL_DISPATCH };
40 bool m_createdSampler { false };
41 VkSampler m_sampler { MYTH_NULL_DISPATCH };
42 VkImageView m_view { MYTH_NULL_DISPATCH };
43};
44
45#endif
static MythVulkanObject * Create(MythRenderVulkan *Render)
#define MYTH_NULL_DISPATCH
#define MUI_PUBLIC
Definition: mythuiexp.h:9