HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
src
hikogui
GFX
pipeline_tone_mapper_device_shared.hpp
1
// Copyright Take Vos 2020-2021.
2
// Distributed under the Boost Software License, Version 1.0.
3
// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5
#pragma once
6
7
#include "
../utility.hpp
"
8
#include "
../geometry/axis_aligned_rectangle.hpp
"
9
#include <vma/vk_mem_alloc.h>
10
#include <vulkan/vulkan.hpp>
11
#include <mutex>
12
13
namespace
hi::inline
v1
{
14
class
gfx_device_vulkan;
15
16
namespace
pipeline_tone_mapper {
17
struct
Image;
18
19
struct
device_shared
final {
20
gfx_device_vulkan
const
&device;
21
22
vk::ShaderModule vertexShaderModule;
23
vk::ShaderModule fragmentShaderModule;
24
std::vector<vk::PipelineShaderStageCreateInfo>
shaderStages;
25
26
device_shared
(
gfx_device_vulkan
const
&device);
27
~device_shared
();
28
29
device_shared
(
device_shared
const
&) =
delete
;
30
device_shared
&operator=(
device_shared
const
&) =
delete
;
31
device_shared
(
device_shared
&&) =
delete
;
32
device_shared
&operator=(
device_shared
&&) =
delete
;
33
38
void
destroy
(
gfx_device_vulkan
*vulkanDevice);
39
40
void
drawInCommandBuffer(vk::CommandBuffer &commandBuffer);
41
42
private
:
43
void
buildShaders();
44
void
teardownShaders(
gfx_device_vulkan
*vulkanDevice);
45
};
46
47
}
// namespace pipeline_tone_mapper
48
}
// namespace hi::inline v1
utility.hpp
Utilities used by the HikoGUI library itself.
axis_aligned_rectangle.hpp
v1
DOXYGEN BUG.
Definition
algorithm.hpp:15
v1::gfx_device_vulkan
Definition
gfx_device_vulkan.hpp:21
v1::pipeline_tone_mapper::device_shared
Definition
pipeline_tone_mapper_device_shared.hpp:19
v1::pipeline_tone_mapper::device_shared::destroy
void destroy(gfx_device_vulkan *vulkanDevice)
std::vector
Generated on Mon Apr 22 2024 12:52:03 for HikoGUI by
1.10.0