mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Config: Add scaled resolution option
This commit is contained in:
		
							parent
							
								
									15b44fb380
								
							
						
					
					
						commit
						e46d086189
					
				
					 9 changed files with 20 additions and 1 deletions
				
			
		|  | @ -65,6 +65,7 @@ void Config::ReadValues() { | |||
|     // Renderer
 | ||||
|     Settings::values.use_hw_renderer = sdl2_config->GetBoolean("Renderer", "use_hw_renderer", false); | ||||
|     Settings::values.use_shader_jit = sdl2_config->GetBoolean("Renderer", "use_shader_jit", true); | ||||
|     Settings::values.use_scaled_resolution = sdl2_config->GetBoolean("Renderer", "use_scaled_resolution", false); | ||||
| 
 | ||||
|     Settings::values.bg_red   = (float)sdl2_config->GetReal("Renderer", "bg_red",   1.0); | ||||
|     Settings::values.bg_green = (float)sdl2_config->GetReal("Renderer", "bg_green", 1.0); | ||||
|  |  | |||
|  | @ -46,6 +46,10 @@ use_hw_renderer = | |||
| # 0 : Interpreter (slow), 1 (default): JIT (fast) | ||||
| use_shader_jit = | ||||
| 
 | ||||
| # Whether to use native 3DS screen resolution or to scale rendering resolution to the displayed screen size. | ||||
| # 0 (default): Native, 1: Scaled | ||||
| use_scaled_resolution = | ||||
| 
 | ||||
| # The clear color for the renderer. What shows up on the sides of the bottom screen. | ||||
| # Must be in range of 0.0-1.0. Defaults to 1.0 for all. | ||||
| bg_red = | ||||
|  |  | |||
|  | @ -45,6 +45,7 @@ void Config::ReadValues() { | |||
|     qt_config->beginGroup("Renderer"); | ||||
|     Settings::values.use_hw_renderer = qt_config->value("use_hw_renderer", false).toBool(); | ||||
|     Settings::values.use_shader_jit = qt_config->value("use_shader_jit", true).toBool(); | ||||
|     Settings::values.use_scaled_resolution = qt_config->value("use_scaled_resolution", false).toBool(); | ||||
| 
 | ||||
|     Settings::values.bg_red   = qt_config->value("bg_red",   1.0).toFloat(); | ||||
|     Settings::values.bg_green = qt_config->value("bg_green", 1.0).toFloat(); | ||||
|  | @ -129,6 +130,7 @@ void Config::SaveValues() { | |||
|     qt_config->beginGroup("Renderer"); | ||||
|     qt_config->setValue("use_hw_renderer", Settings::values.use_hw_renderer); | ||||
|     qt_config->setValue("use_shader_jit", Settings::values.use_shader_jit); | ||||
|     qt_config->setValue("use_scaled_resolution", Settings::values.use_scaled_resolution); | ||||
| 
 | ||||
|     // Cast to double because Qt's written float values are not human-readable
 | ||||
|     qt_config->setValue("bg_red",   (double)Settings::values.bg_red); | ||||
|  |  | |||
|  | @ -25,6 +25,7 @@ void ConfigureGeneral::setConfiguration() { | |||
|     ui->region_combobox->setCurrentIndex(Settings::values.region_value); | ||||
|     ui->toogle_hw_renderer->setChecked(Settings::values.use_hw_renderer); | ||||
|     ui->toogle_shader_jit->setChecked(Settings::values.use_shader_jit); | ||||
|     ui->toogle_scaled_resolution->setChecked(Settings::values.use_scaled_resolution); | ||||
| } | ||||
| 
 | ||||
| void ConfigureGeneral::applyConfiguration() { | ||||
|  | @ -33,5 +34,6 @@ void ConfigureGeneral::applyConfiguration() { | |||
|     Settings::values.region_value = ui->region_combobox->currentIndex(); | ||||
|     Settings::values.use_hw_renderer = ui->toogle_hw_renderer->isChecked(); | ||||
|     Settings::values.use_shader_jit = ui->toogle_shader_jit->isChecked(); | ||||
|     Settings::values.use_scaled_resolution = ui->toogle_scaled_resolution->isChecked(); | ||||
|     Settings::Apply(); | ||||
| } | ||||
|  |  | |||
|  | @ -128,6 +128,13 @@ | |||
|             </property> | ||||
|            </widget> | ||||
|           </item> | ||||
|           <item> | ||||
|            <widget class="QCheckBox" name="toogle_scaled_resolution"> | ||||
|             <property name="text"> | ||||
|              <string>Enable scaled resolution</string> | ||||
|             </property> | ||||
|            </widget> | ||||
|           </item> | ||||
|          </layout> | ||||
|         </item> | ||||
|        </layout> | ||||
|  |  | |||
|  | @ -19,7 +19,7 @@ void Apply() { | |||
| 
 | ||||
|     VideoCore::g_hw_renderer_enabled = values.use_hw_renderer; | ||||
|     VideoCore::g_shader_jit_enabled = values.use_shader_jit; | ||||
| 
 | ||||
|     VideoCore::g_scaled_resolution_enabled = values.use_scaled_resolution; | ||||
| } | ||||
| 
 | ||||
| } // namespace
 | ||||
|  |  | |||
|  | @ -55,6 +55,7 @@ struct Values { | |||
|     // Renderer
 | ||||
|     bool use_hw_renderer; | ||||
|     bool use_shader_jit; | ||||
|     bool use_scaled_resolution; | ||||
| 
 | ||||
|     float bg_red; | ||||
|     float bg_green; | ||||
|  |  | |||
|  | @ -25,6 +25,7 @@ std::unique_ptr<RendererBase> g_renderer;             ///< Renderer plugin | |||
| 
 | ||||
| std::atomic<bool> g_hw_renderer_enabled; | ||||
| std::atomic<bool> g_shader_jit_enabled; | ||||
| std::atomic<bool> g_scaled_resolution_enabled; | ||||
| 
 | ||||
| /// Initialize the video core
 | ||||
| bool Init(EmuWindow* emu_window) { | ||||
|  |  | |||
|  | @ -36,6 +36,7 @@ extern EmuWindow*                    g_emu_window; ///< Emu window | |||
| // TODO: Wrap these in a user settings struct along with any other graphics settings (often set from qt ui)
 | ||||
| extern std::atomic<bool> g_hw_renderer_enabled; | ||||
| extern std::atomic<bool> g_shader_jit_enabled; | ||||
| extern std::atomic<bool> g_scaled_resolution_enabled; | ||||
| 
 | ||||
| /// Start the video core
 | ||||
| void Start(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue