Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
83fda10f6e | ||
|
d97e995e59 |
@@ -18,16 +18,12 @@ namespace Ryujinx.Audio.Renderer.Server.Performance
|
|||||||
|
|
||||||
if (version == 2)
|
if (version == 2)
|
||||||
{
|
{
|
||||||
return (ulong)PerformanceManagerGeneric<PerformanceFrameHeaderVersion2,
|
return (ulong)PerformanceManagerGeneric<PerformanceFrameHeaderVersion2, PerformanceEntryVersion2, PerformanceDetailVersion2>.GetRequiredBufferSizeForPerformanceMetricsPerFrame(ref parameter);
|
||||||
PerformanceEntryVersion2,
|
|
||||||
PerformanceDetailVersion2>.GetRequiredBufferSizeForPerformanceMetricsPerFrame(ref parameter);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (version == 1)
|
if (version == 1)
|
||||||
{
|
{
|
||||||
return (ulong)PerformanceManagerGeneric<PerformanceFrameHeaderVersion1,
|
return (ulong)PerformanceManagerGeneric<PerformanceFrameHeaderVersion1, PerformanceEntryVersion1, PerformanceDetailVersion1>.GetRequiredBufferSizeForPerformanceMetricsPerFrame(ref parameter);
|
||||||
PerformanceEntryVersion1,
|
|
||||||
PerformanceDetailVersion1>.GetRequiredBufferSizeForPerformanceMetricsPerFrame(ref parameter);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new NotImplementedException($"Unknown Performance metrics data format version {version}");
|
throw new NotImplementedException($"Unknown Performance metrics data format version {version}");
|
||||||
|
@@ -234,7 +234,7 @@ namespace Ryujinx.Audio.Renderer.Server.Performance
|
|||||||
{
|
{
|
||||||
performanceEntry = null;
|
performanceEntry = null;
|
||||||
|
|
||||||
if (_entryDetailIndex > MaxFrameDetailCount)
|
if (_entryDetailIndex >= MaxFrameDetailCount)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -245,7 +245,7 @@ namespace Ryujinx.Audio.Renderer.Server.Performance
|
|||||||
EntryCountOffset = (uint)CurrentHeader.GetEntryCountOffset(),
|
EntryCountOffset = (uint)CurrentHeader.GetEntryCountOffset(),
|
||||||
};
|
};
|
||||||
|
|
||||||
uint baseEntryOffset = (uint)(Unsafe.SizeOf<THeader>() + GetEntriesSize() + Unsafe.SizeOf<IPerformanceDetailEntry>() * _entryDetailIndex);
|
uint baseEntryOffset = (uint)(Unsafe.SizeOf<THeader>() + GetEntriesSize() + Unsafe.SizeOf<TEntryDetail>() * _entryDetailIndex);
|
||||||
|
|
||||||
ref TEntryDetail entryDetail = ref EntriesDetail[_entryDetailIndex];
|
ref TEntryDetail entryDetail = ref EntriesDetail[_entryDetailIndex];
|
||||||
|
|
||||||
|
@@ -9,5 +9,6 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvDrvServices.NvHostCtrlGpu.Types
|
|||||||
public byte Sm0TpcIndex;
|
public byte Sm0TpcIndex;
|
||||||
public byte Sm1GpcIndex;
|
public byte Sm1GpcIndex;
|
||||||
public byte Sm1TpcIndex;
|
public byte Sm1TpcIndex;
|
||||||
|
public uint Reserved;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -266,8 +266,18 @@ namespace Ryujinx.UI.App.Common
|
|||||||
public bool TryGetApplicationsFromFile(string applicationPath, out List<ApplicationData> applications)
|
public bool TryGetApplicationsFromFile(string applicationPath, out List<ApplicationData> applications)
|
||||||
{
|
{
|
||||||
applications = [];
|
applications = [];
|
||||||
|
long fileSize;
|
||||||
|
|
||||||
long fileSize = new FileInfo(applicationPath).Length;
|
try
|
||||||
|
{
|
||||||
|
fileSize = new FileInfo(applicationPath).Length;
|
||||||
|
}
|
||||||
|
catch (FileNotFoundException)
|
||||||
|
{
|
||||||
|
Logger.Warning?.Print(LogClass.Application, $"The file was not found: '{applicationPath}'");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
BlitStruct<ApplicationControlProperty> controlHolder = new(1);
|
BlitStruct<ApplicationControlProperty> controlHolder = new(1);
|
||||||
|
|
||||||
@@ -502,7 +512,13 @@ namespace Ryujinx.UI.App.Common
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
IEnumerable<string> files = Directory.EnumerateFiles(appDir, "*", SearchOption.AllDirectories).Where(file =>
|
EnumerationOptions options = new()
|
||||||
|
{
|
||||||
|
RecurseSubdirectories = true,
|
||||||
|
IgnoreInaccessible = false,
|
||||||
|
};
|
||||||
|
|
||||||
|
IEnumerable<string> files = Directory.EnumerateFiles(appDir, "*", options).Where(file =>
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
(Path.GetExtension(file).ToLower() is ".nsp" && ConfigurationState.Instance.UI.ShownFileTypes.NSP.Value) ||
|
(Path.GetExtension(file).ToLower() is ".nsp" && ConfigurationState.Instance.UI.ShownFileTypes.NSP.Value) ||
|
||||||
@@ -521,14 +537,18 @@ namespace Ryujinx.UI.App.Common
|
|||||||
}
|
}
|
||||||
|
|
||||||
var fileInfo = new FileInfo(app);
|
var fileInfo = new FileInfo(app);
|
||||||
string extension = fileInfo.Extension.ToLower();
|
|
||||||
|
|
||||||
if (!fileInfo.Attributes.HasFlag(FileAttributes.Hidden) && extension is ".nsp" or ".pfs0" or ".xci" or ".nca" or ".nro" or ".nso")
|
try
|
||||||
{
|
{
|
||||||
var fullPath = fileInfo.ResolveLinkTarget(true)?.FullName ?? fileInfo.FullName;
|
var fullPath = fileInfo.ResolveLinkTarget(true)?.FullName ?? fileInfo.FullName;
|
||||||
|
|
||||||
applicationPaths.Add(fullPath);
|
applicationPaths.Add(fullPath);
|
||||||
numApplicationsFound++;
|
numApplicationsFound++;
|
||||||
}
|
}
|
||||||
|
catch (IOException exception)
|
||||||
|
{
|
||||||
|
Logger.Warning?.Print(LogClass.Application, $"Failed to resolve the full path to file: \"{app}\" Error: {exception}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (UnauthorizedAccessException)
|
catch (UnauthorizedAccessException)
|
||||||
|
Reference in New Issue
Block a user