aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Memory
diff options
context:
space:
mode:
authorgdk <gab.dark.100@gmail.com>2019-11-08 17:29:41 -0300
committerThog <thog@protonmail.com>2020-01-09 02:13:00 +0100
commit769c02235f489f02b1791e6e76dc8b3ab18028ee (patch)
treeef0a2ffc5030360d5cef78e7c67e131e44348d50 /Ryujinx.Graphics.Gpu/Memory
parent1e8bc29f32cde08616175f8f87405dfa7b8c4025 (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.cs34
-rw-r--r--Ryujinx.Graphics.Gpu/Memory/ConcurrentRangeList.cs2
-rw-r--r--Ryujinx.Graphics.Gpu/Memory/RangeList.cs16
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);