summaryrefslogtreecommitdiff
path: root/indra/llrender
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2024-12-06 14:03:46 +0800
committerErik Kundiman <erik@megapahit.org>2024-12-06 14:03:46 +0800
commit70e36b3ff4673888a951f1f3487176ec3ca44fe5 (patch)
tree1fffba9d0bc5a643bfa388e7ccae54332bbd4a25 /indra/llrender
parentfda6acb4be1145ac1dc6c33859d8a65dcfa8aecb (diff)
parent37f92c1698cd0cef1aa3d8a21a13cd99510e86e9 (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.cpp1
-rw-r--r--indra/llrender/llgl.h1
-rw-r--r--indra/llrender/llrender.cpp11
-rw-r--r--indra/llrender/llrender.h1
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;