mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	fixed renderer to use correct framebuffer location
This commit is contained in:
		
							parent
							
								
									a6c925112a
								
							
						
					
					
						commit
						1142ccba03
					
				
					 2 changed files with 7 additions and 8 deletions
				
			
		|  | @ -53,12 +53,11 @@ void RendererOpenGL::SwapBuffers() { | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  * Helper function to flip framebuffer from left-to-right to top-to-bottom |  * 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 |  * @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 |  * @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) { | ||||||
|     u8* in = Memory::GetPointer(addr); |  | ||||||
|     for (int y = 0; y < VideoCore::kScreenTopHeight; y++) { |     for (int y = 0; y < VideoCore::kScreenTopHeight; y++) { | ||||||
|         for (int x = 0; x < VideoCore::kScreenTopWidth; x++) { |         for (int x = 0; x < VideoCore::kScreenTopWidth; x++) { | ||||||
|             int in_coord = (VideoCore::kScreenTopHeight * 3 * x) + (VideoCore::kScreenTopHeight * 3) |             int in_coord = (VideoCore::kScreenTopHeight * 3 * x) + (VideoCore::kScreenTopHeight * 3) | ||||||
|  | @ -79,8 +78,8 @@ void RendererOpenGL::FlipFramebuffer(u32 addr, u8* out) { | ||||||
|  */ |  */ | ||||||
| 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::GetFramebufferPointer(LCD::g_regs.framebuffer_top_left_1), m_xfb_top_flipped); | ||||||
|     FlipFramebuffer(LCD::SUB_FRAME1,        m_xfb_bottom_flipped); |     FlipFramebuffer(LCD::GetFramebufferPointer(LCD::g_regs.framebuffer_sub_left_1), m_xfb_bottom_flipped); | ||||||
| 
 | 
 | ||||||
|     // Blit the top framebuffer
 |     // Blit the top framebuffer
 | ||||||
|     // ------------------------
 |     // ------------------------
 | ||||||
|  |  | ||||||
|  | @ -55,11 +55,11 @@ private: | ||||||
| 
 | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * Helper function to flip framebuffer from left-to-right to top-to-bottom |      * 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 |      * @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 |      * @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
 |     EmuWindow*  m_render_window;                    ///< Handle to render window
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue