core::ivk::pipeline class

encapsulated the concept of a graphics pipeline on the GPU

member-functions

has_pushconstants
const public noexcept
vkPipeline
const public noexcept
vkLayout
const public noexcept
vkDescriptorSet
const public noexcept
get
public
update
public
update
public
update
public

Function documentation

bool core::ivk::pipeline::has_pushconstants() const noexcept

Returns if the pipeline uses any push constants.

vk::Pipeline core::ivk::pipeline::vkPipeline() const noexcept

Returns the vulkan pipeline object of this instance.

vk::PipelineLayout core::ivk::pipeline::vkLayout() const noexcept

Returns the vulkan pipeline layout of this instance.

vk::DescriptorSet const* core::ivk::pipeline::vkDescriptorSet() const noexcept

Returns the allocated descriptor set for this instance.

bool core::ivk::pipeline::get(uint32_t bindingLocation, vk::WriteDescriptorSet& out)

Parameters
bindingLocation in the binding location to check.
out out the resulting descriptor set.
Returns true if there was a binding at that binding location.

bool core::ivk::pipeline::update(uint32_t bindingLocation, vk::WriteDescriptorSet descriptor)

Parameters
bindingLocation in the binding location to update.
descriptor in the new information to emplace at the location.
Returns if updating that binding location was successful. It has to be a binding point that exists, and is of the correct type, otherwise it returns false.

bool core::ivk::pipeline::update(uint32_t bindingLocation, const psl::UID& textureMeta, const psl::UID& samplerMeta)

Parameters
bindingLocation in the binding location to update.
textureMeta in the new texture to bind to that location.
samplerMeta in the new sampler to bind to that location.
Returns if updating that binding location was successful. It has to be a eCombinedImageSampler descriptor binding point to be successful.

bool core::ivk::pipeline::update(uint32_t bindingLocation, vk::DeviceSize offset, vk::DeviceSize range)

Parameters
bindingLocation in the binding location to update.
offset in the new offset of the buffer binding.
range in the new size of the buffer binding.
Returns if updating that binding location was successful. It has to be an eStorageBuffer or eUniformBuffer descriptor binding point to be successful.