misc: chore: Use explicit types & fix object creation

This commit is contained in:
KeatonTheBot
2026-05-30 16:26:50 -05:00
parent 9d3fecf334
commit 76a123b81d
454 changed files with 3042 additions and 2961 deletions
+4 -4
View File
@@ -762,7 +762,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
_context.Renderer.BackgroundContextAction(() =>
{
var ranges = _modifiedRanges;
BufferModifiedRangeList ranges = _modifiedRanges;
if (ranges != null)
{
@@ -877,7 +877,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
if (_virtualDependencies != null)
{
foreach (var virtualBuffer in _virtualDependencies)
foreach (MultiRangeBuffer virtualBuffer in _virtualDependencies)
{
CopyToDependantVirtualBuffer(virtualBuffer, address, size);
}
@@ -902,7 +902,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
[MethodImpl(MethodImplOptions.NoInlining)]
private void CopyFromDependantVirtualBuffersImpl()
{
foreach (var virtualBuffer in _virtualDependencies.OrderBy(x => x.ModificationSequenceNumber))
foreach (MultiRangeBuffer virtualBuffer in _virtualDependencies.OrderBy(x => x.ModificationSequenceNumber))
{
virtualBuffer.ConsumeModifiedRegion(this, (mAddress, mSize) =>
{
@@ -941,7 +941,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
byte[] storage = dataSpan.ToArray();
foreach (var virtualBuffer in _virtualDependencies.OrderBy(x => x.ModificationSequenceNumber))
foreach (MultiRangeBuffer virtualBuffer in _virtualDependencies.OrderBy(x => x.ModificationSequenceNumber))
{
virtualBuffer.ConsumeModifiedRegion(address, size, (mAddress, mSize) =>
{
@@ -80,7 +80,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
// Storage buffer bindings may require special treatment.
var rawStage = stage & BufferStage.StageMask;
BufferStage rawStage = stage & BufferStage.StageMask;
if (rawStage == BufferStage.Fragment)
{
@@ -224,7 +224,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
// Storage write.
_writeCount++;
var rawStage = stage & BufferStage.StageMask;
BufferStage rawStage = stage & BufferStage.StageMask;
if (rawStage == BufferStage.Fragment)
{
@@ -401,7 +401,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
dstOffset += subRange.Size;
}
foreach (var buffer in physicalBuffers)
foreach (Buffer buffer in physicalBuffers)
{
buffer.CopyToDependantVirtualBuffer(virtualBuffer);
}
@@ -983,7 +983,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
/// <param name="toDelete">List used to track entries to delete</param>
private static void Prune(Dictionary<ulong, BufferCacheEntry> dictionary, ref List<ulong> toDelete)
{
foreach (var entry in dictionary)
foreach (KeyValuePair<ulong, BufferCacheEntry> entry in dictionary)
{
if (entry.Value.UnmappedSequence != entry.Value.Buffer.UnmappedSequence)
{
@@ -478,7 +478,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
/// </summary>
public void CommitComputeBindings()
{
var bufferCache = _channel.MemoryManager.Physical.BufferCache;
BufferCache bufferCache = _channel.MemoryManager.Physical.BufferCache;
BindBuffers(bufferCache, _cpStorageBuffers, isStorage: true);
BindBuffers(bufferCache, _cpUniformBuffers, isStorage: false);
@@ -499,10 +499,10 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
if (_bufferTextures.Count > 0)
{
foreach (var binding in _bufferTextures)
foreach (BufferTextureBinding binding in _bufferTextures)
{
var isStore = binding.BindingInfo.Flags.HasFlag(TextureUsageFlags.ImageStore);
var range = bufferCache.GetBufferRange(binding.Range, BufferStageUtils.TextureBuffer(binding.Stage, binding.BindingInfo.Flags), isStore);
bool isStore = binding.BindingInfo.Flags.HasFlag(TextureUsageFlags.ImageStore);
BufferRange range = bufferCache.GetBufferRange(binding.Range, BufferStageUtils.TextureBuffer(binding.Stage, binding.BindingInfo.Flags), isStore);
binding.Texture.SetStorage(range);
// The texture must be rebound to use the new storage if it was updated.
@@ -524,19 +524,19 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
ITexture[] textureArray = new ITexture[1];
foreach (var binding in _bufferTextureArrays)
foreach (BufferTextureArrayBinding<ITextureArray> binding in _bufferTextureArrays)
{
var range = bufferCache.GetBufferRange(binding.Range, BufferStage.None);
BufferRange range = bufferCache.GetBufferRange(binding.Range, BufferStage.None);
binding.Texture.SetStorage(range);
textureArray[0] = binding.Texture;
binding.Array.SetTextures(binding.Index, textureArray);
}
foreach (var binding in _bufferImageArrays)
foreach (BufferTextureArrayBinding<IImageArray> binding in _bufferImageArrays)
{
var isStore = binding.BindingInfo.Flags.HasFlag(TextureUsageFlags.ImageStore);
var range = bufferCache.GetBufferRange(binding.Range, BufferStage.None, isStore);
bool isStore = binding.BindingInfo.Flags.HasFlag(TextureUsageFlags.ImageStore);
BufferRange range = bufferCache.GetBufferRange(binding.Range, BufferStage.None, isStore);
binding.Texture.SetStorage(range);
textureArray[0] = binding.Texture;
@@ -555,7 +555,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
/// <param name="indexed">True if the index buffer is in use</param>
public void CommitGraphicsBindings(bool indexed)
{
var bufferCache = _channel.MemoryManager.Physical.BufferCache;
BufferCache bufferCache = _channel.MemoryManager.Physical.BufferCache;
if (indexed)
{
@@ -750,19 +750,19 @@ namespace Ryujinx.Graphics.Gpu.Memory
for (ShaderStage stage = ShaderStage.Vertex; stage <= ShaderStage.Fragment; stage++)
{
ref var buffers = ref bindings[(int)stage - 1];
ref BuffersPerStage buffers = ref bindings[(int)stage - 1];
BufferStage bufferStage = BufferStageUtils.FromShaderStage(stage);
for (int index = 0; index < buffers.Count; index++)
{
ref var bindingInfo = ref buffers.Bindings[index];
ref BufferDescriptor bindingInfo = ref buffers.Bindings[index];
BufferBounds bounds = buffers.Buffers[bindingInfo.Slot];
if (!bounds.IsUnmapped)
{
var isWrite = (bounds.Flags & BufferUsageFlags.Write) == BufferUsageFlags.Write;
var range = isStorage
bool isWrite = (bounds.Flags & BufferUsageFlags.Write) == BufferUsageFlags.Write;
BufferRange range = isStorage
? bufferCache.GetBufferRangeAligned(bounds.Range, bufferStage | BufferStageUtils.FromUsage(bounds.Flags), isWrite)
: bufferCache.GetBufferRange(bounds.Range, bufferStage);
@@ -792,14 +792,14 @@ namespace Ryujinx.Graphics.Gpu.Memory
for (int index = 0; index < buffers.Count; index++)
{
ref var bindingInfo = ref buffers.Bindings[index];
ref BufferDescriptor bindingInfo = ref buffers.Bindings[index];
BufferBounds bounds = buffers.Buffers[bindingInfo.Slot];
if (!bounds.IsUnmapped)
{
var isWrite = (bounds.Flags & BufferUsageFlags.Write) == BufferUsageFlags.Write;
var range = isStorage
bool isWrite = (bounds.Flags & BufferUsageFlags.Write) == BufferUsageFlags.Write;
BufferRange range = isStorage
? bufferCache.GetBufferRangeAligned(bounds.Range, BufferStageUtils.ComputeStorage(bounds.Flags), isWrite)
: bufferCache.GetBufferRange(bounds.Range, BufferStage.Compute);
@@ -840,11 +840,11 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
for (ShaderStage stage = ShaderStage.Vertex; stage <= ShaderStage.Fragment; stage++)
{
ref var buffers = ref bindings[(int)stage - 1];
ref BuffersPerStage buffers = ref bindings[(int)stage - 1];
for (int index = 0; index < buffers.Count; index++)
{
ref var binding = ref buffers.Bindings[index];
ref BufferDescriptor binding = ref buffers.Bindings[index];
BufferBounds bounds = buffers.Buffers[binding.Slot];
@@ -73,7 +73,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
if (binding >= 0)
{
var range = new BufferRange(_handle, 0, data.Length);
BufferRange range = new(_handle, 0, data.Length);
_renderer.Pipeline.SetUniformBuffers([new BufferAssignment(0, range)]);
}
};
@@ -14,7 +14,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
get
{
foreach (var regionHandle in _cpuRegionHandles)
foreach (RegionHandle regionHandle in _cpuRegionHandles)
{
if (regionHandle.Dirty)
{
@@ -44,7 +44,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
/// </summary>
public void Dispose()
{
foreach (var regionHandle in _cpuRegionHandles)
foreach (RegionHandle regionHandle in _cpuRegionHandles)
{
regionHandle.Dispose();
}
@@ -57,7 +57,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
/// <param name="action">Action to call on read or write</param>
public void RegisterAction(RegionSignal action)
{
foreach (var regionHandle in _cpuRegionHandles)
foreach (RegionHandle regionHandle in _cpuRegionHandles)
{
regionHandle.RegisterAction(action);
}
@@ -70,7 +70,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
/// <param name="action">Action to call on read or write</param>
public void RegisterPreciseAction(PreciseRegionSignal action)
{
foreach (var regionHandle in _cpuRegionHandles)
foreach (RegionHandle regionHandle in _cpuRegionHandles)
{
regionHandle.RegisterPreciseAction(action);
}
@@ -81,7 +81,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
/// </summary>
public void Reprotect(bool asDirty = false)
{
foreach (var regionHandle in _cpuRegionHandles)
foreach (RegionHandle regionHandle in _cpuRegionHandles)
{
regionHandle.Reprotect(asDirty);
}
@@ -92,7 +92,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
/// </summary>
public void ForceDirty()
{
foreach (var regionHandle in _cpuRegionHandles)
foreach (RegionHandle regionHandle in _cpuRegionHandles)
{
regionHandle.ForceDirty();
}
@@ -464,7 +464,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
int pages = (int)((endVaRounded - va) / PageSize);
var regions = new List<MemoryRange>();
List<MemoryRange> regions = new();
for (int page = 0; page < pages - 1; page++)
{
@@ -149,7 +149,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
if (_dependencies != null)
{
foreach (var dependency in _dependencies)
foreach (PhysicalDependency dependency in _dependencies)
{
if (dependency.PhysicalBuffer == buffer && dependency.VirtualOffset >= minimumVirtOffset)
{
@@ -231,7 +231,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
if (_dependencies != null)
{
foreach (var dependency in _dependencies)
foreach (PhysicalDependency dependency in _dependencies)
{
dependency.PhysicalBuffer.RemoveVirtualDependency(this);
}
@@ -101,10 +101,10 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
if (range.Count == 1)
{
var singleRange = range.GetSubRange(0);
MemoryRange singleRange = range.GetSubRange(0);
if (singleRange.Address != MemoryManager.PteUnmapped)
{
var regions = _cpuMemory.GetHostRegions(singleRange.Address, singleRange.Size);
IEnumerable<HostMemoryRange> regions = _cpuMemory.GetHostRegions(singleRange.Address, singleRange.Size);
if (regions != null && regions.Count() == 1)
{
@@ -138,7 +138,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
if (range.Count == 1)
{
var singleRange = range.GetSubRange(0);
MemoryRange singleRange = range.GetSubRange(0);
if (singleRange.Address != MemoryManager.PteUnmapped)
{
return _cpuMemory.GetSpan(singleRange.Address, (int)singleRange.Size, tracked);
@@ -151,7 +151,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
for (int i = 0; i < range.Count; i++)
{
var currentRange = range.GetSubRange(i);
MemoryRange currentRange = range.GetSubRange(i);
int size = (int)currentRange.Size;
if (currentRange.Address != MemoryManager.PteUnmapped)
{
@@ -198,7 +198,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
int offset = 0;
for (int i = 0; i < range.Count; i++)
{
var currentRange = range.GetSubRange(i);
MemoryRange currentRange = range.GetSubRange(i);
int size = (int)currentRange.Size;
if (currentRange.Address != MemoryManager.PteUnmapped)
{
@@ -321,7 +321,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
if (range.Count == 1)
{
var singleRange = range.GetSubRange(0);
MemoryRange singleRange = range.GetSubRange(0);
if (singleRange.Address != MemoryManager.PteUnmapped)
{
writeCallback(singleRange.Address, data);
@@ -333,7 +333,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
for (int i = 0; i < range.Count; i++)
{
var currentRange = range.GetSubRange(i);
MemoryRange currentRange = range.GetSubRange(i);
int size = (int)currentRange.Size;
if (currentRange.Address != MemoryManager.PteUnmapped)
{
@@ -381,12 +381,12 @@ namespace Ryujinx.Graphics.Gpu.Memory
/// <returns>The memory tracking handle</returns>
public GpuRegionHandle BeginTracking(MultiRange range, ResourceKind kind)
{
var cpuRegionHandles = new RegionHandle[range.Count];
RegionHandle[] cpuRegionHandles = new RegionHandle[range.Count];
int count = 0;
for (int i = 0; i < range.Count; i++)
{
var currentRange = range.GetSubRange(i);
MemoryRange currentRange = range.GetSubRange(i);
if (currentRange.Address != MemoryManager.PteUnmapped)
{
cpuRegionHandles[count++] = _cpuMemory.BeginTracking(currentRange.Address, currentRange.Size, (int)kind);
@@ -19,7 +19,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
/// <param name="renderer">Renderer that the support buffer will be used with</param>
public SupportBufferUpdater(IRenderer renderer) : base(renderer)
{
var defaultScale = new Vector4<float> { X = 1f, Y = 0f, Z = 0f, W = 0f };
Vector4<float> defaultScale = new() { X = 1f, Y = 0f, Z = 0f, W = 0f };
_data.RenderScale.AsSpan().Fill(defaultScale);
DirtyRenderScale(0, SupportBuffer.RenderScaleMaxCount);
}