VulkanShaderUniforms class
Manages the loose-uniform caches of a program (aliased as RHI::ShaderUniforms).
Owns a VulkanUniformCache 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
Constructors, destructors, conversion operators
- VulkanShaderUniforms()
- VulkanShaderUniforms(VulkanShaderProgram* shaderProgram) explicit
- VulkanShaderUniforms(VulkanShaderProgram* shaderProgram, const char* includeOnly, const char* exclude)
Public functions
- void SetProgram(VulkanShaderProgram* shaderProgram)
- void SetProgram(VulkanShaderProgram* 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) -> VulkanUniformCache*
- auto GetAllUniforms() const -> const UniformHashMapType&
- Returns the container of all managed uniform caches (range-iterates as
VulkanUniformCache&). - void MarkDirty()
- void CommitUniforms()