mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	citra-qt: add gpu shader emulation related configurations
This commit is contained in:
		
							parent
							
								
									b31ed30fb2
								
							
						
					
					
						commit
						1d5a26b1d8
					
				
					 2 changed files with 231 additions and 168 deletions
				
			
		|  | @ -19,13 +19,22 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent) | ||||||
|             &QSpinBox::setEnabled); |             &QSpinBox::setEnabled); | ||||||
| 
 | 
 | ||||||
|     ui->layoutBox->setEnabled(!Settings::values.custom_layout); |     ui->layoutBox->setEnabled(!Settings::values.custom_layout); | ||||||
|  | 
 | ||||||
|  |     ui->hw_renderer_group->setEnabled(ui->toggle_hw_renderer->isChecked()); | ||||||
|  |     connect(ui->toggle_hw_renderer, &QCheckBox::stateChanged, ui->hw_renderer_group, | ||||||
|  |             &QWidget::setEnabled); | ||||||
|  |     ui->hw_shader_group->setEnabled(ui->toggle_hw_shader->isChecked()); | ||||||
|  |     connect(ui->toggle_hw_shader, &QCheckBox::stateChanged, ui->hw_shader_group, | ||||||
|  |             &QWidget::setEnabled); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| ConfigureGraphics::~ConfigureGraphics() {} | ConfigureGraphics::~ConfigureGraphics() {} | ||||||
| 
 | 
 | ||||||
| void ConfigureGraphics::setConfiguration() { | void ConfigureGraphics::setConfiguration() { | ||||||
|     ui->toggle_hw_renderer->setChecked(Settings::values.use_hw_renderer); |     ui->toggle_hw_renderer->setChecked(Settings::values.use_hw_renderer); | ||||||
|     ui->resolution_factor_combobox->setEnabled(Settings::values.use_hw_renderer); |     ui->toggle_hw_shader->setChecked(Settings::values.use_hw_shader); | ||||||
|  |     ui->toggle_accurate_gs->setChecked(Settings::values.shaders_accurate_gs); | ||||||
|  |     ui->toggle_accurate_mul->setChecked(Settings::values.shaders_accurate_mul); | ||||||
|     ui->toggle_shader_jit->setChecked(Settings::values.use_shader_jit); |     ui->toggle_shader_jit->setChecked(Settings::values.use_shader_jit); | ||||||
|     ui->resolution_factor_combobox->setCurrentIndex(Settings::values.resolution_factor); |     ui->resolution_factor_combobox->setCurrentIndex(Settings::values.resolution_factor); | ||||||
|     ui->toggle_vsync->setChecked(Settings::values.use_vsync); |     ui->toggle_vsync->setChecked(Settings::values.use_vsync); | ||||||
|  | @ -37,6 +46,9 @@ void ConfigureGraphics::setConfiguration() { | ||||||
| 
 | 
 | ||||||
| void ConfigureGraphics::applyConfiguration() { | void ConfigureGraphics::applyConfiguration() { | ||||||
|     Settings::values.use_hw_renderer = ui->toggle_hw_renderer->isChecked(); |     Settings::values.use_hw_renderer = ui->toggle_hw_renderer->isChecked(); | ||||||
|  |     Settings::values.use_hw_shader = ui->toggle_hw_shader->isChecked(); | ||||||
|  |     Settings::values.shaders_accurate_gs = ui->toggle_accurate_gs->isChecked(); | ||||||
|  |     Settings::values.shaders_accurate_mul = ui->toggle_accurate_mul->isChecked(); | ||||||
|     Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked(); |     Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked(); | ||||||
|     Settings::values.resolution_factor = |     Settings::values.resolution_factor = | ||||||
|         static_cast<u16>(ui->resolution_factor_combobox->currentIndex()); |         static_cast<u16>(ui->resolution_factor_combobox->currentIndex()); | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ | ||||||
|     <x>0</x> |     <x>0</x> | ||||||
|     <y>0</y> |     <y>0</y> | ||||||
|     <width>400</width> |     <width>400</width> | ||||||
|     <height>300</height> |     <height>427</height> | ||||||
|    </rect> |    </rect> | ||||||
|   </property> |   </property> | ||||||
|   <property name="windowTitle"> |   <property name="windowTitle"> | ||||||
|  | @ -15,27 +15,11 @@ | ||||||
|   </property> |   </property> | ||||||
|   <layout class="QVBoxLayout" name="verticalLayout"> |   <layout class="QVBoxLayout" name="verticalLayout"> | ||||||
|    <item> |    <item> | ||||||
|     <layout class="QVBoxLayout" name="verticalLayout_3"> |     <widget class="QGroupBox" name="generalBox"> | ||||||
|      <item> |  | ||||||
|       <widget class="QGroupBox" name="groupBox"> |  | ||||||
|      <property name="title"> |      <property name="title"> | ||||||
|         <string>Graphics</string> |       <string>General</string> | ||||||
|      </property> |      </property> | ||||||
|      <layout class="QVBoxLayout" name="verticalLayout_2"> |      <layout class="QVBoxLayout" name="verticalLayout_2"> | ||||||
|         <item> |  | ||||||
|          <widget class="QCheckBox" name="toggle_hw_renderer"> |  | ||||||
|           <property name="text"> |  | ||||||
|            <string>Enable hardware renderer</string> |  | ||||||
|           </property> |  | ||||||
|          </widget> |  | ||||||
|         </item> |  | ||||||
|         <item> |  | ||||||
|          <widget class="QCheckBox" name="toggle_shader_jit"> |  | ||||||
|           <property name="text"> |  | ||||||
|            <string>Enable shader JIT</string> |  | ||||||
|           </property> |  | ||||||
|          </widget> |  | ||||||
|         </item> |  | ||||||
|       <item> |       <item> | ||||||
|        <widget class="QCheckBox" name="toggle_vsync"> |        <widget class="QCheckBox" name="toggle_vsync"> | ||||||
|         <property name="text"> |         <property name="text"> | ||||||
|  | @ -70,12 +54,43 @@ | ||||||
|         </item> |         </item> | ||||||
|        </layout> |        </layout> | ||||||
|       </item> |       </item> | ||||||
|  |      </layout> | ||||||
|  |     </widget> | ||||||
|  |    </item> | ||||||
|  |    <item> | ||||||
|  |     <widget class="QGroupBox" name="rendererBox"> | ||||||
|  |      <property name="title"> | ||||||
|  |       <string>Renderer</string> | ||||||
|  |      </property> | ||||||
|  |      <layout class="QVBoxLayout" name="verticalLayout_6"> | ||||||
|  |       <item> | ||||||
|  |        <widget class="QCheckBox" name="toggle_hw_renderer"> | ||||||
|  |         <property name="text"> | ||||||
|  |          <string>Enable Hardware Renderer</string> | ||||||
|  |         </property> | ||||||
|  |        </widget> | ||||||
|  |       </item> | ||||||
|  |       <item> | ||||||
|  |        <widget class="QWidget" name="hw_renderer_group" native="true"> | ||||||
|  |         <layout class="QVBoxLayout" name="verticalLayout_5"> | ||||||
|  |          <property name="leftMargin"> | ||||||
|  |           <number>16</number> | ||||||
|  |          </property> | ||||||
|  |          <property name="topMargin"> | ||||||
|  |           <number>0</number> | ||||||
|  |          </property> | ||||||
|  |          <property name="rightMargin"> | ||||||
|  |           <number>0</number> | ||||||
|  |          </property> | ||||||
|  |          <property name="bottomMargin"> | ||||||
|  |           <number>0</number> | ||||||
|  |          </property> | ||||||
|          <item> |          <item> | ||||||
|           <layout class="QHBoxLayout" name="horizontalLayout"> |           <layout class="QHBoxLayout" name="horizontalLayout"> | ||||||
|            <item> |            <item> | ||||||
|             <widget class="QLabel" name="label"> |             <widget class="QLabel" name="label"> | ||||||
|              <property name="text"> |              <property name="text"> | ||||||
|              <string>Internal Resolution:</string> |               <string>Internal Resolution</string> | ||||||
|              </property> |              </property> | ||||||
|             </widget> |             </widget> | ||||||
|            </item> |            </item> | ||||||
|  | @ -140,19 +155,64 @@ | ||||||
|            </item> |            </item> | ||||||
|           </layout> |           </layout> | ||||||
|          </item> |          </item> | ||||||
|  |          <item> | ||||||
|  |           <widget class="QCheckBox" name="toggle_hw_shader"> | ||||||
|  |            <property name="text"> | ||||||
|  |             <string>Enable Hardware Shader</string> | ||||||
|  |            </property> | ||||||
|  |           </widget> | ||||||
|  |          </item> | ||||||
|  |          <item> | ||||||
|  |           <widget class="QWidget" name="hw_shader_group" native="true"> | ||||||
|  |            <layout class="QVBoxLayout" name="verticalLayout_7"> | ||||||
|  |             <property name="leftMargin"> | ||||||
|  |              <number>16</number> | ||||||
|  |             </property> | ||||||
|  |             <property name="topMargin"> | ||||||
|  |              <number>0</number> | ||||||
|  |             </property> | ||||||
|  |             <property name="rightMargin"> | ||||||
|  |              <number>0</number> | ||||||
|  |             </property> | ||||||
|  |             <property name="bottomMargin"> | ||||||
|  |              <number>0</number> | ||||||
|  |             </property> | ||||||
|  |             <item> | ||||||
|  |              <widget class="QCheckBox" name="toggle_accurate_mul"> | ||||||
|  |               <property name="text"> | ||||||
|  |                <string>Accurate Multiplication</string> | ||||||
|  |               </property> | ||||||
|  |              </widget> | ||||||
|  |             </item> | ||||||
|  |             <item> | ||||||
|  |              <widget class="QCheckBox" name="toggle_accurate_gs"> | ||||||
|  |               <property name="text"> | ||||||
|  |                <string>Accurate Geometry Shader</string> | ||||||
|  |               </property> | ||||||
|  |              </widget> | ||||||
|  |             </item> | ||||||
|            </layout> |            </layout> | ||||||
|           </widget> |           </widget> | ||||||
|          </item> |          </item> | ||||||
|         </layout> |         </layout> | ||||||
|  |        </widget> | ||||||
|  |       </item> | ||||||
|  |       <item> | ||||||
|  |        <widget class="QCheckBox" name="toggle_shader_jit"> | ||||||
|  |         <property name="text"> | ||||||
|  |          <string>Enable Shader JIT</string> | ||||||
|  |         </property> | ||||||
|  |        </widget> | ||||||
|  |       </item> | ||||||
|  |      </layout> | ||||||
|  |     </widget> | ||||||
|    </item> |    </item> | ||||||
|    <item> |    <item> | ||||||
|     <widget class="QGroupBox" name="layoutBox"> |     <widget class="QGroupBox" name="layoutBox"> | ||||||
|      <property name="title"> |      <property name="title"> | ||||||
|       <string>Layout</string> |       <string>Layout</string> | ||||||
|      </property> |      </property> | ||||||
|      <layout class="QHBoxLayout" name="horizontalLayout_3"> |      <layout class="QVBoxLayout" name="verticalLayout_3"> | ||||||
|       <item> |  | ||||||
|        <layout class="QVBoxLayout" name="verticalLayout_4"> |  | ||||||
|       <item> |       <item> | ||||||
|        <layout class="QHBoxLayout" name="horizontalLayout_4"> |        <layout class="QHBoxLayout" name="horizontalLayout_4"> | ||||||
|         <item> |         <item> | ||||||
|  | @ -196,8 +256,6 @@ | ||||||
|        </widget> |        </widget> | ||||||
|       </item> |       </item> | ||||||
|      </layout> |      </layout> | ||||||
|       </item> |  | ||||||
|      </layout> |  | ||||||
|     </widget> |     </widget> | ||||||
|    </item> |    </item> | ||||||
|    <item> |    <item> | ||||||
|  | @ -216,12 +274,5 @@ | ||||||
|   </layout> |   </layout> | ||||||
|  </widget> |  </widget> | ||||||
|  <resources/> |  <resources/> | ||||||
|  <connections> |  <connections/> | ||||||
|   <connection> |  | ||||||
|    <sender>toggle_hw_renderer</sender> |  | ||||||
|    <signal>toggled(bool)</signal> |  | ||||||
|    <receiver>resolution_factor_combobox</receiver> |  | ||||||
|    <slot>setEnabled(bool)</slot> |  | ||||||
|   </connection> |  | ||||||
|  </connections> |  | ||||||
| </ui> | </ui> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue