diff options
| author | gdk <gab.dark.100@gmail.com> | 2019-11-08 17:29:41 -0300 |
|---|---|---|
| committer | Thog <thog@protonmail.com> | 2020-01-09 02:13:00 +0100 |
| commit | 769c02235f489f02b1791e6e76dc8b3ab18028ee (patch) | |
| tree | ef0a2ffc5030360d5cef78e7c67e131e44348d50 /Ryujinx.Graphics.Gpu/Memory | |
| parent | 1e8bc29f32cde08616175f8f87405dfa7b8c4025 (diff) | |
Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Memory')
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Memory/BufferManager.cs | 34 | ||||
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Memory/ConcurrentRangeList.cs | 2 | ||||
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Memory/RangeList.cs | 16 |
3 files changed, 0 insertions, 52 deletions
diff --git a/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs b/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs index 1431bf41..78b7bc98 100644 --- a/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs +++ b/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs @@ -298,23 +298,6 @@ namespace Ryujinx.Graphics.Gpu.Memory BufferRange buffer = GetBufferRange(bounds.Address, bounds.Size); _context.Renderer.Pipeline.BindUniformBuffer(index, ShaderStage.Compute, buffer); - - if (index == 0) - { - // TODO: Improve - Span<byte> data = _context.PhysicalMemory.Read(bounds.Address + 0x310, 0x100); - - Span<int> words = MemoryMarshal.Cast<byte, int>(data); - - for (int offset = 0; offset < 0x40; offset += 4) - { - words[offset] &= 0x3f; - } - - buffer = GetBufferRange(bounds.Address + 0x310, 0x100); - - buffer.Buffer.SetData(buffer.Offset, data); - } } // Force rebind after doing compute work. @@ -460,23 +443,6 @@ namespace Ryujinx.Graphics.Gpu.Memory { _context.Renderer.Pipeline.BindUniformBuffer(index, stage, buffer); } - - if (!isStorage && index == 0) - { - // TODO: Improve - Span<byte> data = _context.PhysicalMemory.Read(bounds.Address + 0x110, 0x100); - - Span<int> words = MemoryMarshal.Cast<byte, int>(data); - - for (int offset = 0; offset < 0x40; offset += 4) - { - words[offset] &= 0x3f; - } - - buffer = GetBufferRange(bounds.Address + 0x110, 0x100); - - buffer.Buffer.SetData(buffer.Offset, data); - } } public void CopyBuffer(GpuVa srcVa, GpuVa dstVa, ulong size) diff --git a/Ryujinx.Graphics.Gpu/Memory/ConcurrentRangeList.cs b/Ryujinx.Graphics.Gpu/Memory/ConcurrentRangeList.cs index 7bcb011c..6d7d1ce2 100644 --- a/Ryujinx.Graphics.Gpu/Memory/ConcurrentRangeList.cs +++ b/Ryujinx.Graphics.Gpu/Memory/ConcurrentRangeList.cs @@ -6,8 +6,6 @@ namespace Ryujinx.Graphics.Gpu.Memory { private List<T> _items; - public int Count => _items.Count; - public ConcurrentRangeList() { _items = new List<T>(); diff --git a/Ryujinx.Graphics.Gpu/Memory/RangeList.cs b/Ryujinx.Graphics.Gpu/Memory/RangeList.cs index 072fdfe8..e3435292 100644 --- a/Ryujinx.Graphics.Gpu/Memory/RangeList.cs +++ b/Ryujinx.Graphics.Gpu/Memory/RangeList.cs @@ -6,8 +6,6 @@ namespace Ryujinx.Graphics.Gpu.Memory { private List<T> _items; - public int Count => _items.Count; - public RangeList() { _items = new List<T>(); @@ -57,20 +55,6 @@ namespace Ryujinx.Graphics.Gpu.Memory return false; } - public bool CanExitEarly(ulong address, ulong size) - { - int index = BinarySearch(address, size); - - if (index >= 0) - { - T item = _items[index]; - - return address >= item.Address && address + size <= item.Address + item.Size; - } - - return false; - } - public T FindFirstOverlap(T item) { return FindFirstOverlap(item.Address, item.Size); |
