diff --git a/src/Ryujinx.Graphics.RenderDocApi/RenderDoc.cs b/src/Ryujinx.Graphics.RenderDocApi/RenderDoc.cs
index c6550fb48..51bc7c12c 100644
--- a/src/Ryujinx.Graphics.RenderDocApi/RenderDoc.cs
+++ b/src/Ryujinx.Graphics.RenderDocApi/RenderDoc.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Immutable;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
@@ -279,6 +280,29 @@ namespace Ryujinx.Graphics.RenderDocApi
Api->TriggerCapture();
}
+
+ ///
+ /// Gets the details of all frame capture in the current session.
+ /// This simply calls for each index available as specified by .
+ ///
+ /// An immutable array of structs representing RenderDoc Captures.
+ public static ImmutableArray GetCaptures()
+ {
+ if (Api is null) return [];
+ int captureCount = CaptureCount;
+ if (captureCount is 0) return [];
+
+ ImmutableArray.Builder captures = ImmutableArray.CreateBuilder(captureCount);
+
+ for (int captureIndex = 0; captureIndex < captureCount; captureIndex++)
+ {
+ if (GetCapture(captureIndex) is { } capture)
+ captures.Add(capture);
+ }
+
+ return captures.DrainToImmutable();
+ }
+
///
/// Gets the details of a particular frame capture, as specified by an index from 0 to - 1.
///