From 8251e1200dc248e9a6deb5373d3c3af022bd455c Mon Sep 17 00:00:00 2001 From: RunitaiLinden Date: Mon, 22 May 2023 16:31:09 -0500 Subject: SL-19746 Fix for transparent HUDs showing the wrong texture. --- indra/newview/lldrawpoolalpha.cpp | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) (limited to 'indra') 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(¶ms, (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; -- cgit v1.2.3