mirror of
https://git.ryujinx.app/projects/Kenji-NX.git
synced 2026-10-04 00:11:02 +02:00
Add KosmicKrisp translation layer for macOS 26+
- Mesa 26.0 introduced KosmicKrisp, a Vulkan-on-Metal translation layer and the eventual successor to MoltenVK
This commit is contained in:
@@ -118,6 +118,8 @@ namespace Ryujinx.Ava.UI.ViewModels
|
||||
|
||||
public bool IsHypervisorAvailable => OperatingSystem.IsMacOS() && RuntimeInformation.ProcessArchitecture == Architecture.Arm64;
|
||||
|
||||
public bool IsKosmicKrispAvailable => OperatingSystem.IsMacOSVersionAtLeast(15);
|
||||
|
||||
public bool GameDirectoryChanged
|
||||
{
|
||||
get => _gameDirectoryChanged;
|
||||
@@ -317,12 +319,22 @@ namespace Ryujinx.Ava.UI.ViewModels
|
||||
get;
|
||||
set
|
||||
{
|
||||
field = value;
|
||||
field = IsMacOS ? 0 : value;
|
||||
OnPropertyChanged();
|
||||
OnPropertyChanged(nameof(IsVulkanSelected));
|
||||
}
|
||||
}
|
||||
|
||||
public int TranslationLayerIndex
|
||||
{
|
||||
get;
|
||||
set
|
||||
{
|
||||
field = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public int ScalingFilter
|
||||
{
|
||||
get => _scalingFilter;
|
||||
@@ -626,6 +638,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
||||
|
||||
// Graphics
|
||||
GraphicsBackendIndex = (int)config.Graphics.GraphicsBackend.Value;
|
||||
TranslationLayerIndex = (int)config.Graphics.TranslationLayer.Value;
|
||||
// Physical devices are queried asynchronously hence the preferred index config value is loaded in LoadAvailableGpus().
|
||||
EnableShaderCache = config.Graphics.EnableShaderCache;
|
||||
EnableTextureRecompression = config.Graphics.EnableTextureRecompression;
|
||||
@@ -746,6 +759,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
||||
|
||||
// Graphics
|
||||
config.Graphics.GraphicsBackend.Value = (GraphicsBackend)GraphicsBackendIndex;
|
||||
config.Graphics.TranslationLayer.Value = (TranslationLayer)TranslationLayerIndex;
|
||||
config.Graphics.PreferredGpu.Value = _gpuIds.ElementAtOrDefault(PreferredGpuIndex);
|
||||
config.Graphics.EnableShaderCache.Value = EnableShaderCache;
|
||||
config.Graphics.EnableTextureRecompression.Value = EnableTextureRecompression;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
Spacing="10">
|
||||
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsAPI}" />
|
||||
<StackPanel Margin="10,0,0,0" Orientation="Vertical" Spacing="10">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<StackPanel Orientation="Horizontal" IsVisible="{Binding !IsMacOS}">
|
||||
<TextBlock VerticalAlignment="Center"
|
||||
ToolTip.Tip="{locale:Locale SettingsTabGraphicsBackendTooltip}"
|
||||
Text="{locale:Locale SettingsTabGraphicsBackend}"
|
||||
@@ -45,6 +45,22 @@
|
||||
Content="OpenGL" />
|
||||
</ComboBox>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" IsVisible="{Binding IsMacOS}">
|
||||
<TextBlock VerticalAlignment="Center"
|
||||
ToolTip.Tip="{locale:Locale SettingsTabTranslationLayerTooltip}"
|
||||
Text="{locale:Locale SettingsTabTranslationLayer}"
|
||||
Width="250" />
|
||||
<ComboBox Width="350"
|
||||
HorizontalContentAlignment="Left"
|
||||
ToolTip.Tip="{locale:Locale SettingsTabTranslationLayerTooltip}"
|
||||
SelectedIndex="{Binding TranslationLayerIndex}">
|
||||
<ComboBoxItem
|
||||
Content="MoltenVK" />
|
||||
<ComboBoxItem
|
||||
IsEnabled="{Binding IsKosmicKrispAvailable}"
|
||||
Content="KosmicKrisp" />
|
||||
</ComboBox>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" IsVisible="{Binding IsVulkanSelected}">
|
||||
<TextBlock VerticalAlignment="Center"
|
||||
ToolTip.Tip="{locale:Locale SettingsTabGraphicsPreferredGpuTooltip}"
|
||||
@@ -56,7 +72,24 @@
|
||||
SelectedIndex="{Binding PreferredGpuIndex}"
|
||||
ItemsSource="{Binding AvailableGpus}"/>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock VerticalAlignment="Center"
|
||||
ToolTip.Tip="{locale:Locale GraphicsBackendThreadingTooltip}"
|
||||
Text="{locale:Locale SettingsTabGraphicsBackendMultithreading}"
|
||||
Width="250" />
|
||||
<ComboBox Width="350"
|
||||
HorizontalContentAlignment="Left"
|
||||
ToolTip.Tip="{locale:Locale GalThreadingTooltip}"
|
||||
SelectedIndex="{Binding GraphicsBackendMultithreadingIndex}">
|
||||
<ComboBoxItem
|
||||
Content="{locale:Locale CommonAuto}" />
|
||||
<ComboBoxItem
|
||||
Content="{locale:Locale CommonOff}" />
|
||||
<ComboBoxItem
|
||||
Content="{locale:Locale CommonOn}" />
|
||||
</ComboBox>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
<Separator Height="1" />
|
||||
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsFeatures}" />
|
||||
<StackPanel Margin="10,0,0,0" Orientation="Vertical" Spacing="10">
|
||||
|
||||
Reference in New Issue
Block a user