MythTV master
mythcombobuffervulkan.h
Go to the documentation of this file.
1#ifndef MYTHCOMBOBUFFERVULKAN_H
2#define MYTHCOMBOBUFFERVULKAN_H
3
4// Qt
5#include <QRect>
6#include <QMatrix4x4>
7
8// MythTV
10
11// Total Buffer size of 112bytes.
12// Vulkan spec guarantees 128 bytes for push constants
13// Prevent clang-tidy modernize-avoid-c-arrays warnings.
14extern "C" {
15struct alignas(16) VulkanComboBuffer
16{
17 float transform [16];
18 float position [4];
19 float texcoords [4];
20 float color [4];
21};
22}
23
24#define MYTH_PUSHBUFFER_SIZE (sizeof(VulkanComboBuffer))
25
27{
28 public:
29 MythComboBufferVulkan(float Width, float Height);
30
31 const void* Data(void) const;
32 void PushData(const QMatrix4x4 &Transform, QRect Source,
33 QRect Destination, int Alpha);
34 void PopData(void);
35
36 std::vector<VulkanComboBuffer> m_data;
37 float m_width { 0.0F };
38 float m_height { 0.0F };
39};
40
41#endif
std::vector< VulkanComboBuffer > m_data
static void Transform(SIMI *Simi, F_PT xo, F_PT yo, F_PT *x, F_PT *y)
Definition: ifs.cpp:274
#define MUI_PUBLIC
Definition: mythuiexp.h:9