Browse Source

Renderer: Fix component order in bottom framebuffer.

Tony Wasserka 12 years ago
parent
commit
c6fdeb7b23

+ 1 - 1
src/video_core/renderer_opengl/renderer_opengl.cpp

@@ -124,7 +124,7 @@ void RendererOpenGL::RenderXFB(const common::Rect& src_rect, const common::Rect&
     // Update textures with contents of XFB in RAM - bottom
     // Update textures with contents of XFB in RAM - bottom
     glBindTexture(GL_TEXTURE_2D, m_xfb_texture_bottom);
     glBindTexture(GL_TEXTURE_2D, m_xfb_texture_bottom);
     glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, VideoCore::kScreenTopWidth, VideoCore::kScreenTopHeight,
     glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, VideoCore::kScreenTopWidth, VideoCore::kScreenTopHeight,
-        GL_RGB, GL_UNSIGNED_BYTE, m_xfb_bottom_flipped);
+        GL_BGR, GL_UNSIGNED_BYTE, m_xfb_bottom_flipped);
     glBindTexture(GL_TEXTURE_2D, 0);
     glBindTexture(GL_TEXTURE_2D, 0);
 
 
     // Render target is destination framebuffer
     // Render target is destination framebuffer

+ 3 - 4
src/video_core/renderer_opengl/renderer_opengl.h

@@ -84,7 +84,6 @@ private:
     // "Flipped" framebuffers translate scanlines from native 3DS left-to-right to top-to-bottom
     // "Flipped" framebuffers translate scanlines from native 3DS left-to-right to top-to-bottom
     // as OpenGL expects them in a texture. There probably is a more efficient way of doing this:
     // as OpenGL expects them in a texture. There probably is a more efficient way of doing this:
 
 
-    u8 m_xfb_top_flipped[VideoCore::kScreenTopWidth * VideoCore::kScreenTopWidth * 4]; 
-    u8 m_xfb_bottom_flipped[VideoCore::kScreenTopWidth * VideoCore::kScreenTopWidth * 4];   
-
-};
+    u8 m_xfb_top_flipped[VideoCore::kScreenTopWidth * VideoCore::kScreenTopHeight * 4];
+    u8 m_xfb_bottom_flipped[VideoCore::kScreenBottomWidth * VideoCore::kScreenBottomHeight * 4];
+};