diff options
| author | jhorv <38920027+jhorv@users.noreply.github.com> | 2023-03-11 15:05:48 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-11 17:05:48 -0300 |
| commit | 23c844b2aa84a65e573dcc023d19b8f5294a8baf (patch) | |
| tree | bf9d41ee0f94b833bb52b6b0016ca99a991cd441 /Ryujinx.Graphics.Vulkan/SpecInfo.cs | |
| parent | 81691b9e3716c7f7f8b243f0f4ded1d90c526a4e (diff) | |
Misc performance tweaks (#4509)
* use Array.Empty() where instead of allocating new zero-length arrays
* structure for loops in a way that the JIT will elide array/Span bounds checking
* avoiding function calls in for loop condition tests
* avoid LINQ in a hot path
* conform with code style
* fix mistake in GetNextWaitingObject()
* fix GetNextWaitingObject() possibility of returning null if all list items have TimePoint == long.MaxValue
* make GetNextWaitingObject() behave FIFO behavior for multiple items with the same TimePoint
Diffstat (limited to 'Ryujinx.Graphics.Vulkan/SpecInfo.cs')
| -rw-r--r-- | Ryujinx.Graphics.Vulkan/SpecInfo.cs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Ryujinx.Graphics.Vulkan/SpecInfo.cs b/Ryujinx.Graphics.Vulkan/SpecInfo.cs index 83a34cde..4d226f61 100644 --- a/Ryujinx.Graphics.Vulkan/SpecInfo.cs +++ b/Ryujinx.Graphics.Vulkan/SpecInfo.cs @@ -29,7 +29,7 @@ namespace Ryujinx.Graphics.Vulkan uint structSize = 0; - for (int i = 0; i < count; ++i) + for (int i = 0; i < Map.Length; ++i) { var typeSize = SizeOf(description[i].Type); Map[i] = new SpecializationMapEntry(description[i].Id, structSize, typeSize); @@ -46,11 +46,10 @@ namespace Ryujinx.Graphics.Vulkan // For advanced mapping with overlapping or staggered fields public SpecDescription(SpecializationMapEntry[] map) { - int count = map.Length; Map = map; uint structSize = 0; - for (int i = 0; i < count; ++i) + for (int i = 0; i < map.Length; ++i) { structSize = Math.Max(structSize, map[i].Offset + (uint)map[i].Size); } |
