diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2018-07-19 16:02:51 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-07-19 16:02:51 -0300 |
| commit | 5fe0bc584b21c660e083a9cb37aa0a8be4719f95 (patch) | |
| tree | 1d8a1e44d379d03a0d967a92475756d05a9e62e2 /Ryujinx.HLE/Gpu/Memory | |
| parent | 45bb24dbae7b4fb4118036aa74024605995510fd (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.cs | 6 |
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); |
