RsxShaderUniforms class
Manages the loose-uniform caches of a program (aliased as RHI::ShaderUniforms).
Owns a RsxUniformCache for every active uniform of a program that is not part of a block, distributes a shared host data buffer across them, and on CommitUniforms() publishes every dirty value to the program. The managed set can be restricted to an include-only or exclude list of null-separated names.
Public types
- using UniformHashMapType = SmallVector<RsxUniformCache, 0>
Constructors, destructors, conversion operators
- RsxShaderUniforms()
- RsxShaderUniforms(RsxShaderProgram* shaderProgram) explicit
- RsxShaderUniforms(RsxShaderProgram* shaderProgram, const char* includeOnly, const char* exclude)
Public functions
- void SetProgram(RsxShaderProgram* shaderProgram)
- void SetProgram(RsxShaderProgram* shaderProgram, const char* includeOnly, const char* exclude)
-
void SetUniformsDataPointer(std::
uint8_t* dataPointer) - void SetDirty(bool isDirty)
-
auto GetUniformCount() const -> std::
uint32_t - auto HasUniform(const char* name) const -> bool
- auto GetUniform(const char* name) -> RsxUniformCache*
- auto GetAllUniforms() const -> const UniformHashMapType&
- Returns the container of all managed uniform caches (range-iterates as
RsxUniformCache&). - void MarkDirty()
- void CommitUniforms()