Toast Engine
Toggle main menu visibility
Loading...
Searching...
No Matches
shader_layout.hpp
1
#pragma once
2
3
#include "
shader_reflection.hpp
"
4
5
#include <string_view>
6
#include <vector>
7
#include <vulkan/vulkan_raii.hpp>
8
9
namespace
renderer {
10
class
VulkanCore
;
11
12
class
ShaderLayout {
13
public
:
14
ShaderLayout() =
default
;
15
~ShaderLayout() =
default
;
16
17
void
rebuild(
const
VulkanCore
& core,
const
ShaderReflection
& reflection, std::string_view debug_name);
18
19
[[nodiscard]]
20
auto
getPipelineLayout()
const
->
const
vk::raii::PipelineLayout& {
21
return
m_pipeline_layout;
22
}
23
24
[[nodiscard]]
25
auto
getDescriptorSetLayouts()
const
->
const
std::vector<vk::raii::DescriptorSetLayout>& {
26
return
m_descriptor_set_layouts;
27
}
28
29
private
:
30
std::vector<vk::raii::DescriptorSetLayout> m_descriptor_set_layouts;
31
vk::raii::PipelineLayout m_pipeline_layout =
nullptr
;
32
std::vector<vk::PushConstantRange> m_push_constant_ranges;
33
};
34
}
renderer::VulkanCore
Definition
vulkan_core.hpp:48
shader_reflection.hpp
renderer::ShaderReflection
Definition
shader_reflection.hpp:87
engine
src
toast
renderer
shader_layout.hpp
Generated by
1.17.0