15 #include <vsg/state/ShaderModule.h>
29 ShaderStage(VkShaderStageFlagBits stage,
const std::string& entryPointName,
const ShaderModule::SPIRV&
spirv);
30 ShaderStage(VkShaderStageFlagBits stage,
const std::string& entryPointName,
const std::string& source,
const ShaderModule::SPIRV&
spirv);
32 using SpecializationConstants = std::map<uint32_t, vsg::ref_ptr<vsg::Data>>;
35 VkPipelineShaderStageCreateFlags flags = 0;
36 VkShaderStageFlagBits stage = {};
38 std::string entryPointName;
39 SpecializationConstants specializationConstants;
42 static ref_ptr<ShaderStage> read(VkShaderStageFlagBits stage,
const std::string& entryPointName, std::istream& fin, ref_ptr<const Options> options = {});
46 void read(
Input& input)
override;
47 void write(
Output& output)
const override;
49 void apply(
Context& context, VkPipelineShaderStageCreateInfo& stageInfo)
const;
59 using ShaderStages = std::vector<ref_ptr<ShaderStage>>;
ShaderStage encapsulates to VkPipelineShaderStageCreateInfo settings passed when setting up GraphicsP...
Definition: ShaderStage.h:24
int compare(const Object &rhs_object) const override
compare two objects, return -1 if this object is less than rhs, return 0 if it's equal,...
ReaderWriter for reading and writing spirv shader files.
Definition: spirv.h:35