HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
src
TTauri
GUI
PipelineFlat_DeviceShared.hpp
1
// Copyright 2019 Pokitec
2
// All rights reserved.
3
4
#pragma once
5
6
#include "TTauri/GUI/GUIDevice_forward.hpp"
7
#include "TTauri/Foundation/required.hpp"
8
#include "TTauri/Foundation/aarect.hpp"
9
#include "TTauri/Foundation/vec.hpp"
10
#include "TTauri/Foundation/R16G16B16A16SFloat.hpp"
11
#include <vma/vk_mem_alloc.h>
12
#include <vulkan/vulkan.hpp>
13
#include <mutex>
14
15
namespace
tt {
16
template
<
typename
T>
struct
PixelMap;
17
}
18
19
namespace
tt::PipelineFlat {
20
21
struct
Image;
22
23
struct
DeviceShared
final {
24
GUIDevice
const
&device;
25
26
vk::ShaderModule vertexShaderModule;
27
vk::ShaderModule fragmentShaderModule;
28
std::vector<vk::PipelineShaderStageCreateInfo>
shaderStages;
29
30
DeviceShared
(
GUIDevice
const
&device);
31
~DeviceShared
();
32
33
DeviceShared
(
DeviceShared
const
&) =
delete
;
34
DeviceShared
&operator=(
DeviceShared
const
&) =
delete
;
35
DeviceShared
(
DeviceShared
&&) =
delete
;
36
DeviceShared
&operator=(
DeviceShared
&&) =
delete
;
37
41
void
destroy
(
GUIDevice
*vulkanDevice);
42
43
void
drawInCommandBuffer(vk::CommandBuffer &commandBuffer);
44
45
private
:
46
void
buildShaders();
47
void
teardownShaders(
GUIDevice_vulkan
*vulkanDevice);
48
};
49
50
}
tt::GUIDevice_vulkan
Definition
GUIDevice_vulkan.hpp:22
tt::PipelineFlat::DeviceShared
Definition
PipelineFlat_DeviceShared.hpp:23
tt::PipelineFlat::DeviceShared::destroy
void destroy(GUIDevice *vulkanDevice)
std::vector
Generated on Mon Apr 22 2024 12:53:56 for HikoGUI by
1.10.0