HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
src
TTauri
GUI
PipelineToneMapper_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 <vma/vk_mem_alloc.h>
11
#include <vulkan/vulkan.hpp>
12
#include <mutex>
13
14
namespace
tt {
15
template
<
typename
T>
struct
PixelMap;
16
}
17
18
namespace
tt::PipelineToneMapper {
19
20
struct
Image;
21
22
struct
DeviceShared
final {
23
GUIDevice
const
&device;
24
25
vk::ShaderModule vertexShaderModule;
26
vk::ShaderModule fragmentShaderModule;
27
std::vector<vk::PipelineShaderStageCreateInfo>
shaderStages;
28
29
DeviceShared
(
GUIDevice
const
&device);
30
~DeviceShared
();
31
32
DeviceShared
(
DeviceShared
const
&) =
delete
;
33
DeviceShared
&operator=(
DeviceShared
const
&) =
delete
;
34
DeviceShared
(
DeviceShared
&&) =
delete
;
35
DeviceShared
&operator=(
DeviceShared
&&) =
delete
;
36
40
void
destroy
(
GUIDevice
*vulkanDevice);
41
42
void
drawInCommandBuffer(vk::CommandBuffer &commandBuffer);
43
44
private
:
45
void
buildShaders();
46
void
teardownShaders(
GUIDevice_vulkan
*vulkanDevice);
47
};
48
49
}
tt::GUIDevice_vulkan
Definition
GUIDevice_vulkan.hpp:22
tt::PipelineToneMapper::DeviceShared
Definition
PipelineToneMapper_DeviceShared.hpp:22
tt::PipelineToneMapper::DeviceShared::destroy
void destroy(GUIDevice *vulkanDevice)
std::vector
Generated on Mon Apr 22 2024 12:53:56 for HikoGUI by
1.10.0