| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -74,6 +74,9 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.displayScaling, "Display", "Scaling",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                               &Settings::ParseDisplayScaling, &Settings::GetDisplayScalingName,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                               Settings::DEFAULT_DISPLAY_SCALING);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.forceFrameTimings, "GPU", "ForceFrameTimings",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                               &Settings::ParseForceFrameTimings, &Settings::GetForceFrameTimingsName,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                               Settings::DEFAULT_FORCE_FRAME_TIMINGS_MODE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.gpuDownsampleScale, "GPU", "DownsampleScale", 1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.trueColor, "GPU", "TrueColor", false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableInterlacing, "GPU", "DisableInterlacing", true);
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -81,7 +84,6 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.pgxpDepthBuffer, "GPU", "PGXPDepthBuffer", false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.force43For24Bit, "Display", "Force4_3For24Bit", false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.chromaSmoothingFor24Bit, "GPU", "ChromaSmoothing24Bit", false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.forceNTSCTimings, "GPU", "ForceNTSCTimings", false);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  connect(m_ui.renderer, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          &GraphicsSettingsWidget::updateRendererDependentOptions);
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -106,8 +108,8 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                       !m_dialog->hasGameTrait(GameDatabase::Trait::ForceInterlacing));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::SetAvailability(m_ui.widescreenHack,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                       !m_dialog->hasGameTrait(GameDatabase::Trait::DisableWidescreen));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::SetAvailability(m_ui.forceNTSCTimings,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                       !m_dialog->hasGameTrait(GameDatabase::Trait::DisableForceNTSCTimings));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  SettingWidgetBinder::SetAvailability(m_ui.forceFrameTimings,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                       !m_dialog->hasGameTrait(GameDatabase::Trait::DisableForceFrameTimings));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  // Advanced Tab
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -334,6 +336,12 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  dialog->registerWidgetHelp(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    m_ui.displayScaling, tr("Scaling"), tr("Bilinear (Smooth)"),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    tr("Determines how the emulated console's output is upscaled or downscaled to your monitor's resolution."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  dialog->registerWidgetHelp(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    m_ui.forceFrameTimings, tr("Force Frame Timings"), tr("Disabled"),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    tr("Utilizes the chosen frame timing regardless of the active region. "
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       "This feature can be used to force PAL games to run at 60Hz and NTSC games to run at 50Hz. "
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       "For most games which have a speed tied to the framerate, this will result in the game running approximately 17% faster or slower. "
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       "For variable frame rate games, it may not affect the speed."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  dialog->registerWidgetHelp(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    m_ui.trueColor, tr("True Color Rendering"), tr("Checked"),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    tr("Forces the precision of colours output to the console's framebuffer to use the full 8 bits of precision per "
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -364,11 +372,6 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      "Forces the rendering and display of frames to progressive mode. <br>This removes the \"combing\" effect seen in "
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      "480i games by rendering them in 480p. Usually safe to enable.<br><b><u>May not be compatible with all "
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      "games.</u></b>"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  dialog->registerWidgetHelp(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    m_ui.forceNTSCTimings, tr("Force NTSC Timings"), tr("Unchecked"),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    tr("Uses NTSC frame timings when the console is in PAL mode, forcing PAL games to run at 60hz. <br>For most games "
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       "which have a speed tied to the framerate, this will result in the game running approximately 17% faster. "
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       "<br>For variable frame rate games, it may not affect the speed."));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  // Advanced Tab
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -645,6 +648,13 @@ void GraphicsSettingsWidget::setupAdditionalUi()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      QString::fromUtf8(Settings::GetDisplayScalingDisplayName(static_cast<DisplayScalingMode>(i))));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  for (u32 i = 0; i < static_cast<u32>(ForceFrameTimingsMode::Count); i++)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    m_ui.forceFrameTimings->addItem(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      QString::fromUtf8(Settings::GetForceFrameTimingsName(static_cast<ForceFrameTimingsMode>(i))));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  // Advanced Tab
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  for (u32 i = 0; i < static_cast<u32>(DisplayExclusiveFullscreenControl::Count); i++)
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |