SettingsGraphicsView.axaml 17 KB

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