From 032b788fb0a2cfb1b2b0840b26dda9f991fd1f36 Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@alchemyviewer.org> Date: Tue, 7 Mar 2023 00:23:15 -0500 Subject: [PATCH] Fix heap corruption --- indra/llappearance/lltexlayer.cpp | 2 +- indra/newview/lldrawpoolavatar.cpp | 10 +--------- indra/newview/pipeline.cpp | 7 ++++--- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/indra/llappearance/lltexlayer.cpp b/indra/llappearance/lltexlayer.cpp index 0d6dc81a161..813086d5ac8 100644 --- a/indra/llappearance/lltexlayer.cpp +++ b/indra/llappearance/lltexlayer.cpp @@ -991,7 +991,7 @@ LLTexLayer::~LLTexLayer() for (auto& iter : mAlphaCache) { U8* alpha_data = iter.second; - delete [] alpha_data; + ll_aligned_free_32(alpha_data); } } diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 8c5ef5aefbf..d0963150206 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -230,15 +230,7 @@ void LLDrawPoolAvatar::beginPostDeferredPass(S32 pass) sSkipOpaque = TRUE; sShaderLevel = mShaderLevel; - //if (LLPipeline::sUnderWaterRender) - //{ - // sVertexProgram = &gDeferredAvatarAlphaWaterProgram; - //} - //else - { - sVertexProgram = &gDeferredAvatarAlphaProgram; - } - + sVertexProgram = &gDeferredAvatarAlphaProgram; sRenderingSkinned = TRUE; gPipeline.bindDeferredShader(*sVertexProgram); diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 27669e813ed..f90f3fc6391 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -8215,7 +8215,7 @@ void LLPipeline::renderDeferredLighting() LLVector4a sa; sa.splat(s); - if (camera->AABBInFrustumNoFarClip(center, sa) == 0) + if (camera->AABBInFrustumNoFarClip(center, sa) == 0) { continue; } @@ -8242,7 +8242,7 @@ void LLPipeline::renderDeferredLighting() gDeferredLightProgram.uniform1f(LLShaderMgr::LIGHT_FALLOFF, volume->getLightFalloff(DEFERRED_LIGHT_FALLOFF)); gGL.syncMatrices(); - mCubeVB->drawRange(LLRender::TRIANGLE_FAN, 0, 7, 8, get_box_fan_indices(camera, center)); + mCubeVB->drawRange(LLRender::TRIANGLE_FAN, 0, 7, 8, get_box_fan_indices(camera, center)); stop_glerror(); } } @@ -8304,7 +8304,7 @@ void LLPipeline::renderDeferredLighting() gDeferredSpotLightProgram.uniform1f(LLShaderMgr::LIGHT_FALLOFF, volume->getLightFalloff(DEFERRED_LIGHT_FALLOFF)); gGL.syncMatrices(); - mCubeVB->drawRange(LLRender::TRIANGLE_FAN, 0, 7, 8, get_box_fan_indices(camera, center)); + mCubeVB->drawRange(LLRender::TRIANGLE_FAN, 0, 7, 8, get_box_fan_indices(camera, center)); } gDeferredSpotLightProgram.disableTexture(LLShaderMgr::DEFERRED_PROJECTION); unbindDeferredShader(gDeferredSpotLightProgram); @@ -9312,6 +9312,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera) lightDir.normVec(); //create light space camera matrix + LLVector3 at = lightDir; LLVector3 up = camera.getAtAxis(); -- GitLab