aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/Gpu/Memory
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2018-07-19 16:02:51 -0300
committergdkchan <gab.dark.100@gmail.com>2018-07-19 16:02:51 -0300
commit5fe0bc584b21c660e083a9cb37aa0a8be4719f95 (patch)
tree1d8a1e44d379d03a0d967a92475756d05a9e62e2 /Ryujinx.HLE/Gpu/Memory
parent45bb24dbae7b4fb4118036aa74024605995510fd (diff)
Send data to OpenGL host without client-side copies (#285)
* Directly send host address to buffer data * Cleanup OGLShader * Directly copy vertex and index data too * Revert shader bind "cache" * Address feedback
Diffstat (limited to 'Ryujinx.HLE/Gpu/Memory')
-rw-r--r--Ryujinx.HLE/Gpu/Memory/NvGpuVmm.cs6
1 files changed, 6 insertions, 0 deletions
diff --git a/Ryujinx.HLE/Gpu/Memory/NvGpuVmm.cs b/Ryujinx.HLE/Gpu/Memory/NvGpuVmm.cs
index 0c81dd15..7b23e49f 100644
--- a/Ryujinx.HLE/Gpu/Memory/NvGpuVmm.cs
+++ b/Ryujinx.HLE/Gpu/Memory/NvGpuVmm.cs
@@ -1,5 +1,6 @@
using ChocolArm64.Memory;
using Ryujinx.Graphics.Gal;
+using System;
using System.Collections.Concurrent;
namespace Ryujinx.HLE.Gpu.Memory
@@ -279,6 +280,11 @@ namespace Ryujinx.HLE.Gpu.Memory
return Cache.IsRegionModified(Memory, BufferType, PA, Size);
}
+ public IntPtr GetHostAddress(long Position, long Size)
+ {
+ return Memory.GetHostAddress(GetPhysicalAddress(Position), Size);
+ }
+
public byte ReadByte(long Position)
{
Position = GetPhysicalAddress(Position);