Compare commits

...

7 Commits

10 changed files with 42 additions and 22 deletions

View File

@ -193,7 +193,7 @@ namespace ARMeilleure.Translation.PTC
_infosStream.Seek(0L, SeekOrigin.Begin); _infosStream.Seek(0L, SeekOrigin.Begin);
bool foundBadFunction = false; bool foundBadFunction = false;
for (int index = 0; index < GetEntriesCount(); index++) for (int index = 0; index < _infosStream.Length; index++)
{ {
InfoEntry infoEntry = DeserializeStructure<InfoEntry>(_infosStream); InfoEntry infoEntry = DeserializeStructure<InfoEntry>(_infosStream);
foreach (ulong address in blacklist) foreach (ulong address in blacklist)
@ -201,7 +201,7 @@ namespace ARMeilleure.Translation.PTC
if (infoEntry.Address == address) if (infoEntry.Address == address)
{ {
containsBlacklistedFunctions = true; containsBlacklistedFunctions = true;
Logger.Warning?.Print(LogClass.Ptc, "PPTC cache invalidated: Found blacklisted functions in PPTC cache"); Logger.Warning?.Print(LogClass.Ptc, "Translation cache invalidated: Found blacklisted functions");
foundBadFunction = true; foundBadFunction = true;
break; break;
} }

View File

@ -512,13 +512,9 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl
if (context.Definitions.Stage == ShaderStage.Fragment && context.Definitions.DualSourceBlend) if (context.Definitions.Stage == ShaderStage.Fragment && context.Definitions.DualSourceBlend)
{ {
IoDefinition firstOutput = outputs.ElementAtOrDefault(0); IoDefinition firstOutput = outputs.ElementAtOrDefault(0);
IoDefinition secondOutput = outputs.ElementAtOrDefault(1);
if (firstOutput.Location + 1 == secondOutput.Location) DeclareOutputDualSourceBlendAttribute(context, firstOutput.Location);
{ outputs = outputs.Skip(2);
DeclareOutputDualSourceBlendAttribute(context, firstOutput.Location);
outputs = outputs.Skip(2);
}
} }
foreach (IoDefinition ioDefinition in outputs) foreach (IoDefinition ioDefinition in outputs)

View File

@ -181,13 +181,29 @@ namespace Ryujinx.Graphics.Shader.Translation
private static void EmitOutputsInitialization(EmitterContext context, AttributeUsage attributeUsage, IGpuAccessor gpuAccessor, ShaderStage stage) private static void EmitOutputsInitialization(EmitterContext context, AttributeUsage attributeUsage, IGpuAccessor gpuAccessor, ShaderStage stage)
{ {
// Compute has no output attributes, and fragment is the last stage, so we // Compute has no output attributes, so we
// don't need to initialize outputs on those stages. // don't need to initialize outputs on that stage.
if (stage == ShaderStage.Compute || stage == ShaderStage.Fragment) if (stage == ShaderStage.Compute)
{ {
return; return;
} }
if (stage == ShaderStage.Fragment)
{
// Fragment is the last stage, so we don't need to
// initialize outputs unless we're using DSB, in which
// we need to make sure the ouput has a valid value.
if (gpuAccessor.QueryGraphicsState().DualSourceBlendEnable)
{
for (int i = 0; i < 4; i++)
{
context.Store(StorageKind.Output, IoVariable.FragmentOutputColor, null, Const(1), Const(i), ConstF(0));
}
}
return;
}
if (stage == ShaderStage.Vertex) if (stage == ShaderStage.Vertex)
{ {
InitializeVertexOutputs(context); InitializeVertexOutputs(context);

View File

@ -165,10 +165,8 @@ namespace Ryujinx.Headless
ReloadConfig(); ReloadConfig();
if (option.InheritConfig) if (!option.DisableMainInputConfig)
{
option.InheritMainConfigInput(originalArgs, ConfigurationState.Instance); option.InheritMainConfigInput(originalArgs, ConfigurationState.Instance);
}
_virtualFileSystem = VirtualFileSystem.CreateInstance(); _virtualFileSystem = VirtualFileSystem.CreateInstance();
_libHacHorizonManager = new LibHacHorizonManager(); _libHacHorizonManager = new LibHacHorizonManager();

View File

@ -193,6 +193,9 @@ namespace Ryujinx.Headless
[Option("use-main-config", Required = false, Default = false, HelpText = "Use the settings from what was configured via the UI.")] [Option("use-main-config", Required = false, Default = false, HelpText = "Use the settings from what was configured via the UI.")]
public bool InheritConfig { get; set; } public bool InheritConfig { get; set; }
[Option("disable-main-input-config", Required = false, Default = false, HelpText = "Do not use the input-related settings from what was configured via the UI.")]
public bool DisableMainInputConfig { get; set; }
[Option("root-data-dir", Required = false, HelpText = "Set the custom folder path for Ryujinx data.")] [Option("root-data-dir", Required = false, HelpText = "Set the custom folder path for Ryujinx data.")]
public string BaseDataDir { get; set; } public string BaseDataDir { get; set; }

View File

@ -1116,8 +1116,8 @@ namespace Ryujinx.Ava.Systems
LocaleManager.Instance[LocaleKeys.VolumeShort] + $": {(int)(Device.GetVolume() * 100)}%", LocaleManager.Instance[LocaleKeys.VolumeShort] + $": {(int)(Device.GetVolume() * 100)}%",
dockedMode, dockedMode,
ConfigurationState.Instance.Graphics.AspectRatio.Value.ToText(), ConfigurationState.Instance.Graphics.AspectRatio.Value.ToText(),
FormatGameFrameRate(), Device.System.IsPaused ? LocaleManager.GetUnformatted(LocaleKeys.Paused) : FormatGameFrameRate(),
Device.Statistics.FormatFifoPercent(), Device.System.IsPaused ? string.Empty : Device.Statistics.FormatFifoPercent(),
_displayCount)); _displayCount));
} }

View File

@ -23,7 +23,7 @@ namespace Ryujinx.Ava.Systems
private static readonly string _description = private static readonly string _description =
ReleaseInformation.IsValid ReleaseInformation.IsValid
? $"{VersionString} {ReleaseInformation.ReleaseChannelOwner}/{ReleaseInformation.ReleaseChannelSourceRepo}" ? $"{VersionString} {ReleaseInformation.ReleaseChannelOwner}/{ReleaseInformation.ReleaseChannelRepo}"
: "dev build"; : "dev build";
private const string ApplicationId = "1293250299716173864"; private const string ApplicationId = "1293250299716173864";

View File

@ -14,8 +14,8 @@ namespace Ryujinx.Ava.UI.ViewModels
[ObservableProperty] private Bitmap _gitLabLogo; [ObservableProperty] private Bitmap _gitLabLogo;
[ObservableProperty] private Bitmap _discordLogo; [ObservableProperty] private Bitmap _discordLogo;
[ObservableProperty] private string _version; [ObservableProperty] private string _version;
public string Developers => "GreemDev"; public string Developers => "GreemDev, LotP";
public string FormerDevelopers => LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.AboutPageDeveloperListMore, "gdkchan, Ac_K, marysaka, rip in peri peri, LDj3SNuD, emmaus, Thealexbarney, GoffyDude, TSRBerry, IsaacMarovitz"); public string FormerDevelopers => LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.AboutPageDeveloperListMore, "gdkchan, Ac_K, marysaka, rip in peri peri, LDj3SNuD, emmaus, Thealexbarney, GoffyDude, TSRBerry, IsaacMarovitz");

View File

@ -249,7 +249,14 @@
IsVisible="{Binding !ShowLoadProgress}" IsVisible="{Binding !ShowLoadProgress}"
Text="{Binding GameStatusText}" Text="{Binding GameStatusText}"
TextAlignment="Start" /> TextAlignment="Start" />
<controls:MiniVerticalSeparator IsVisible="{Binding !ShowLoadProgress}" /> <controls:MiniVerticalSeparator>
<controls:MiniVerticalSeparator.IsVisible>
<MultiBinding Converter="{x:Static BoolConverters.And}">
<Binding Path="!ShowLoadProgress"/>
<Binding Path="!IsPaused"/>
</MultiBinding>
</controls:MiniVerticalSeparator.IsVisible>
</controls:MiniVerticalSeparator>
<TextBlock <TextBlock
Margin="5,0,5,0" Margin="5,0,5,0"
HorizontalAlignment="Left" HorizontalAlignment="Left"

View File

@ -109,7 +109,7 @@
SimpleNumberFormat="F0" SimpleNumberFormat="F0"
SpinButtonPlacementMode="Hidden" SpinButtonPlacementMode="Hidden"
Minimum="50" Minimum="50"
Maximum="300" /> Maximum="1000" />
<Slider Value="{Binding TurboMultiplier}" <Slider Value="{Binding TurboMultiplier}"
ToolTip.Tip="{ext:Locale SettingsTabSystemTurboMultiplierValueToolTip}" ToolTip.Tip="{ext:Locale SettingsTabSystemTurboMultiplierValueToolTip}"
MinWidth="175" MinWidth="175"
@ -122,7 +122,7 @@
SmallChange="1" SmallChange="1"
VerticalAlignment="Center" VerticalAlignment="Center"
Minimum="50" Minimum="50"
Maximum="500" /> Maximum="1000" />
<TextBlock Margin="5,0" <TextBlock Margin="5,0"
Width="40" Width="40"
Text="{Binding TurboMultiplierPercentageText}"/> Text="{Binding TurboMultiplierPercentageText}"/>