Kaynağa Gözat

Fixed noise.

Pacemaker 9 yıl önce
ebeveyn
işleme
34822357b4
2 değiştirilmiş dosya ile 116 ekleme ve 118 silme
  1. 107 109
      src/glcontext_eagl.mm
  2. 9 9
      src/renderer_gl.cpp

+ 107 - 109
src/glcontext_eagl.mm

@@ -30,127 +30,125 @@ namespace bgfx { namespace gl
 			_layer.opaque = true;
 
 			_layer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys
-                                        : [NSNumber numberWithBool:false]
-                                        , kEAGLDrawablePropertyRetainedBacking
-                                        , kEAGLColorFormatRGBA8
-                                        , kEAGLDrawablePropertyColorFormat
-                                        , nil
-                                        ];
+											: [NSNumber numberWithBool:false]
+											, kEAGLDrawablePropertyRetainedBacking
+											, kEAGLColorFormatRGBA8
+											, kEAGLDrawablePropertyColorFormat
+											, nil];
 
+			[EAGLContext setCurrentContext:_context];
 
-            [EAGLContext setCurrentContext:_context];
+			GL_CHECK(glGenFramebuffers(1, &m_fbo) );
+			GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, m_fbo) );
 
-            GL_CHECK(glGenFramebuffers(1, &m_fbo) );
-            GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, m_fbo) );
+			GL_CHECK(glGenRenderbuffers(1, &m_colorRbo) );
+			GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_colorRbo) );
 
-            GL_CHECK(glGenRenderbuffers(1, &m_colorRbo) );
-            GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_colorRbo) );
+			[_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:_layer];
+			GL_CHECK(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, m_colorRbo) );
 
-            [_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:_layer];
-            GL_CHECK(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, m_colorRbo) );
+			GLint width;
+			GLint height;
+			GL_CHECK(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &width) );
+			GL_CHECK(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &height) );
+			BX_TRACE("Screen size: %d x %d", width, height);
 
-            GLint width;
-            GLint height;
-            GL_CHECK(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &width) );
-            GL_CHECK(glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &height) );
-            BX_TRACE("Screen size: %d x %d", width, height);
+			m_width = width;
+			m_height = height;
+			m_layer = _layer;
 
-            m_width = width;
-            m_height = height;
-            m_layer = _layer;
-
-            createFrameBuffers(m_width, m_height);
+			createFrameBuffers(m_width, m_height);
 		}
 
 		~SwapChainGL()
 		{
-            destroyFrameBuffers();
+			destroyFrameBuffers();
 		}
 
-        void destroyFrameBuffers()
-        {
-            GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, 0) );
-            GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, 0) );
-            GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, 0) );
-            if (0 != m_fbo)
-            {
-                GL_CHECK(glDeleteFramebuffers(1, &m_fbo) );
-                m_fbo = 0;
-            }
-
-            if (0 != m_colorRbo)
-            {
-                GL_CHECK(glDeleteRenderbuffers(1, &m_colorRbo) );
-                m_colorRbo = 0;
-            }
-
-            if (0 != m_depthStencilRbo)
-            {
-                GL_CHECK(glDeleteRenderbuffers(1, &m_depthStencilRbo) );
-                m_depthStencilRbo = 0;
-            }
-        }
-
-        void createFrameBuffers(GLint _width, GLint _height)
-        {
-            GL_CHECK(glGenRenderbuffers(1, &m_depthStencilRbo) );
-            GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_depthStencilRbo) );
-            GL_CHECK(glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8_OES, _width, _height) ); // from OES_packed_depth_stencil
-            GL_CHECK(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, m_depthStencilRbo) );
-            GL_CHECK(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, m_depthStencilRbo) );
-
-            BX_CHECK(GL_FRAMEBUFFER_COMPLETE ==  glCheckFramebufferStatus(GL_FRAMEBUFFER)
-                     , "glCheckFramebufferStatus failed 0x%08x"
-                     , glCheckFramebufferStatus(GL_FRAMEBUFFER)
-                     );
-
-            makeCurrent();
-            GL_CHECK(glClearColor(0.0f, 0.0f, 0.0f, 0.0f) );
-            GL_CHECK(glClear(GL_COLOR_BUFFER_BIT) );
-            swapBuffers();
-            GL_CHECK(glClear(GL_COLOR_BUFFER_BIT) );
-            swapBuffers();
-        }
+		void destroyFrameBuffers()
+		{
+			GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, 0) );
+			GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, 0) );
+			GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, 0) );
+			if (0 != m_fbo)
+			{
+			    GL_CHECK(glDeleteFramebuffers(1, &m_fbo) );
+			    m_fbo = 0;
+			}
+
+			if (0 != m_colorRbo)
+			{
+			    GL_CHECK(glDeleteRenderbuffers(1, &m_colorRbo) );
+			    m_colorRbo = 0;
+			}
+
+			if (0 != m_depthStencilRbo)
+			{
+			    GL_CHECK(glDeleteRenderbuffers(1, &m_depthStencilRbo) );
+			    m_depthStencilRbo = 0;
+			}
+		}
+
+		void createFrameBuffers(GLint _width, GLint _height)
+		{
+			GL_CHECK(glGenRenderbuffers(1, &m_depthStencilRbo) );
+			GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_depthStencilRbo) );
+			GL_CHECK(glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8_OES, _width, _height) ); // from OES_packed_depth_stencil
+			GL_CHECK(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, m_depthStencilRbo) );
+			GL_CHECK(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, m_depthStencilRbo) );
+
+			BX_CHECK(GL_FRAMEBUFFER_COMPLETE ==  glCheckFramebufferStatus(GL_FRAMEBUFFER)
+						, "glCheckFramebufferStatus failed 0x%08x"
+						, glCheckFramebufferStatus(GL_FRAMEBUFFER)
+						);
+
+			makeCurrent();
+			GL_CHECK(glClearColor(0.0f, 0.0f, 0.0f, 0.0f) );
+			GL_CHECK(glClear(GL_COLOR_BUFFER_BIT) );
+			swapBuffers();
+			GL_CHECK(glClear(GL_COLOR_BUFFER_BIT) );
+			swapBuffers();
+		}
 
 		void makeCurrent()
 		{
-            [EAGLContext setCurrentContext:m_context];
-            GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, m_fbo) );
+			[EAGLContext setCurrentContext:m_context];
+			GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, m_fbo) );
 
-            GLint newWidth = m_layer.bounds.size.width*[UIScreen mainScreen].scale;
-            GLint newHeight = m_layer.bounds.size.height*[UIScreen mainScreen].scale;
-            resize(newWidth, newHeight);
+			GLint newWidth = m_layer.bounds.size.width*[UIScreen mainScreen].scale;
+			GLint newHeight = m_layer.bounds.size.height*[UIScreen mainScreen].scale;
+			resize(newWidth, newHeight);
 		}
 
-        void resize(GLint _width, GLint _height)
-        {
-            if(m_width == _width && m_height == _height)
-            {
-                return;
-            }
+		void resize(GLint _width, GLint _height)
+		{
+			if(m_width == _width && m_height == _height)
+			{
+				return;
+			}
 
-            destroyFrameBuffers();
+			destroyFrameBuffers();
 
-            m_width = _width;
-            m_height = _height;
+			m_width = _width;
+			m_height = _height;
 
-            createFrameBuffers(m_width, m_height);
-        }
+			createFrameBuffers(m_width, m_height);
+		}
 
 		void swapBuffers()
 		{
-            GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_colorRbo) );
-            [m_context presentRenderbuffer:GL_RENDERBUFFER];
+			GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_colorRbo) );
+			[m_context presentRenderbuffer:GL_RENDERBUFFER];
 		}
 
 		EAGLContext* m_context;
 
-        CAEAGLLayer *m_layer;
+		CAEAGLLayer *m_layer;
 		GLuint m_fbo;
 		GLuint m_colorRbo;
 		GLuint m_depthStencilRbo;
-        GLint m_width;
-        GLint m_height;
+		GLint m_width;
+		GLint m_height;
 	};
 
 	void GlContext::create(uint32_t _width, uint32_t _height)
@@ -201,12 +199,12 @@ namespace bgfx { namespace gl
 			, glCheckFramebufferStatus(GL_FRAMEBUFFER)
 			);
 
-        makeCurrent();
-        GL_CHECK(glClearColor(0.0f, 0.0f, 0.0f, 0.0f) );
-        GL_CHECK(glClear(GL_COLOR_BUFFER_BIT) );
-        swap(NULL);
-        GL_CHECK(glClear(GL_COLOR_BUFFER_BIT) );
-        swap(NULL);
+		makeCurrent();
+		GL_CHECK(glClearColor(0.0f, 0.0f, 0.0f, 0.0f) );
+		GL_CHECK(glClear(GL_COLOR_BUFFER_BIT) );
+		swap(NULL);
+		GL_CHECK(glClear(GL_COLOR_BUFFER_BIT) );
+		swap(NULL);
 
 		import();
 
@@ -306,18 +304,18 @@ namespace bgfx { namespace gl
 
 	void GlContext::swap(SwapChainGL* _swapChain)
 	{
-        makeCurrent(_swapChain);
-
-        if (NULL == _swapChain)
-        {
-            GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_colorRbo) );
-            EAGLContext* context = (EAGLContext*)m_context;
-            [context presentRenderbuffer:GL_RENDERBUFFER];
-        }
-        else
-        {
-            _swapChain->swapBuffers();
-        }
+		makeCurrent(_swapChain);
+
+		if (NULL == _swapChain)
+		{
+			GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_colorRbo) );
+			EAGLContext* context = (EAGLContext*)m_context;
+			[context presentRenderbuffer:GL_RENDERBUFFER];
+		}
+		else
+		{
+		    _swapChain->swapBuffers();
+		}
 	}
 
 	void GlContext::makeCurrent(SwapChainGL* _swapChain)
@@ -328,8 +326,8 @@ namespace bgfx { namespace gl
 
 			if (NULL == _swapChain)
 			{
-                [EAGLContext setCurrentContext:(EAGLContext*)m_context];
-                GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, m_fbo) );
+				[EAGLContext setCurrentContext:(EAGLContext*)m_context];
+				GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, m_fbo) );
 			}
 			else
 			{

+ 9 - 9
src/renderer_gl.cpp

@@ -2562,15 +2562,15 @@ namespace bgfx { namespace gl
 			{
 				FrameBufferGL& frameBuffer = m_frameBuffers[_fbh.idx];
 				_height = frameBuffer.m_height;
-                if (UINT16_MAX != frameBuffer.m_denseIdx)
-                {
-                    m_glctx.makeCurrent(frameBuffer.m_swapChain);
-                }
-                else
-                {
-                    m_glctx.makeCurrent(NULL);
-                    GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, frameBuffer.m_fbo[0]) );
-                }
+				if (UINT16_MAX != frameBuffer.m_denseIdx)
+				{
+					m_glctx.makeCurrent(frameBuffer.m_swapChain);
+				}
+				else
+				{
+					m_glctx.makeCurrent(NULL);
+					GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, frameBuffer.m_fbo[0]) );
+				}
 			}
 
 			m_fbh       = _fbh;