diff --git a/gfx/thebes/GLContext.cpp b/gfx/thebes/GLContext.cpp index 29220ef55f2..2ca6572dcaf 100644 --- a/gfx/thebes/GLContext.cpp +++ b/gfx/thebes/GLContext.cpp @@ -1030,14 +1030,14 @@ GLContext::ResizeOffscreenFBO(const gfxIntSize& aSize, const bool aUseReadFBO, c const int stencil = mCreationFormat.stencil; int samples = mCreationFormat.samples; - const bool useDrawMSFBO = (samples > 0) && SupportsFramebufferMultisample(); + if (!SupportsFramebufferMultisample() || aDisableAA) + samples = 0; + + const bool useDrawMSFBO = (samples > 0); if (!useDrawMSFBO && !aUseReadFBO) return true; - if (!useDrawMSFBO || aDisableAA) - samples = 0; - const bool firstTime = (mOffscreenDrawFBO == 0 && mOffscreenReadFBO == 0); GLuint curBoundFramebufferDraw = 0; diff --git a/gfx/thebes/GLContext.h b/gfx/thebes/GLContext.h index 0e20eb2ce23..fe12e2324be 100644 --- a/gfx/thebes/GLContext.h +++ b/gfx/thebes/GLContext.h @@ -1328,7 +1328,11 @@ protected: if (!mCreationFormat.samples) return false; - printf("ResizeOffscreenFBO failed with AA, retrying without...\n"); + + if (mDebugMode) { + printf_stderr("Requested level of multisampling is unavailable, continuing without multisampling\n"); + } + return ResizeOffscreenFBO(aSize, aUseReadFBO, true); } void DeleteOffscreenFBO();