aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.GAL/SystemMemoryType.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.GAL/SystemMemoryType.cs')
-rw-r--r--src/Ryujinx.Graphics.GAL/SystemMemoryType.cs29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.GAL/SystemMemoryType.cs b/src/Ryujinx.Graphics.GAL/SystemMemoryType.cs
new file mode 100644
index 00000000..53292129
--- /dev/null
+++ b/src/Ryujinx.Graphics.GAL/SystemMemoryType.cs
@@ -0,0 +1,29 @@
+namespace Ryujinx.Graphics.GAL
+{
+ public enum SystemMemoryType
+ {
+ /// <summary>
+ /// The backend manages the ownership of memory. This mode never supports host imported memory.
+ /// </summary>
+ BackendManaged,
+
+ /// <summary>
+ /// Device memory has similar performance to host memory, usually because it's shared between CPU/GPU.
+ /// Use host memory whenever possible.
+ /// </summary>
+ UnifiedMemory,
+
+ /// <summary>
+ /// GPU storage to host memory goes though a slow interconnect, but it would still be preferable to use it if the data is flushed back often.
+ /// Assumes constant buffer access to host memory is rather fast.
+ /// </summary>
+ DedicatedMemory,
+
+ /// <summary>
+ /// GPU storage to host memory goes though a slow interconnect, that is very slow when doing access from storage.
+ /// When frequently accessed, copy buffers to host memory using DMA.
+ /// Assumes constant buffer access to host memory is rather fast.
+ /// </summary>
+ DedicatedMemorySlowStorage
+ }
+}