mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	Move screen size constants from video_core to core
video_core didn't even properly use them, and they were the source of many otherwise-unnecessary dependencies from core to video_core.
This commit is contained in:
		
							parent
							
								
									6665557ff7
								
							
						
					
					
						commit
						eb10f25025
					
				
					 9 changed files with 63 additions and 51 deletions
				
			
		|  | @ -561,20 +561,16 @@ RasterizerCacheOpenGL::GetFramebufferSurfaces( | |||
|     color_params.is_tiled = depth_params.is_tiled = true; | ||||
| 
 | ||||
|     // Set the internal resolution, assume the same scaling factor for top and bottom screens
 | ||||
|     const Layout::FramebufferLayout& layout = VideoCore::g_emu_window->GetFramebufferLayout(); | ||||
|     if (Settings::values.resolution_factor == 0.0f) { | ||||
|     float resolution_scale_factor = Settings::values.resolution_factor; | ||||
|     if (resolution_scale_factor == 0.0f) { | ||||
|         // Auto - scale resolution to the window size
 | ||||
|         color_params.res_scale_width = depth_params.res_scale_width = | ||||
|             (float)layout.top_screen.GetWidth() / VideoCore::kScreenTopWidth; | ||||
|         color_params.res_scale_height = depth_params.res_scale_height = | ||||
|             (float)layout.top_screen.GetHeight() / VideoCore::kScreenTopHeight; | ||||
|     } else { | ||||
|         // Otherwise, scale the resolution by the specified factor
 | ||||
|         color_params.res_scale_width = Settings::values.resolution_factor; | ||||
|         depth_params.res_scale_width = Settings::values.resolution_factor; | ||||
|         color_params.res_scale_height = Settings::values.resolution_factor; | ||||
|         depth_params.res_scale_height = Settings::values.resolution_factor; | ||||
|         resolution_scale_factor = VideoCore::g_emu_window->GetFramebufferLayout().GetScalingRatio(); | ||||
|     } | ||||
|     // Scale the resolution by the specified factor
 | ||||
|     color_params.res_scale_width = resolution_scale_factor; | ||||
|     depth_params.res_scale_width = resolution_scale_factor; | ||||
|     color_params.res_scale_height = resolution_scale_factor; | ||||
|     depth_params.res_scale_height = resolution_scale_factor; | ||||
| 
 | ||||
|     color_params.addr = config.GetColorBufferPhysicalAddress(); | ||||
|     color_params.pixel_format = CachedSurface::PixelFormatFromColorFormat(config.color_format); | ||||
|  |  | |||
|  | @ -15,21 +15,6 @@ class RendererBase; | |||
| 
 | ||||
| namespace VideoCore { | ||||
| 
 | ||||
| // 3DS Video Constants
 | ||||
| // -------------------
 | ||||
| 
 | ||||
| // NOTE: The LCDs actually rotate the image 90 degrees when displaying. Because of that the
 | ||||
| // framebuffers in video memory are stored in column-major order and rendered sideways, causing
 | ||||
| // the widths and heights of the framebuffers read by the LCD to be switched compared to the
 | ||||
| // heights and widths of the screens listed here.
 | ||||
| static const int kScreenTopWidth = 400;     ///< 3DS top screen width
 | ||||
| static const int kScreenTopHeight = 240;    ///< 3DS top screen height
 | ||||
| static const int kScreenBottomWidth = 320;  ///< 3DS bottom screen width
 | ||||
| static const int kScreenBottomHeight = 240; ///< 3DS bottom screen height
 | ||||
| 
 | ||||
| //  Video core renderer
 | ||||
| // ---------------------
 | ||||
| 
 | ||||
| extern std::unique_ptr<RendererBase> g_renderer; ///< Renderer plugin
 | ||||
| extern EmuWindow* g_emu_window;                  ///< Emu window
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue