diff --git a/indra/llwindow/llopenglview-objc.h b/indra/llwindow/llopenglview-objc.h index 41837b1eb489ff8427f5386bea59dc9aaee31ab8..1e0e47cd0211afe3a17ceaac859a1693d6e2047b 100644 --- a/indra/llwindow/llopenglview-objc.h +++ b/indra/llwindow/llopenglview-objc.h @@ -65,6 +65,7 @@ - (unsigned long) getVramSize; - (void) allowMarkedTextInput:(bool)allowed; +- (void) viewDidEndLiveResize; @end diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm index 5f34d03c350aa83b3026b678c4308764acad1a43..7415c9d8dcf3626032f9cb9c8717a2e6d9017e59 100644 --- a/indra/llwindow/llopenglview-objc.mm +++ b/indra/llwindow/llopenglview-objc.mm @@ -91,6 +91,13 @@ attributedStringInfo getSegments(NSAttributedString *str) @implementation LLOpenGLView +// Force a high quality update after live resizing +- (void) viewDidEndLiveResize +{ + NSSize size = [self frame].size; + callResize(size.width, size.height); +} + - (unsigned long)getVramSize { CGLRendererInfoObj info = 0; @@ -119,9 +126,8 @@ attributedStringInfo getSegments(NSAttributedString *str) - (void)windowResized:(NSNotification *)notification; { - NSSize size = [self frame].size; - - callResize(size.width, size.height); + //NSSize size = [self frame].size; + //callResize(size.width, size.height); } - (void)dealloc diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index f49395da349e57ef71a5d39b1b8e452ce1fffb7f..be5113680dc1b8fd9f4d36275c8111b8f6772602 100755 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -945,11 +945,13 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples) screenFormat = GL_RGBA12; } +#if !LL_DARWIN if (gGLManager.mGLVersion < 4.f && gGLManager.mIsNVIDIA) { screenFormat = GL_RGBA16F_ARB; } - +#endif + if (!mScreen.allocate(resX, resY, screenFormat, FALSE, FALSE, LLTexUnit::TT_RECT_TEXTURE, FALSE, samples)) return false; if (samples > 0) {