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
MUI_PUBLIC
#define MUI_PUBLIC
Definition: mythuiexp.h:9
MythVulkanObject
Definition: mythrendervulkan.h:32
MYTH_NULL_DISPATCH
#define MYTH_NULL_DISPATCH
Definition: mythrendervulkan.h:29
MythVertexBufferVulkan
Definition: mythvertexbuffervulkan.h:31
MythVulkanObject::Create
static MythVulkanObject * Create(MythRenderVulkan *Render)
Definition: mythrendervulkan.cpp:16
MythTextureVulkan
Definition: mythtexturevulkan.h:14
mythcombobuffervulkan.h
MythUniformBufferVulkan
Definition: mythuniformbuffervulkan.h:7
MythComboBufferVulkan
Definition: mythcombobuffervulkan.h:26
mythrendervulkan.h