From 1142ccba035afbe75ab707a81633c6cc26515848 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 27 Apr 2014 12:42:01 -0400 Subject: fixed renderer to use correct framebuffer location --- src/video_core/renderer_opengl/renderer_opengl.cpp | 11 +++++------ src/video_core/renderer_opengl/renderer_opengl.h | 4 ++-- 2 files changed, 7 insertions(+), 8 deletions(-) (limited to 'src/video_core/renderer_opengl') diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp index cf7b029a..b63a73d1 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.cpp +++ b/src/video_core/renderer_opengl/renderer_opengl.cpp @@ -53,12 +53,11 @@ void RendererOpenGL::SwapBuffers() { /** * Helper function to flip framebuffer from left-to-right to top-to-bottom - * @param addr Address of framebuffer in RAM + * @param in Pointer to input raw framebuffer in V/RAM * @param out Pointer to output buffer with flipped framebuffer * @todo Early on hack... I'd like to find a more efficient way of doing this /bunnei */ -void RendererOpenGL::FlipFramebuffer(u32 addr, u8* out) { - u8* in = Memory::GetPointer(addr); +void RendererOpenGL::FlipFramebuffer(const u8* in, u8* out) { for (int y = 0; y < VideoCore::kScreenTopHeight; y++) { for (int x = 0; x < VideoCore::kScreenTopWidth; x++) { int in_coord = (VideoCore::kScreenTopHeight * 3 * x) + (VideoCore::kScreenTopHeight * 3) @@ -77,10 +76,10 @@ void RendererOpenGL::FlipFramebuffer(u32 addr, u8* out) { * @param src_rect Source rectangle in XFB to copy * @param dst_rect Destination rectangle in output framebuffer to copy to */ -void RendererOpenGL::RenderXFB(const Rect& src_rect, const Rect& dst_rect) { +void RendererOpenGL::RenderXFB(const Rect& src_rect, const Rect& dst_rect) { - FlipFramebuffer(LCD::TOP_RIGHT_FRAME1, m_xfb_top_flipped); - FlipFramebuffer(LCD::SUB_FRAME1, m_xfb_bottom_flipped); + FlipFramebuffer(LCD::GetFramebufferPointer(LCD::g_regs.framebuffer_top_left_1), m_xfb_top_flipped); + FlipFramebuffer(LCD::GetFramebufferPointer(LCD::g_regs.framebuffer_sub_left_1), m_xfb_bottom_flipped); // Blit the top framebuffer // ------------------------ diff --git a/src/video_core/renderer_opengl/renderer_opengl.h b/src/video_core/renderer_opengl/renderer_opengl.h index 00aa1764..676a0ea0 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.h +++ b/src/video_core/renderer_opengl/renderer_opengl.h @@ -55,11 +55,11 @@ private: /** * Helper function to flip framebuffer from left-to-right to top-to-bottom - * @param addr Address of framebuffer in RAM + * @param in Pointer to input raw framebuffer in V/RAM * @param out Pointer to output buffer with flipped framebuffer * @todo Early on hack... I'd like to find a more efficient way of doing this /bunnei */ - void RendererOpenGL::FlipFramebuffer(u32 addr, u8* out); + void RendererOpenGL::FlipFramebuffer(const u8* in, u8* out); EmuWindow* m_render_window; ///< Handle to render window -- cgit v1.2.3