From 0a755e1b9bf167c61bf43935e1f2b6a43f64faae Mon Sep 17 00:00:00 2001 From: rachytski Date: Wed, 15 Jun 2011 00:48:55 +0300 Subject: [PATCH] fixed trash-texture upon application start. --- iphone/Maps/Classes/EAGLView.mm | 8 +++++++- map/framework.cpp | 7 +++++++ yg/renderbuffer.cpp | 8 ++++---- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/iphone/Maps/Classes/EAGLView.mm b/iphone/Maps/Classes/EAGLView.mm index b39e4e64fc..0b54e172da 100644 --- a/iphone/Maps/Classes/EAGLView.mm +++ b/iphone/Maps/Classes/EAGLView.mm @@ -103,7 +103,7 @@ GetPlatform().ReadPathForFile("unicode_blocks.txt").c_str(), GetPlatform().ReadPathForFile("fonts_whitelist.txt").c_str(), GetPlatform().ReadPathForFile("fonts_blacklist.txt").c_str(), - 2 * 1024 * 1024, + 1 * 1024 * 1024, 500 * 1024, fmt, !yg::gl::g_isBufferObjectsSupported, @@ -143,6 +143,12 @@ frameBuffer->setRenderTarget(renderBuffer); frameBuffer->onSize(width, height); drawer->onSize(width, height); + + + drawer->screen()->beginFrame(); + drawer->screen()->clear(); + drawer->screen()->endFrame(); + } - (void)drawView diff --git a/map/framework.cpp b/map/framework.cpp index dc82bd4a46..25ce1724c8 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -894,6 +894,13 @@ void FrameWork::AddRedrawCommandSure() OGLCHECK(glPopMatrix()); } + else + { + e->drawer()->screen()->beginFrame(); + e->drawer()->screen()->clear(m_bgColor); + e->drawer()->screen()->endFrame(); + LOG(LINFO, ("no actual target. just clearing")); + } } } diff --git a/yg/renderbuffer.cpp b/yg/renderbuffer.cpp index 9fbc7d7a2e..ecb5f7e5ba 100644 --- a/yg/renderbuffer.cpp +++ b/yg/renderbuffer.cpp @@ -49,7 +49,7 @@ namespace yg makeCurrent(); GLenum target = GL_RENDERBUFFER_OES; - GLenum internalFormat = m_isDepthBuffer ? GL_DEPTH_COMPONENT16_OES : GL_RGBA8_OES; + GLenum internalFormat = m_isDepthBuffer ? GL_DEPTH_COMPONENT24_OES : GL_RGBA8_OES; /// @TODO: fix for android #ifndef OMIM_OS_ANDROID @@ -62,7 +62,7 @@ namespace yg else #endif OGLCHECK(glRenderbufferStorageOES(GL_RENDERBUFFER_OES, - m_isDepthBuffer ? GL_DEPTH_COMPONENT16_OES : GL_RGBA8_OES, + internalFormat, width, height)); #else @@ -70,7 +70,7 @@ namespace yg makeCurrent(); GLenum target = GL_RENDERBUFFER_EXT; - GLenum internalFormat = m_isDepthBuffer ? GL_DEPTH_COMPONENT16 : GL_RGBA; + GLenum internalFormat = m_isDepthBuffer ? GL_DEPTH_COMPONENT24 : GL_RGBA8; if (m_isMultiSampled) OGLCHECK(glRenderbufferStorageMultisample(target, @@ -80,7 +80,7 @@ namespace yg height)); else OGLCHECK(glRenderbufferStorageEXT(target, - m_isDepthBuffer ? GL_DEPTH_COMPONENT16 : GL_RGBA, + internalFormat, width, height));