<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>ConfigureGraphics</class>
 <widget class="QWidget" name="ConfigureGraphics">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>400</width>
    <height>509</height>
   </rect>
  </property>
  <property name="minimumSize">
   <size>
    <width>0</width>
    <height>0</height>
   </size>
  </property>
  <property name="windowTitle">
   <string>Form</string>
  </property>
  <property name="accessibleName">
   <string>Graphics</string>
  </property>
  <layout class="QVBoxLayout" name="verticalLayout">
   <item>
    <widget class="QGroupBox" name="apiBox">
     <property name="title">
      <string>API Settings</string>
     </property>
     <layout class="QVBoxLayout" name="verticalLayout_3">
      <item>
       <widget class="QWidget" name="graphics_api_group" native="true">
        <layout class="QHBoxLayout" name="graphics_api_group_2">
         <property name="leftMargin">
          <number>0</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="QLabel" name="graphics_api_label">
           <property name="text">
            <string>Graphics API</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QComboBox" name="graphics_api_combo">
           <item>
            <property name="text">
             <string>Software</string>
            </property>
           </item>
           <item>
            <property name="text">
             <string>OpenGL</string>
            </property>
           </item>
           <item>
            <property name="text">
             <string>Vulkan</string>
            </property>
           </item>
          </widget>
         </item>
        </layout>
       </widget>
      </item>
      <item>
       <widget class="QWidget" name="physical_device_group" native="true">
        <layout class="QHBoxLayout" name="physical_device_group_2">
         <property name="leftMargin">
          <number>0</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="QLabel" name="physical_device_label">
           <property name="text">
            <string>Physical Device</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QComboBox" name="physical_device_combo"/>
         </item>
        </layout>
       </widget>
      </item>
      <item>
       <widget class="QWidget" name="opengl_renderer_group" native="true">
        <layout class="QHBoxLayout" name="opengl_renderer_group_2">
         <property name="leftMargin">
          <number>0</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="QLabel" name="opengl_renderer_label">
           <property name="text">
            <string>OpenGL Renderer</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QLabel" name="opengl_renderer_name_label"/>
         </item>
        </layout>
       </widget>
      </item>
      <item>
       <widget class="QCheckBox" name="spirv_shader_gen">
        <property name="text">
         <string>SPIR-V shader generation</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QCheckBox" name="disable_spirv_optimizer">
        <property name="text">
         <string>Disable GLSL -> SPIR-V optimizer</string>
        </property>
        <property name="toolTip">
         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Disables the SPIR-V optimization pass, reducing stuttering considerably while barely affecting performance.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
        </property>
       </widget>
      </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="QWidget" name="hw_renderer_group" native="true">
        <layout class="QVBoxLayout" name="verticalLayout_5">
         <property name="leftMargin">
          <number>0</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_hw_shader">
           <property name="toolTip">
            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Use the selected graphics API to accelerate shader emulation.&lt;/p&gt;&lt;p&gt;Requires a relatively powerful GPU for better performance.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
           </property>
           <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="toolTip">
               <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Correctly handle all edge cases in multiplication operation in shaders. &lt;/p&gt;&lt;p&gt;Some applications requires this to be enabled for the hardware shader to render properly.&lt;/p&gt;&lt;p&gt;However this would reduce performance in most applications.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
              </property>
              <property name="text">
               <string>Accurate multiplication</string>
              </property>
             </widget>
            </item>
           </layout>
          </widget>
         </item>
        </layout>
       </widget>
      </item>
      <item>
       <widget class="QCheckBox" name="toggle_shader_jit">
        <property name="toolTip">
         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Use the JIT engine instead of the interpreter for software shader emulation. &lt;/p&gt;&lt;p&gt;Enable this for better performance.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
        </property>
        <property name="text">
         <string>Enable shader JIT</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QCheckBox" name="toggle_async_shaders">
        <property name="toolTip">
         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Compile shaders using background threads to avoid shader compilation stutter. Expect temporary graphical glitches&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
        </property>
        <property name="text">
         <string>Enable async shader compilation</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QCheckBox" name="toggle_async_present">
        <property name="toolTip">
         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Perform presentation on separate threads. Improves performance when using Vulkan in most applications. Adds ~1 frame of input lag.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
        </property>
        <property name="text">
         <string>Enable async presentation</string>
        </property>
       </widget>
      </item>
     </layout>
    </widget>
   </item>
   <item>
    <widget class="QGroupBox" name="groupBox">
     <property name="title">
      <string>Advanced</string>
     </property>
     <layout class="QVBoxLayout" name="verticalLayout_2">
      <item>
       <widget class="QWidget" name="widget_texture_sampling" native="true">
        <layout class="QHBoxLayout" name="horizontalLayout_2">
         <property name="leftMargin">
          <number>0</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="QLabel" name="texture_sampling_label">
           <property name="toolTip">
            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Overrides the sampling filter used by applications. This can be useful in certain cases with poorly behaved applications when upscaling. If unsure, set this to Application Controlled&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
           </property>
           <property name="text">
            <string>Texture Sampling</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QComboBox" name="texture_sampling_combobox">
           <item>
            <property name="text">
             <string>Application Controlled</string>
            </property>
           </item>
           <item>
            <property name="text">
             <string>Nearest Neighbor</string>
            </property>
           </item>
           <item>
            <property name="text">
             <string>Linear</string>
            </property>
           </item>
          </widget>
         </item>
        </layout>
       </widget>
      </item>
      <item>
       <widget class="QCheckBox" name="toggle_disk_shader_cache">
        <property name="toolTip">
         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Reduce stuttering by storing and loading generated shaders to disk.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
        </property>
        <property name="text">
         <string>Use disk shader cache</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QCheckBox" name="toggle_vsync">
        <property name="toolTip">
         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
        </property>
        <property name="text">
         <string>Enable VSync</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QCheckBox" name="toggle_display_refresh_rate_detection">
        <property name="toolTip">
         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When enabled, this setting detects when the refresh rate of the screen is below that of the 3DS, and when it is, disables VSync automatically to avoid emulation speed being forced below 100%.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
        </property>
        <property name="text">
         <string>Enable display refresh rate detection</string>
        </property>
       </widget>
      </item>
      <item>
        <widget class="QWidget" name="delay_render_layout" native="true">
          <layout class="QHBoxLayout" name="delay_render_layout_inner">
            <property name="leftMargin">
              <number>0</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="QComboBox" name="delay_render_combo">
                <item>
                  <property name="text">
                    <string>Use global</string>
                  </property>
                </item>
                <item>
                  <property name="text">
                    <string>Use per-application</string>
                  </property>
                </item>
              </widget>
            </item>
            <item>
              <widget class="QLabel" name="label_delay_render">
                <property name="text">
                  <string>Delay Application Render Thread</string>
                </property>
                <property name="toolTip">
                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Delays the emulated application render thread the specified amount of milliseconds every time it submits render commands to the GPU.&lt;/p&gt;&lt;p&gt;Adjust this feature in the (very few) dynamic framerate applications to fix performance issues.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
                </property>
              </widget>
            </item>
            <item>
              <widget class="QSlider" name="delay_render_slider">
                <property name="minimum">
                  <number>0</number>
                </property>
                <property name="maximum">
                  <number>16000</number>
                </property>
                <property name="singleStep">
                  <number>100</number>
                </property>
                <property name="pageStep">
                  <number>250</number>
                </property>
                <property name="value">
                  <number>0</number>
                </property>
                <property name="orientation">
                  <enum>Qt::Horizontal</enum>
                </property>
                <property name="tickPosition">
                  <enum>QSlider::TicksBelow</enum>
                </property>
              </widget>
            </item>
            <item>
              <widget class="QLabel" name="delay_render_display_label">
                <property name="text">
                  <string/>
                </property>
                <property name="alignment">
                  <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                </property>
              </widget>
            </item>
          </layout>
        </widget>
      </item>
     </layout>
    </widget>
   </item>
   <item>
    <spacer name="verticalSpacer">
     <property name="orientation">
      <enum>Qt::Vertical</enum>
     </property>
     <property name="sizeHint" stdset="0">
      <size>
       <width>20</width>
       <height>270</height>
      </size>
     </property>
    </spacer>
   </item>
  </layout>
 </widget>
 <tabstops>
  <tabstop>toggle_accurate_mul</tabstop>
  <tabstop>toggle_shader_jit</tabstop>
  <tabstop>toggle_disk_shader_cache</tabstop>
  <tabstop>toggle_vsync</tabstop>
 </tabstops>
 <resources/>
 <connections/>
</ui>
