nCine::RHI::GS::GsUniformBlockCache 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 GsUniformCache for each member, each pointing at its member offset within that buffer. The block is published as one contiguous range by GsShaderUniformBlocks, which the draw dispatch decodes.

Constructors, destructors, conversion operators

GsUniformBlockCache()
GsUniformBlockCache(GsUniformBlock* uniformBlock) explicit

Public functions

auto uniformBlock() const -> const GsUniformBlock*
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) -> GsUniformCache*
Returns the member uniform cache with the specified name, or nullptr if not found.
void SetBlockBinding(std::int32_t blockBinding)