diff options
author | Erik Kundiman <erik@megapahit.org> | 2024-12-06 14:03:46 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2024-12-06 14:03:46 +0800 |
commit | 70e36b3ff4673888a951f1f3487176ec3ca44fe5 (patch) | |
tree | 1fffba9d0bc5a643bfa388e7ccae54332bbd4a25 /indra/llrender | |
parent | fda6acb4be1145ac1dc6c33859d8a65dcfa8aecb (diff) | |
parent | 37f92c1698cd0cef1aa3d8a21a13cd99510e86e9 (diff) |
Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into 2024.09-ExtraFPS
Diffstat (limited to 'indra/llrender')
-rw-r--r-- | indra/llrender/llgl.cpp | 1 | ||||
-rw-r--r-- | indra/llrender/llgl.h | 1 | ||||
-rw-r--r-- | indra/llrender/llrender.cpp | 11 | ||||
-rw-r--r-- | indra/llrender/llrender.h | 1 |
4 files changed, 11 insertions, 3 deletions
diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index 6988e55034..17fa8f14a9 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -1266,6 +1266,7 @@ bool LLGLManager::initGL() glGetIntegerv(GL_MAX_SAMPLE_MASK_WORDS, &mMaxSampleMaskWords); #endif glGetIntegerv(GL_MAX_SAMPLES, &mMaxSamples); + glGetIntegerv(GL_MAX_VARYING_VECTORS, &mMaxVaryingVectors); glGetIntegerv(GL_MAX_UNIFORM_BLOCK_SIZE, &mMaxUniformBlockSize); // sanity clamp max uniform block size to 64k just in case diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h index f5b1e8d786..24ba4d6deb 100644 --- a/indra/llrender/llgl.h +++ b/indra/llrender/llgl.h @@ -88,6 +88,7 @@ public: S32 mGLMaxTextureSize; F32 mMaxAnisotropy = 0.f; S32 mMaxUniformBlockSize = 0; + S32 mMaxVaryingVectors = 0; // GL 4.x capabilities bool mHasCubeMapArray = false; diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index d333a3fd54..37e15b96c3 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -70,6 +70,7 @@ U32 LLTexUnit::sWhiteTexture = 0; bool LLRender::sGLCoreProfile = false; bool LLRender::sNsightDebugSupport = false; LLVector2 LLRender::sUIGLScaleFactor = LLVector2(1.f, 1.f); +bool LLRender::sClassicMode = false; struct LLVBCache { @@ -988,9 +989,13 @@ void LLRender::syncLightState() shader->uniform3fv(LLShaderMgr::LIGHT_DIFFUSE, LL_NUM_LIGHT_UNITS, diffuse[0].mV); shader->uniform3fv(LLShaderMgr::LIGHT_AMBIENT, 1, mAmbientLightColor.mV); shader->uniform1i(LLShaderMgr::SUN_UP_FACTOR, sun_primary[0] ? 1 : 0); - //shader->uniform3fv(LLShaderMgr::AMBIENT, 1, mAmbientLightColor.mV); - //shader->uniform3fv(LLShaderMgr::SUNLIGHT_COLOR, 1, diffuse[0].mV); - //shader->uniform3fv(LLShaderMgr::MOONLIGHT_COLOR, 1, diffuse_b[0].mV); + + if (sClassicMode) + { + shader->uniform3fv(LLShaderMgr::AMBIENT, 1, mAmbientLightColor.mV); + shader->uniform3fv(LLShaderMgr::SUNLIGHT_COLOR, 1, diffuse[0].mV); + shader->uniform3fv(LLShaderMgr::MOONLIGHT_COLOR, 1, diffuse_b[0].mV); + } } } diff --git a/indra/llrender/llrender.h b/indra/llrender/llrender.h index 7162ce51a4..97c47bcae9 100644 --- a/indra/llrender/llrender.h +++ b/indra/llrender/llrender.h @@ -496,6 +496,7 @@ public: static bool sGLCoreProfile; static bool sNsightDebugSupport; static LLVector2 sUIGLScaleFactor; + static bool sClassicMode; // classic sky mode active private: friend class LLLightState; |