SettingsGraphicsView.axaml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  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:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
  8. xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
  9. xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
  10. Design.Width="1000"
  11. mc:Ignorable="d"
  12. x:CompileBindings="True"
  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. Items="{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. </StackPanel>
  77. <StackPanel Orientation="Horizontal">
  78. <TextBlock VerticalAlignment="Center"
  79. ToolTip.Tip="{locale:Locale ResolutionScaleTooltip}"
  80. Text="{locale:Locale SettingsTabGraphicsResolutionScale}"
  81. Width="250" />
  82. <ComboBox SelectedIndex="{Binding ResolutionScale}"
  83. Width="350"
  84. HorizontalContentAlignment="Left"
  85. ToolTip.Tip="{locale:Locale ResolutionScaleTooltip}">
  86. <ComboBoxItem>
  87. <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScaleNative}" />
  88. </ComboBoxItem>
  89. <ComboBoxItem>
  90. <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScale2x}" />
  91. </ComboBoxItem>
  92. <ComboBoxItem>
  93. <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScale3x}" />
  94. </ComboBoxItem>
  95. <ComboBoxItem>
  96. <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScale4x}" />
  97. </ComboBoxItem>
  98. <ComboBoxItem>
  99. <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScaleCustom}" />
  100. </ComboBoxItem>
  101. </ComboBox>
  102. <ui:NumberBox
  103. Margin="10,0,0,0"
  104. ToolTip.Tip="{locale:Locale ResolutionScaleEntryTooltip}"
  105. MinWidth="150"
  106. SmallChange="0.1"
  107. LargeChange="1"
  108. SimpleNumberFormat="F2"
  109. SpinButtonPlacementMode="Inline"
  110. IsVisible="{Binding IsCustomResolutionScaleActive}"
  111. Maximum="100"
  112. Minimum="0.1"
  113. Value="{Binding CustomResolutionScale}" />
  114. </StackPanel>
  115. <StackPanel
  116. HorizontalAlignment="Stretch"
  117. Orientation="Vertical"
  118. Spacing="10">
  119. <StackPanel Orientation="Horizontal">
  120. <TextBlock VerticalAlignment="Center"
  121. ToolTip.Tip="{locale:Locale GraphicsAATooltip}"
  122. Text="{locale:Locale GraphicsAALabel}"
  123. Width="250" />
  124. <ComboBox Width="350"
  125. HorizontalContentAlignment="Left"
  126. ToolTip.Tip="{locale:Locale GraphicsAATooltip}"
  127. SelectedIndex="{Binding AntiAliasingEffect}">
  128. <ComboBoxItem>
  129. <TextBlock Text="{locale:Locale SettingsTabLoggingGraphicsBackendLogLevelNone}" />
  130. </ComboBoxItem>
  131. <ComboBoxItem>
  132. <TextBlock Text="FXAA" />
  133. </ComboBoxItem>
  134. <ComboBoxItem>
  135. <TextBlock Text="{locale:Locale SmaaLow}" />
  136. </ComboBoxItem>
  137. <ComboBoxItem>
  138. <TextBlock Text="{locale:Locale SmaaMedium}" />
  139. </ComboBoxItem>
  140. <ComboBoxItem>
  141. <TextBlock Text="{locale:Locale SmaaHigh}" />
  142. </ComboBoxItem>
  143. <ComboBoxItem>
  144. <TextBlock Text="{locale:Locale SmaaUltra}" />
  145. </ComboBoxItem>
  146. </ComboBox>
  147. </StackPanel>
  148. </StackPanel>
  149. <StackPanel
  150. HorizontalAlignment="Stretch"
  151. Orientation="Vertical"
  152. Spacing="10">
  153. <StackPanel Orientation="Horizontal">
  154. <TextBlock VerticalAlignment="Center"
  155. ToolTip.Tip="{locale:Locale GraphicsScalingFilterTooltip}"
  156. Text="{locale:Locale GraphicsScalingFilterLabel}"
  157. Width="250" />
  158. <ComboBox Width="350"
  159. HorizontalContentAlignment="Left"
  160. ToolTip.Tip="{locale:Locale GraphicsScalingFilterTooltip}"
  161. SelectedIndex="{Binding ScalingFilter}">
  162. <ComboBoxItem>
  163. <TextBlock Text="Bilinear" />
  164. </ComboBoxItem>
  165. <ComboBoxItem>
  166. <TextBlock Text="Nearest" />
  167. </ComboBoxItem>
  168. <ComboBoxItem>
  169. <TextBlock Text="FSR" />
  170. </ComboBoxItem>
  171. </ComboBox>
  172. <Slider Value="{Binding ScalingFilterLevel}"
  173. ToolTip.Tip="{locale:Locale GraphicsScalingFilterLevelTooltip}"
  174. MinWidth="150"
  175. Margin="10,-3,0,0"
  176. Height="32"
  177. Padding="0,-5"
  178. IsVisible="{Binding IsScalingFilterActive}"
  179. TickFrequency="1"
  180. IsSnapToTickEnabled="True"
  181. LargeChange="10"
  182. SmallChange="1"
  183. VerticalAlignment="Center"
  184. Minimum="0"
  185. Maximum="100" />
  186. <TextBlock Margin="5,0"
  187. Width="40"
  188. IsVisible="{Binding IsScalingFilterActive}"
  189. Text="{Binding ScalingFilterLevelText}"/>
  190. </StackPanel>
  191. </StackPanel>
  192. <StackPanel Orientation="Horizontal">
  193. <TextBlock VerticalAlignment="Center"
  194. ToolTip.Tip="{locale:Locale AnisotropyTooltip}"
  195. Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering}"
  196. Width="250" />
  197. <ComboBox SelectedIndex="{Binding MaxAnisotropy}"
  198. Width="350"
  199. HorizontalContentAlignment="Left"
  200. ToolTip.Tip="{locale:Locale AnisotropyTooltip}">
  201. <ComboBoxItem>
  202. <TextBlock
  203. Text="{locale:Locale SettingsTabGraphicsAnisotropicFilteringAuto}" />
  204. </ComboBoxItem>
  205. <ComboBoxItem>
  206. <TextBlock Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering2x}" />
  207. </ComboBoxItem>
  208. <ComboBoxItem>
  209. <TextBlock Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering4x}" />
  210. </ComboBoxItem>
  211. <ComboBoxItem>
  212. <TextBlock Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering8x}" />
  213. </ComboBoxItem>
  214. <ComboBoxItem>
  215. <TextBlock
  216. Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering16x}" />
  217. </ComboBoxItem>
  218. </ComboBox>
  219. </StackPanel>
  220. <StackPanel Orientation="Horizontal">
  221. <TextBlock VerticalAlignment="Center"
  222. ToolTip.Tip="{locale:Locale AspectRatioTooltip}"
  223. Text="{locale:Locale SettingsTabGraphicsAspectRatio}"
  224. Width="250" />
  225. <ComboBox SelectedIndex="{Binding AspectRatio}"
  226. Width="350"
  227. HorizontalContentAlignment="Left"
  228. ToolTip.Tip="{locale:Locale AspectRatioTooltip}">
  229. <ComboBoxItem>
  230. <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio4x3}" />
  231. </ComboBoxItem>
  232. <ComboBoxItem>
  233. <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio16x9}" />
  234. </ComboBoxItem>
  235. <ComboBoxItem>
  236. <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio16x10}" />
  237. </ComboBoxItem>
  238. <ComboBoxItem>
  239. <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio21x9}" />
  240. </ComboBoxItem>
  241. <ComboBoxItem>
  242. <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio32x9}" />
  243. </ComboBoxItem>
  244. <ComboBoxItem>
  245. <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatioStretch}" />
  246. </ComboBoxItem>
  247. </ComboBox>
  248. </StackPanel>
  249. </StackPanel>
  250. <StackPanel
  251. Margin="10,0,0,0"
  252. HorizontalAlignment="Stretch"
  253. Orientation="Vertical"
  254. Spacing="10">
  255. <StackPanel Orientation="Horizontal">
  256. <TextBlock VerticalAlignment="Center"
  257. ToolTip.Tip="{locale:Locale GraphicsBackendThreadingTooltip}"
  258. Text="{locale:Locale SettingsTabGraphicsBackendMultithreading}"
  259. Width="250" />
  260. <ComboBox Width="350"
  261. HorizontalContentAlignment="Left"
  262. ToolTip.Tip="{locale:Locale GalThreadingTooltip}"
  263. SelectedIndex="{Binding GraphicsBackendMultithreadingIndex}">
  264. <ComboBoxItem>
  265. <TextBlock Text="{locale:Locale CommonAuto}" />
  266. </ComboBoxItem>
  267. <ComboBoxItem>
  268. <TextBlock Text="{locale:Locale CommonOff}" />
  269. </ComboBoxItem>
  270. <ComboBoxItem>
  271. <TextBlock Text="{locale:Locale CommonOn}" />
  272. </ComboBoxItem>
  273. </ComboBox>
  274. </StackPanel>
  275. </StackPanel>
  276. <Separator Height="1" />
  277. <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsDeveloperOptions}" />
  278. <StackPanel
  279. Margin="10,0,0,0"
  280. HorizontalAlignment="Stretch"
  281. Orientation="Vertical"
  282. Spacing="10">
  283. <StackPanel Orientation="Horizontal">
  284. <TextBlock VerticalAlignment="Center"
  285. ToolTip.Tip="{locale:Locale ShaderDumpPathTooltip}"
  286. Text="{locale:Locale SettingsTabGraphicsShaderDumpPath}"
  287. Width="250" />
  288. <TextBox Text="{Binding ShaderDumpPath}"
  289. Width="350"
  290. ToolTip.Tip="{locale:Locale ShaderDumpPathTooltip}" />
  291. </StackPanel>
  292. </StackPanel>
  293. </StackPanel>
  294. </Border>
  295. </ScrollViewer>
  296. </UserControl>