HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
src
ttauri
GFX
pipeline_tone_mapper_device_shared.hpp
1
// Copyright Take Vos 2020.
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 "../required.hpp"
8
#include "../geometry/axis_aligned_rectangle.hpp"
9
#include <vk_mem_alloc.h>
10
#include <vulkan/vulkan.hpp>
11
#include <mutex>
12
13
namespace
tt {
14
class
gfx_device_vulkan;
15
}
16
17
namespace
tt::pipeline_tone_mapper {
18
19
struct
Image;
20
21
struct
device_shared
final {
22
gfx_device_vulkan
const
&device;
23
24
vk::ShaderModule vertexShaderModule;
25
vk::ShaderModule fragmentShaderModule;
26
std::vector<vk::PipelineShaderStageCreateInfo>
shaderStages;
27
28
device_shared
(
gfx_device_vulkan
const
&device);
29
~device_shared
();
30
31
device_shared
(
device_shared
const
&) =
delete
;
32
device_shared
&operator=(
device_shared
const
&) =
delete
;
33
device_shared
(
device_shared
&&) =
delete
;
34
device_shared
&operator=(
device_shared
&&) =
delete
;
35
39
void
destroy
(
gfx_device_vulkan
*vulkanDevice);
40
41
void
drawInCommandBuffer(vk::CommandBuffer &commandBuffer);
42
43
private
:
44
void
buildShaders();
45
void
teardownShaders(
gfx_device_vulkan
*vulkanDevice);
46
};
47
48
}
tt::gfx_device_vulkan
Definition
gfx_device_vulkan.hpp:24
tt::pipeline_tone_mapper::device_shared
Definition
pipeline_tone_mapper_device_shared.hpp:21
tt::pipeline_tone_mapper::device_shared::destroy
void destroy(gfx_device_vulkan *vulkanDevice)
std::vector
Generated on Mon Apr 22 2024 12:53:38 for HikoGUI by
1.10.0