8 #ifndef LLUVIA_CORE_PROGRAM_H_
9 #define LLUVIA_CORE_PROGRAM_H_
52 const std::shared_ptr<ll::vulkan::Device>& device,
53 const std::vector<uint8_t>& spirvCode);
72 const std::vector<uint8_t>&
getSpirV() const noexcept;
75 std::shared_ptr<
ll::vulkan::Device> m_device;
77 vk::ShaderModule m_module;
78 std::vector<uint8_t> m_spirvCode;
Class representing Vulkan shader modules in SPIR-V representation.
Definition: Program.h:37
const std::vector< uint8_t > & getSpirV() const noexcept
Gets the SPIR-V code of this object.
vk::ShaderModule getShaderModule() const noexcept
Gets the corresponding Vulkan shader module for this program object.
Program & operator=(const Program &program)=delete
Program & operator=(Program &&program)=delete
Program(const std::shared_ptr< ll::vulkan::Device > &device, const std::vector< uint8_t > &spirvCode)
Constructs the object from a Vulkan device and SPIR-V code.
Program(Program &&program)=delete
Program(const Program &program)=delete