/ src / Ryujinx / UI / Views / Settings / SettingsGraphicsView.axaml
SettingsGraphicsView.axaml
  1  <UserControl
  2      x:Class="Ryujinx.Ava.UI.Views.Settings.SettingsGraphicsView"
  3      xmlns="https://github.com/avaloniaui"
  4      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  7      xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
  8      xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
  9      xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
 10      xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
 11      Design.Width="1000"
 12      mc:Ignorable="d"
 13      x:DataType="viewModels:SettingsViewModel">
 14      <Design.DataContext>
 15          <viewModels:SettingsViewModel />
 16      </Design.DataContext>
 17      <ScrollViewer
 18          Name="GraphicsPage"
 19          HorizontalAlignment="Stretch"
 20          VerticalAlignment="Stretch"
 21          HorizontalScrollBarVisibility="Disabled"
 22          VerticalScrollBarVisibility="Auto">
 23          <Border Classes="settings">
 24              <StackPanel
 25                  Margin="10"
 26                  HorizontalAlignment="Stretch"
 27                  Orientation="Vertical"
 28                  Spacing="10">
 29                  <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsAPI}" />
 30                  <StackPanel Margin="10,0,0,0" Orientation="Vertical" Spacing="10">
 31                      <StackPanel Orientation="Horizontal">
 32                          <TextBlock VerticalAlignment="Center"
 33                                  ToolTip.Tip="{locale:Locale SettingsTabGraphicsBackendTooltip}"
 34                                  Text="{locale:Locale SettingsTabGraphicsBackend}"
 35                                  Width="250" />
 36                          <ComboBox Width="350"
 37                                  HorizontalContentAlignment="Left"
 38                                  ToolTip.Tip="{locale:Locale SettingsTabGraphicsBackendTooltip}"
 39                                  SelectedIndex="{Binding GraphicsBackendIndex}">
 40                              <ComboBoxItem IsVisible="{Binding IsVulkanAvailable}">
 41                                  <TextBlock Text="Vulkan" />
 42                              </ComboBoxItem>
 43                              <ComboBoxItem IsEnabled="{Binding IsOpenGLAvailable}">
 44                                  <TextBlock Text="OpenGL" />
 45                              </ComboBoxItem>
 46                          </ComboBox>
 47                      </StackPanel>
 48                      <StackPanel Orientation="Horizontal" IsVisible="{Binding IsVulkanSelected}">
 49                          <TextBlock VerticalAlignment="Center"
 50                                  ToolTip.Tip="{locale:Locale SettingsTabGraphicsPreferredGpuTooltip}"
 51                                  Text="{locale:Locale SettingsTabGraphicsPreferredGpu}"
 52                                  Width="250" />
 53                          <ComboBox Width="350"
 54                                  HorizontalContentAlignment="Left"
 55                                  ToolTip.Tip="{locale:Locale SettingsTabGraphicsPreferredGpuTooltip}"
 56                                  SelectedIndex="{Binding PreferredGpuIndex}"
 57                                  ItemsSource="{Binding AvailableGpus}"/>
 58                      </StackPanel>
 59                  </StackPanel>
 60                  <Separator Height="1" />
 61                  <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsFeatures}" />
 62                  <StackPanel Margin="10,0,0,0" Orientation="Vertical" Spacing="10">
 63                      <StackPanel Orientation="Vertical">
 64                          <CheckBox IsChecked="{Binding EnableShaderCache}"
 65                              ToolTip.Tip="{locale:Locale ShaderCacheToggleTooltip}">
 66                              <TextBlock Text="{locale:Locale SettingsTabGraphicsEnableShaderCache}" />
 67                          </CheckBox>
 68                          <CheckBox IsChecked="{Binding EnableTextureRecompression}"
 69                              ToolTip.Tip="{locale:Locale SettingsEnableTextureRecompressionTooltip}">
 70                              <TextBlock Text="{locale:Locale SettingsEnableTextureRecompression}" />
 71                          </CheckBox>
 72                          <CheckBox IsChecked="{Binding EnableMacroHLE}"
 73                              ToolTip.Tip="{locale:Locale SettingsEnableMacroHLETooltip}">
 74                              <TextBlock Text="{locale:Locale SettingsEnableMacroHLE}" />
 75                          </CheckBox>
 76                          <CheckBox IsChecked="{Binding EnableColorSpacePassthrough}"
 77                                    IsVisible="{Binding ColorSpacePassthroughAvailable}"
 78                              ToolTip.Tip="{locale:Locale SettingsEnableColorSpacePassthroughTooltip}">
 79                              <TextBlock Text="{locale:Locale SettingsEnableColorSpacePassthrough}" />
 80                          </CheckBox>
 81                      </StackPanel>
 82                      <StackPanel Orientation="Horizontal">
 83                          <TextBlock VerticalAlignment="Center"
 84                                     ToolTip.Tip="{locale:Locale ResolutionScaleTooltip}"
 85                                     Text="{locale:Locale SettingsTabGraphicsResolutionScale}"
 86                                     Width="250" />
 87                          <ComboBox SelectedIndex="{Binding ResolutionScale}"
 88                                    Width="350"
 89                                    HorizontalContentAlignment="Left"
 90                                    ToolTip.Tip="{locale:Locale ResolutionScaleTooltip}">
 91                              <ComboBoxItem>
 92                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScaleNative}" />
 93                              </ComboBoxItem>
 94                              <ComboBoxItem>
 95                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScale2x}" />
 96                              </ComboBoxItem>
 97                              <ComboBoxItem>
 98                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScale3x}" />
 99                              </ComboBoxItem>
100                              <ComboBoxItem>
101                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScale4x}" />
102                              </ComboBoxItem>
103                              <ComboBoxItem>
104                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScaleCustom}" />
105                              </ComboBoxItem>
106                          </ComboBox>
107                          <ui:NumberBox
108                              Margin="10,0,0,0"
109                              ToolTip.Tip="{locale:Locale ResolutionScaleEntryTooltip}"
110                              MinWidth="150"
111                              SmallChange="0.1"
112                              LargeChange="1"
113                              SimpleNumberFormat="F2"
114                              SpinButtonPlacementMode="Inline"
115                              IsVisible="{Binding IsCustomResolutionScaleActive}"
116                              Maximum="100"
117                              Minimum="0.1"
118                              Value="{Binding CustomResolutionScale}" />
119                      </StackPanel>
120                      <StackPanel
121                          HorizontalAlignment="Stretch"
122                          Orientation="Vertical"
123                          Spacing="10">
124                          <StackPanel Orientation="Horizontal">
125                              <TextBlock VerticalAlignment="Center"
126                                         ToolTip.Tip="{locale:Locale GraphicsAATooltip}"
127                                         Text="{locale:Locale GraphicsAALabel}"
128                                         Width="250" />
129                              <ComboBox Width="350"
130                                        HorizontalContentAlignment="Left"
131                                        ToolTip.Tip="{locale:Locale GraphicsAATooltip}"
132                                        SelectedIndex="{Binding AntiAliasingEffect}">
133                                  <ComboBoxItem>
134                                      <TextBlock Text="{locale:Locale SettingsTabLoggingGraphicsBackendLogLevelNone}" />
135                                  </ComboBoxItem>
136                                  <ComboBoxItem>
137                                      <TextBlock Text="FXAA" />
138                                  </ComboBoxItem>
139                                  <ComboBoxItem>
140                                      <TextBlock Text="{locale:Locale SmaaLow}" />
141                                  </ComboBoxItem>
142                                  <ComboBoxItem>
143                                      <TextBlock Text="{locale:Locale SmaaMedium}" />
144                                  </ComboBoxItem>
145                                  <ComboBoxItem>
146                                      <TextBlock Text="{locale:Locale SmaaHigh}" />
147                                  </ComboBoxItem>
148                                  <ComboBoxItem>
149                                      <TextBlock Text="{locale:Locale SmaaUltra}" />
150                                  </ComboBoxItem>
151                              </ComboBox>
152                          </StackPanel>
153                      </StackPanel>
154                      <StackPanel
155                          HorizontalAlignment="Stretch"
156                          Orientation="Vertical"
157                          Spacing="10">
158                          <StackPanel Orientation="Horizontal">
159                              <TextBlock VerticalAlignment="Center"
160                                         ToolTip.Tip="{locale:Locale GraphicsScalingFilterTooltip}"
161                                         Text="{locale:Locale GraphicsScalingFilterLabel}"
162                                         Width="250" />
163                              <ComboBox Width="350"
164                                        HorizontalContentAlignment="Left"
165                                        ToolTip.Tip="{locale:Locale GraphicsScalingFilterTooltip}"
166                                        SelectedIndex="{Binding ScalingFilter}">
167                                  <ComboBoxItem>
168                                      <TextBlock Text="{locale:Locale GraphicsScalingFilterBilinear}" />
169                                  </ComboBoxItem>
170                                  <ComboBoxItem>
171                                      <TextBlock Text="{locale:Locale GraphicsScalingFilterNearest}" />
172                                  </ComboBoxItem>
173                                  <ComboBoxItem>
174                                      <TextBlock Text="{locale:Locale GraphicsScalingFilterFsr}" />
175                                  </ComboBoxItem>
176                                  <ComboBoxItem>
177                                      <TextBlock Text="{locale:Locale GraphicsScalingFilterArea}" />
178                                  </ComboBoxItem>
179                              </ComboBox>
180                              <controls:SliderScroll Value="{Binding ScalingFilterLevel}"
181                                      ToolTip.Tip="{locale:Locale GraphicsScalingFilterLevelTooltip}"
182                                      MinWidth="150"
183                                      Margin="10,-3,0,0"
184                                      Height="32"
185                                      Padding="0,-5"
186                                      IsVisible="{Binding IsScalingFilterActive}"
187                                      TickFrequency="1"
188                                      IsSnapToTickEnabled="True"
189                                      LargeChange="10"
190                                      SmallChange="1"
191                                      VerticalAlignment="Center"
192                                      Minimum="0"
193                                      Maximum="100" />
194                              <TextBlock Margin="5,0"
195                                         Width="40"
196                                         IsVisible="{Binding IsScalingFilterActive}"
197                                         Text="{Binding ScalingFilterLevelText}"/>
198                          </StackPanel>
199                      </StackPanel>
200                      <StackPanel Orientation="Horizontal">
201                          <TextBlock VerticalAlignment="Center"
202                                     ToolTip.Tip="{locale:Locale AnisotropyTooltip}"
203                                     Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering}"
204                                     Width="250" />
205                          <ComboBox SelectedIndex="{Binding MaxAnisotropy}"
206                                    Width="350"
207                                    HorizontalContentAlignment="Left"
208                                    ToolTip.Tip="{locale:Locale AnisotropyTooltip}">
209                              <ComboBoxItem>
210                                  <TextBlock
211                                      Text="{locale:Locale SettingsTabGraphicsAnisotropicFilteringAuto}" />
212                              </ComboBoxItem>
213                              <ComboBoxItem>
214                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering2x}" />
215                              </ComboBoxItem>
216                              <ComboBoxItem>
217                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering4x}" />
218                              </ComboBoxItem>
219                              <ComboBoxItem>
220                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering8x}" />
221                              </ComboBoxItem>
222                              <ComboBoxItem>
223                                  <TextBlock
224                                      Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering16x}" />
225                              </ComboBoxItem>
226                          </ComboBox>
227                      </StackPanel>
228                      <StackPanel Orientation="Horizontal">
229                          <TextBlock VerticalAlignment="Center"
230                                     ToolTip.Tip="{locale:Locale AspectRatioTooltip}"
231                                     Text="{locale:Locale SettingsTabGraphicsAspectRatio}"
232                                     Width="250" />
233                          <ComboBox SelectedIndex="{Binding AspectRatio}"
234                                    Width="350"
235                                    HorizontalContentAlignment="Left"
236                                    ToolTip.Tip="{locale:Locale AspectRatioTooltip}">
237                              <ComboBoxItem>
238                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio4x3}" />
239                              </ComboBoxItem>
240                              <ComboBoxItem>
241                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio16x9}" />
242                              </ComboBoxItem>
243                              <ComboBoxItem>
244                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio16x10}" />
245                              </ComboBoxItem>
246                              <ComboBoxItem>
247                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio21x9}" />
248                              </ComboBoxItem>
249                              <ComboBoxItem>
250                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio32x9}" />
251                              </ComboBoxItem>
252                              <ComboBoxItem>
253                                  <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatioStretch}" />
254                              </ComboBoxItem>
255                          </ComboBox>
256                      </StackPanel>
257                  </StackPanel>
258                  <StackPanel
259                      Margin="10,0,0,0"
260                      HorizontalAlignment="Stretch"
261                      Orientation="Vertical"
262                      Spacing="10">
263                      <StackPanel Orientation="Horizontal">
264                          <TextBlock VerticalAlignment="Center"
265                                     ToolTip.Tip="{locale:Locale GraphicsBackendThreadingTooltip}"
266                                     Text="{locale:Locale SettingsTabGraphicsBackendMultithreading}"
267                                     Width="250" />
268                          <ComboBox Width="350"
269                                    HorizontalContentAlignment="Left"
270                                    ToolTip.Tip="{locale:Locale GalThreadingTooltip}"
271                                    SelectedIndex="{Binding GraphicsBackendMultithreadingIndex}">
272                              <ComboBoxItem>
273                                  <TextBlock Text="{locale:Locale CommonAuto}" />
274                              </ComboBoxItem>
275                              <ComboBoxItem>
276                                  <TextBlock Text="{locale:Locale CommonOff}" />
277                              </ComboBoxItem>
278                              <ComboBoxItem>
279                                  <TextBlock Text="{locale:Locale CommonOn}" />
280                              </ComboBoxItem>
281                          </ComboBox>
282                      </StackPanel>
283                  </StackPanel>
284                  <Separator Height="1" />
285                  <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsDeveloperOptions}" />
286                  <StackPanel
287                      Margin="10,0,0,0"
288                      HorizontalAlignment="Stretch"
289                      Orientation="Vertical"
290                      Spacing="10">
291                      <StackPanel Orientation="Horizontal">
292                          <TextBlock VerticalAlignment="Center"
293                                     ToolTip.Tip="{locale:Locale ShaderDumpPathTooltip}"
294                                     Text="{locale:Locale SettingsTabGraphicsShaderDumpPath}"
295                                     Width="250" />
296                          <TextBox Text="{Binding ShaderDumpPath}"
297                                   Width="350"
298                                   ToolTip.Tip="{locale:Locale ShaderDumpPathTooltip}" />
299                      </StackPanel>
300                  </StackPanel>
301              </StackPanel>
302          </Border>
303      </ScrollViewer>
304  </UserControl>