From 99dbc2dcdc61f39c6d13f778d7e65544aa3c5461 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Thu, 20 Aug 2026 20:10:37 +0300 Subject: #6163 Crash on LLImageGL::scaleDown(int) --- indra/llrender/llimagegl.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'indra/llrender/llimagegl.cpp') diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index fafc92b5d0..81743713a1 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -2583,6 +2583,12 @@ bool LLImageGL::scaleDown(S32 desired_discard) { glDrawArrays(GL_TRIANGLES, 0, 3); +#if LL_DARWIN + // On mac OS, flush before freeing, otherwise the texture may be + // freed before Metal's 'lazy' evaluation/restoration behavior triggers. + glFlush(); +#endif + free_tex_image(mTexName); glTexImage2D(mTarget, 0, mFormatInternal, desired_width, desired_height, 0, mFormatPrimary, mFormatType, nullptr); glCopyTexSubImage2D(mTarget, 0, 0, 0, 0, 0, desired_width, desired_height); -- cgit v1.3