Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
foray_shaderstagecreateinfos.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "../foray_basics.hpp"
4#include "../foray_vulkan.hpp"
5#include <vector>
6
7namespace foray::util {
11 {
12 public:
16
17 std::vector<VkPipelineShaderStageCreateInfo>* Get() { return &mShaderStageCreateInfos; };
18
19 ShaderStageCreateInfos& Add(VkShaderStageFlagBits flagBits, VkShaderModule shaderModule)
20 {
21 VkPipelineShaderStageCreateInfo shaderStageInfo{};
22 shaderStageInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
23 shaderStageInfo.stage = flagBits;
24 shaderStageInfo.module = shaderModule;
25 shaderStageInfo.pName = "main";
26 mShaderStageCreateInfos.push_back(shaderStageInfo);
27 return *this;
28 }
29
30 protected:
31 std::vector<VkPipelineShaderStageCreateInfo> mShaderStageCreateInfos;
32 };
33} // namespace foray::util
Helper to create a simple set of shader stage create infos, that all use main as shader start point....
Definition foray_shaderstagecreateinfos.hpp:11
ShaderStageCreateInfos & Add(VkShaderStageFlagBits flagBits, VkShaderModule shaderModule)
Definition foray_shaderstagecreateinfos.hpp:19
ShaderStageCreateInfos & operator=(const ShaderStageCreateInfos &)=delete
ShaderStageCreateInfos(const ShaderStageCreateInfos &)=delete
std::vector< VkPipelineShaderStageCreateInfo > * Get()
Definition foray_shaderstagecreateinfos.hpp:17
std::vector< VkPipelineShaderStageCreateInfo > mShaderStageCreateInfos
Definition foray_shaderstagecreateinfos.hpp:31
Definition foray_dualbuffer.hpp:5