diff options
author | Erik Kundiman <erik@megapahit.org> | 2024-11-26 12:05:25 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2024-11-26 12:05:25 +0800 |
commit | a40795bd6ffcfff71bead4869d79cf5a73d5a7af (patch) | |
tree | 6c4c1fbb421f737c0b62fcda51ca7ca0ce8294f4 /indra/llrender/llglslshader.cpp | |
parent | 30842e230e2b3d365e8415f0350f8d10ce8b0637 (diff) | |
parent | d65fb7cec8ce36ce7f6ff082f8d04bdd8bc0208c (diff) |
Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into 2024.09-ExtraFPS
Diffstat (limited to 'indra/llrender/llglslshader.cpp')
-rw-r--r-- | indra/llrender/llglslshader.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/indra/llrender/llglslshader.cpp b/indra/llrender/llglslshader.cpp index f6539b8d03..3d7bf500f1 100644 --- a/indra/llrender/llglslshader.cpp +++ b/indra/llrender/llglslshader.cpp @@ -1904,6 +1904,23 @@ void LLGLSLShader::uniform3f(const LLStaticHashedString& uniform, GLfloat x, GLf } } +void LLGLSLShader::uniform4f(const LLStaticHashedString& uniform, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + LL_PROFILE_ZONE_SCOPED_CATEGORY_SHADER; + GLint location = getUniformLocation(uniform); + + if (location >= 0) + { + const auto& iter = mValue.find(location); + LLVector4 vec(x, y, z, w); + if (iter == mValue.end() || shouldChange(iter->second, vec)) + { + glUniform4f(location, x, y, z, w); + mValue[location] = vec; + } + } +} + void LLGLSLShader::uniform1fv(const LLStaticHashedString& uniform, U32 count, const GLfloat* v) { LL_PROFILE_ZONE_SCOPED_CATEGORY_SHADER; |