summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorRunitaiLinden <davep@lindenlab.com>2023-05-22 16:31:09 -0500
committerRunitaiLinden <davep@lindenlab.com>2023-05-22 16:31:09 -0500
commit8251e1200dc248e9a6deb5373d3c3af022bd455c (patch)
treeaceb7936c1de9d7fc54040c62061aa19d07151cc /indra
parentc6fc951f34c665d0f1cd6dcff1bea114fb0ff1a0 (diff)
SL-19746 Fix for transparent HUDs showing the wrong texture.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/lldrawpoolalpha.cpp23
1 files changed, 4 insertions, 19 deletions
diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp
index 5b158d857a..67bc0463c8 100644
--- a/indra/newview/lldrawpoolalpha.cpp
+++ b/indra/newview/lldrawpoolalpha.cpp
@@ -58,8 +58,6 @@ BOOL LLDrawPoolAlpha::sShowDebugAlpha = FALSE;
LLVector4 LLDrawPoolAlpha::sWaterPlane;
-static BOOL deferred_render = FALSE;
-
// minimum alpha before discarding a fragment
static const F32 MINIMUM_ALPHA = 0.004f; // ~ 1/255
@@ -155,7 +153,6 @@ void LLDrawPoolAlpha::renderPostDeferred(S32 pass)
{ // don't render alpha objects on the other side of the water plane if water is opaque
return;
}
- deferred_render = TRUE;
F32 water_sign = 1.f;
@@ -232,8 +229,6 @@ void LLDrawPoolAlpha::renderPostDeferred(S32 pass)
gGL.setColorMask(true, false);
}
-
- deferred_render = FALSE;
}
void LLDrawPoolAlpha::forwardRender(bool rigged)
@@ -411,7 +406,7 @@ bool LLDrawPoolAlpha::TexSetup(LLDrawInfo* draw, bool use_material)
}
else
{
- if (deferred_render && use_material && current_shader)
+ if (!LLPipeline::sRenderingHUDs && use_material && current_shader)
{
if (draw->mNormalMap)
{
@@ -691,10 +686,7 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, bool depth_only, bool rigged)
}
else
{
- if (deferred_render)
- {
- mat = params.mMaterial;
- }
+ mat = LLPipeline::sRenderingHUDs ? nullptr : params.mMaterial;
if (params.mFullbright)
{
@@ -719,7 +711,7 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, bool depth_only, bool rigged)
{
target_shader = fullbright_shader;
}
- else if (deferred_render && mat)
+ else if (mat)
{
U32 mask = params.mShaderMask;
@@ -766,7 +758,7 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, bool depth_only, bool rigged)
F32 brightness = 1.0f;
// We have a material. Supply the appropriate data here.
- if (mat && deferred_render)
+ if (mat)
{
spec_color = params.mSpecColor;
env_intensity = params.mEnvIntensity;
@@ -781,11 +773,6 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, bool depth_only, bool rigged)
}
}
- //if (params.mGroup) // TOO LATE
- //{
- // params.mGroup->rebuildMesh();
- //}
-
if (params.mAvatar != nullptr)
{
if (lastAvatar != params.mAvatar ||
@@ -805,8 +792,6 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, bool depth_only, bool rigged)
bool tex_setup = TexSetup(&params, (mat != nullptr));
{
- //LLGLEnableFunc stencil_test(GL_STENCIL_TEST, params.mSelected, &LLGLCommonFunc::selected_stencil_test);
-
gGL.blendFunc((LLRender::eBlendFactor) params.mBlendFuncSrc, (LLRender::eBlendFactor) params.mBlendFuncDst, mAlphaSFactor, mAlphaDFactor);
bool reset_minimum_alpha = false;