From f234825588361d058313d9bc4c07acacb03d7bdd Mon Sep 17 00:00:00 2001 From: GreemDev Date: Sun, 28 Dec 2025 02:24:13 -0600 Subject: [PATCH] give enums XMLdocs as per the api header --- .../CaptureOption.cs | 78 +++++++++++++++++++ .../OverlayBits.cs | 22 +++++- 2 files changed, 99 insertions(+), 1 deletion(-) diff --git a/src/Ryujinx.Graphics.RenderDocApi/CaptureOption.cs b/src/Ryujinx.Graphics.RenderDocApi/CaptureOption.cs index dbb8494a8..cd3f860d2 100644 --- a/src/Ryujinx.Graphics.RenderDocApi/CaptureOption.cs +++ b/src/Ryujinx.Graphics.RenderDocApi/CaptureOption.cs @@ -4,19 +4,97 @@ namespace Ryujinx.Graphics.RenderDocApi { public enum CaptureOption { + /// + /// specifies whether the application is allowed to enable vsync. Default is on. + /// AllowVsync = 0, + /// + /// specifies whether the application is allowed to enter exclusive fullscreen. Default is on. + /// AllowFullscreen = 1, + /// + /// specifies whether (where possible) API-specific debugging is enabled. Default is off. + /// ApiValidation = 2, + /// + /// specifies whether each API call should save a callstack. Default is off. + /// CaptureCallstacks = 3, + /// + /// specifies whether, if is enabled, callstacks are only saved on actions. Default is off. + /// CaptureCallstacksOnlyDraws = 4, + /// + /// specifies a delay in seconds after launching a process to pause, to allow debuggers to attach.
+ /// This will only apply to child processes since the delay happens at process startup. Default is 0. + ///
DelayForDebugger = 5, + /// + /// specifies whether any mapped memory updates should be bounds-checked for overruns, + /// and uninitialised buffers are initialized to 0xDDDDDDDD to catch use of uninitialised data. + /// Only supported on D3D11 and OpenGL. Default is off. + /// + /// + /// This option is only valid for OpenGL and D3D11. Explicit APIs such as D3D12 and Vulkan do + /// not do the same kind of interception & checking, and undefined contents are really undefined. + /// VerifyBufferAccess = 6, + /// + /// Hooks any system API calls that create child processes, and injects + /// RenderDoc into them recursively with the same options. + /// HookIntoChildren = 7, + /// + /// specifies whether all live resources at the time of capture should be included in the capture, + /// even if they are not referenced by the frame. Default is off. + /// RefAllSources = 8, + /// + /// By default, RenderDoc skips saving initial states for resources where the + /// previous contents don't appear to be used, assuming that writes before + /// reads indicate previous contents aren't used. + /// + /// + /// **NOTE**: As of RenderDoc v1.1 this option has been deprecated. Setting or + /// getting it will be ignored, to allow compatibility with older versions. + /// In v1.1 the option acts as if it's always enabled. + /// SaveAllInitials = 9, + /// + /// In APIs that allow for the recording of command lists to be replayed later, + /// RenderDoc may choose to not capture command lists before a frame capture is + /// triggered, to reduce overheads. This means any command lists recorded once + /// and replayed many times will not be available and may cause a failure to + /// capture. + /// + /// + /// NOTE: This is only true for APIs where multithreading is difficult or + /// discouraged. Newer APIs like Vulkan and D3D12 will ignore this option + /// and always capture all command lists since the API is heavily oriented + /// around it and the overheads have been reduced by API design. + /// CaptureAllCmdLists = 10, + /// + /// Mute API debugging output when the option is enabled. + /// DebugOutputMute = 11, + /// + /// Allow vendor extensions to be used even when they may be + /// incompatible with RenderDoc and cause corrupted replays or crashes. + /// AllowUnsupportedVendorExtensions = 12, + /// + /// Define a soft memory limit which some APIs may aim to keep overhead under where + /// possible. Anything above this limit will where possible be saved directly to disk during + /// capture.
+ /// This will cause increased disk space use (which may cause a capture to fail if disk space is + /// exhausted) as well as slower capture times. + ///

+ /// Not all memory allocations may be deferred like this so it is not a guarantee of a memory + /// limit. + ///

+ /// Units are in MBs, suggested values would range from 200MB to 1000MB. + ///
SoftMemoryLimit = 13, } } diff --git a/src/Ryujinx.Graphics.RenderDocApi/OverlayBits.cs b/src/Ryujinx.Graphics.RenderDocApi/OverlayBits.cs index 1b5e41829..e973e403c 100644 --- a/src/Ryujinx.Graphics.RenderDocApi/OverlayBits.cs +++ b/src/Ryujinx.Graphics.RenderDocApi/OverlayBits.cs @@ -7,13 +7,33 @@ namespace Ryujinx.Graphics.RenderDocApi [Flags] public enum OverlayBits { + /// + /// This single bit controls whether the overlay is enabled or disabled globally + /// Enabled = 1 << 0, + /// + /// Show the average framerate over several seconds as well as min/max + /// FrameRate = 1 << 1, + /// + /// Show the current frame number + /// FrameNumber = 1 << 2, + /// + /// Show a list of recent captures, and how many captures have been made + /// CaptureList = 1 << 3, - + /// + /// Default values for the overlay mask + /// Default = Enabled | FrameRate | FrameNumber | CaptureList, + /// + /// Enable all bits + /// All = ~0, + /// + /// Disable all bits + /// None = 0 } }