diff --git a/src/Ryujinx.Graphics.RenderDocApi/RenderDoc.cs b/src/Ryujinx.Graphics.RenderDocApi/RenderDoc.cs index 061d81ccb..ba4bc8f65 100644 --- a/src/Ryujinx.Graphics.RenderDocApi/RenderDoc.cs +++ b/src/Ryujinx.Graphics.RenderDocApi/RenderDoc.cs @@ -116,6 +116,20 @@ namespace Ryujinx.Graphics.RenderDocApi return Api is not null && Api->SetCaptureOptionU32(option, integer) != 0; } + /// + /// Set one of the options for tweaking some behaviors of capturing. + /// + /// specifies which capture option should be set. + /// the value to set for the option, converted to a 0 or 1 before setting. + /// Note that each option only takes effect from after it is set - so it is advised to set these options as early as possible, ideally before any graphics API has been initialized. + /// + /// true, if the is valid, and the value set on the option is within valid ranges.
+ /// false, if the option is not a , or the value is not valid for the option. + ///
+ [RenderDocApiVersion(1, 0)] + public static bool SetCaptureOption(CaptureOption option, bool boolean) + => SetCaptureOption(option, boolean ? 1 : 0); + /// /// Set one of the options for tweaking some behaviors of capturing. /// @@ -154,6 +168,27 @@ namespace Ryujinx.Graphics.RenderDocApi single = Api->GetCaptureOptionF32(option); } + /// + /// Gets the current value of one of the different options in , + /// converted to a boolean. + /// + /// specifies which capture option should be retrieved. + /// + /// the value of the capture option, converted to bool, if the option is a valid enum. + /// Otherwise, returns null. + /// + [RenderDocApiVersion(1, 0)] + public static bool? GetCaptureOptionBool(CaptureOption option) + { + if (Api is null) return false; + + uint returnVal = GetCaptureOptionU32(option); + if (returnVal == uint.MaxValue) + return null; + + return returnVal is not 0; + } + /// /// Gets the current value of one of the different options in . ///