From 45a541d2d5ccff4279441c715d3f80890e71beb9 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Mon, 4 Mar 2019 08:04:18 -0800 Subject: SL-10566 Disable pre-cull of water causing refraction/reflection map generation more than is necessary. Re-org alpha draws to limit state changes based on render type. --- indra/newview/lldrawpoolalpha.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'indra/newview/lldrawpoolalpha.h') diff --git a/indra/newview/lldrawpoolalpha.h b/indra/newview/lldrawpoolalpha.h index d064a3a324..e0e7b19a17 100644 --- a/indra/newview/lldrawpoolalpha.h +++ b/indra/newview/lldrawpoolalpha.h @@ -75,6 +75,11 @@ private: LLGLSLShader* fullbright_shader; LLGLSLShader* emissive_shader; + void renderSimples(U32 mask, std::vector& simples); + void renderFullbrights(U32 mask, std::vector& fullbrights); + void renderMaterials(U32 mask, std::vector& fullbrights); + void renderEmissives(U32 mask, std::vector& emissives); + // our 'normal' alpha blend function for this pass LLRender::eBlendFactor mColorSFactor; LLRender::eBlendFactor mColorDFactor; -- cgit v1.2.3 From 3396b728d2167c41a6ce4a6ba9dfa1fc13db2333 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Tue, 5 Mar 2019 09:35:04 -0800 Subject: Don't rebuild reflection when only edge water patches are in play. Use (Restore)TexSetup for tex binding (should be equivalent now). Simplify uniform management in alpha drawpool loop. Fix wrong modelview mat being used for distortion map gen. --- indra/newview/lldrawpoolalpha.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/lldrawpoolalpha.h') diff --git a/indra/newview/lldrawpoolalpha.h b/indra/newview/lldrawpoolalpha.h index e0e7b19a17..200e7f45b9 100644 --- a/indra/newview/lldrawpoolalpha.h +++ b/indra/newview/lldrawpoolalpha.h @@ -80,6 +80,9 @@ private: void renderMaterials(U32 mask, std::vector& fullbrights); void renderEmissives(U32 mask, std::vector& emissives); + bool TexSetup(LLDrawInfo* draw, bool use_shaders, bool use_material, LLGLSLShader* current_shader); + void RestoreTexSetup(bool tex_setup); + // our 'normal' alpha blend function for this pass LLRender::eBlendFactor mColorSFactor; LLRender::eBlendFactor mColorDFactor; -- cgit v1.2.3 From 83941a5ec67bc006092f71664d213ecfa6ccf2b8 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Fri, 15 Mar 2019 13:05:56 -0700 Subject: Restore optimizations for fullbright/emissives with changes to fix lighting breakage when they're in play. --- indra/newview/lldrawpoolalpha.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/lldrawpoolalpha.h') diff --git a/indra/newview/lldrawpoolalpha.h b/indra/newview/lldrawpoolalpha.h index 200e7f45b9..a069f805e8 100644 --- a/indra/newview/lldrawpoolalpha.h +++ b/indra/newview/lldrawpoolalpha.h @@ -80,6 +80,9 @@ private: void renderMaterials(U32 mask, std::vector& fullbrights); void renderEmissives(U32 mask, std::vector& emissives); + void drawEmissive(U32 mask, LLDrawInfo* draw); + void drawEmissiveInline(U32 mask, LLDrawInfo* draw); + bool TexSetup(LLDrawInfo* draw, bool use_shaders, bool use_material, LLGLSLShader* current_shader); void RestoreTexSetup(bool tex_setup); -- cgit v1.2.3