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