nCine::RHI::Vulkan::VulkanUniformBlockCache class

Caches the contents of a uniform block (aliased as RHI::UniformBlockCache).

Holds a pointer into a shared host data buffer mirroring the block's std140 layout and a VulkanUniformCache for each member, each pointing at its member offset within that buffer. The block is uploaded as one contiguous range by VulkanShaderUniformBlocks.

Constructors, destructors, conversion operators

VulkanUniformBlockCache()
VulkanUniformBlockCache(VulkanUniformBlock* uniformBlock) explicit

Public functions

auto uniformBlock() const -> const VulkanUniformBlock*
auto GetIndex() const -> std::uint32_t
auto GetBindingIndex() const -> std::int32_t
auto GetSize() const -> std::int32_t
auto GetAlignAmount() const -> std::uint8_t
auto GetDataPointer() -> std::uint8_t*
auto GetDataPointer() const -> const std::uint8_t*
void SetDataPointer(std::uint8_t* dataPointer)
auto usedSize() const -> std::int32_t
void SetUsedSize(std::int32_t usedSize)
auto CopyData(std::uint32_t destIndex, const std::uint8_t* src, std::uint32_t numBytes) -> bool
auto CopyData(const std::uint8_t* src) -> bool
auto GetUniform(StringView name) -> VulkanUniformCache*
Returns the member uniform cache with the specified name, or nullptr if not found.
void SetBlockBinding(std::int32_t blockBinding)