# Persistant Config

## Config

class qrenderdoc.PersistantConfig

  A persistant config file that is automatically loaded and saved, which contains any settings and information that needs to be preserved from one run to the next.

  For more information about some of these settings that are user-facing see the documentation for the settings window.

  AddRemoteHost(host)

    Adds a new remote host.

    Parameters:

      host (RemoteHost) – The remote host to add.

  AllowGlobalHook

    `True` if global hooking is enabled. Since it has potentially problematic side-effects and is dangerous, it requires explicit opt-in.

    Defaults to `False`.

  AllowProcessInject

    `True` if process injection is enabled. Since it can often break and is almost always not want users want to do. New users can get confused by it being there and go to it first.

    Defaults to `False`.

  AlwaysLoad_Extensions

    A list of strings with extension packages to always load on startup, without needing manual enabling.

    Type:

      List[str]

  AlwaysReplayLocally

    `True` if when loading a capture that was originally captured on a remote device but uses an API that can be supported locally, should be loaded locally without prompting to switch to a remote context.

    Defaults to `False`.

  Analytics_ManualCheck

    `True` if the user has remained with analytics turned on, but has chosen to manually check each report that is sent out. collection and reporting.

    Defaults to `False`.

  Analytics_TotalOptOut

    `True` if the user has selected to completely opt-out from and disable all analytics collection and reporting.

    Defaults to `False`.

  BufferFormatter_SavedFormats

    A list of strings with saved formats for the buffer formatter. The first line is the name and the rest of the contents are the formats.

    Type:

      List[str]

  CheckUpdate_AllowChecks

    `True` if the UI should be allowed to make update checks remotely to see if a new version is available.

    Defaults to `True`.

  CheckUpdate_CurrentVersion

    The current version at the time of update checks. Used to determine if a cached pending update is no longer valid because we got updated through some other method.

  CheckUpdate_LastUpdate

    A date containing the last time that update checks happened.

  CheckUpdate_UpdateAvailable

    `True` if an update to a newer version is currently available.

    Defaults to `False`.

  CheckUpdate_UpdateResponse

    Contains the response from the update server from the last update check, with any release notes for the new version.

  Close()

    Closes the config file so that subsequent calls to Save() will not write to disk at the file the config was loaded from.

    This function is rarely directly used, except in the case where RenderDoc is relaunching itself and wants to avoid file locking conflicts between the closing instance saving, and the loading instance loading. It can explicitly save and close before relaunching.

  Comments_ShowOnLoad

    `True` if when loading a new capture that contains a comments section, the comment viewer will be opened and focussed.

    Defaults to `False`.

  CrashReport_EmailAddress

    The saved email address for pre-filling out in crash reports.

  CrashReport_EmailNagged

    `True` if the user has been prompted to enter their email address on a crash report. This really helps find fixes for bugs, so we prompt the user once only if they didn’t enter an email. Once the prompt has happened, regardless of the answer this is set to true and remains there forever.

    Defaults to `False`.

  CrashReport_LastOpenedCapture

    The last opened capture, to send if any crash is encountered. This is different to the most recent opened file, because it’s set before any processing happens (recent files are only added to the list when they successfully open), and it’s cleared again when the capture is closed.

  CrashReport_ReportedBugs

    A list of `BugReport` detailing previously submitted bugs that we’re watching for updates.

    Type:

      List[BugReport]

  CrashReport_ShouldRememberEmail

    `True` if the email address entered in the crash reporter should be remembered for next time. If no email is entered then nothing happens (any previous saved email is kept).

    Defaults to `True`.

  DefaultCaptureSaveDirectory

    The default path to save captures in, when browsing to save a temporary capture somewhere.

  DefaultReplayOptions

    A `ReplayOptions` containing the configured default replay options to use in most scenarios when no specific options are given.

    Type:

      renderdoc.ReplayOptions

  DegradedCapture_LastUpdate

    A date containing the last time that the user was warned about captures being loaded in degraded support. This prevents the user being spammed if their hardware is low spec.

  EventBrowser_AddFake

    `True` if fake action marker regions should be added to captures that don’t have any markers, for easier browsing. The regions are identified by grouping actions that write to the same targets together.

    Defaults to `True`.

  EventBrowser_ApplyColors

    `True` if the `EventBrowser` should apply any colors specified with API marker regions.

    Defaults to `True`.

  EventBrowser_ColorEventRow

    `True` if when coloring marker regions in the `EventBrowser`, the whole row should be colored instead of just a side-bar.

    Defaults to `True`.

  EventBrowser_TimeUnit

    The `TimeUnit` to use to display the duration column in the `EventBrowser`.

    Defaults to microseconds.

  ExternalTool_RadeonGPUProfiler

    The path to the executable of the external Radeon GPU Profiler tool.

  Font_Family

    The font family to use in the UI.

    Defaults to an empty string which means to use the system default.

  Font_GlobalScale

    The global scale to apply to fonts in the application, expressed as a float.

    Defaults to `1.0` which means 100%.

  Font_MonoFamily

    The monospaced font family to use in the UI.

    Defaults to an empty string which means to use the system default.

  Font_PreferMonospaced

    `True` if a monospaced font should be used in all places where data is displayed, even if the data is not tabular such as names.

    Defaults to `False`.

  Formatter_MaxFigures

    The maximum number of decimal places to show in formatted floating point values.

    Note

    The naming of ‘MaxFigures’ is a historical artifact - this controls the number of decimal places only, not the number of significant figures.

    Defaults to `5`.

  Formatter_MinFigures

    The minimum number of decimal places to show in formatted floating point values.

    Note

    The naming of ‘MinFigures’ is a historical artifact - this controls the number of decimal places only, not the number of significant figures.

    Defaults to `2`.

  Formatter_NegExp

    The cut-off on negative exponents of a normalised values to display using scientific notation.

    E.g. for a value of 5, anything below 1.0e-5 will be displayed using scientific notation.

    Defaults to `5`.

  Formatter_PosExp

    The cut-off on positive exponents of a normalised values to display using scientific notation.

    E.g. for a value of 7, anything below 1.0e+7 will be displayed using scientific notation.

    Defaults to `7`.

  GetRemoteHost(hostname)

    Look up a remote host by hostname.

    Parameters:

      hostname (str) – The hostname to look up

    Returns:

      The remote host for the given hostname, or an invalid `RemoteHost` if no such exists.

    Return type:

      RemoteHost

  GetRemoteHosts()

    Returns a list of all remote hosts.

    Returns:

      The remote host list

    Return type:

      List[RemoteHost]

  LastCaptureExe

    The filename of the last executable that was captured, inside `LastCapturePath`.

  LastCaptureFilePath

    The path to the last capture to be opened, which is useful as a default location for browsing.

  LastCapturePath

    The path containing the last executable that was captured, which is useful as a default location for browsing.

  LastFileBrowsePath

    The path to the last file browsed to in any dialog. Used as a default location for all file browsers without another explicit default directory (such as opening capture files - see `LastCaptureFilePath`).

  Load(filename)

    Loads the config from a given filename. This happens automatically on startup, so it’s not recommended that you call this function manually.

    Parameters:

      filename (str) – The filename to load from

    Returns:

      A boolean status if the load was successful.

    Return type:

      bool

  LocalProxyAPI

    The index of the local proxy API to use when using remote context replay. `-1` if the default proxy should be used.

    Defaults to `-1`.

  RecentCaptureFiles

    The recently opened capture files.

    Type:

      List[str]

  RecentCaptureSettings

    The recently opened capture settings files.

    Type:

      List[str]

  RemoveRemoteHost(host)

    Removes an existing remote host.

    Parameters:

      host (RemoteHost) – The remote host to remove.

  Save()

    Saves the config to disk. This can happen if you want to be sure a setting has been propagated and will not be forgotten in the case of crash or otherwise unexpected exit.

    Returns:

      A boolean status if the save was successful.

    Return type:

      bool

  SetStyle()

    Sets the UI style to the value in `UIStyle`.

    Changing the style after the application has started may not properly update everything, so to be sure the new style is applied, the application should be restarted.

    Returns:

      `True` if the style was set successfully, `False` if there was a problem e.g. the value of `UIStyle` was unrecognised or empty.

    Return type:

      bool

  SetupFormatting()

    Configures the `Formatter` class with the settings from this config.

  ShaderProcessors

    A list of `ShaderProcessingTool` detailing shader processing programs. The list comes in priority order, with earlier processors preferred over later ones.

    Type:

      List[ShaderProcessingTool]

  TemporaryCaptureDirectory

    The path to where temporary capture files should be stored until they’re saved permanently.

  TextureViewer_PerTexSettings

    `True` if the `TextureViewer` should store most visualisation settings on a per-texture basis instead of keeping it persistent across different textures.

    :Defaults to `True`.

  TextureViewer_PerTexYFlip

    `True` if the `TextureViewer` should treat y-flipping as a per-texture state rather than a global toggle.

    Does nothing if per-texture settings are disabled in general.

    Defaults to `False`.

  TextureViewer_ResetRange

    `True` if the `TextureViewer` should reset the visible range when a new texture is selected.

    :Defaults to `False`.

  TextureViewer_ShaderDirs

    List of the directories containing custom shader files for the Texture Viewer.

    Type:

      List[str]

  Tips_HasSeenFirst

    `True` if the user has seen the first tip, which should always be shown first before randomising.

    Defaults to `False`.

  UIStyle

    The style to load for the UI. Possible values include ‘Native’, ‘RDLight’, ‘RDDark’. If empty, the closest of RDLight and RDDark will be chosen, based on the overall light-on-dark or dark-on-light theme of the application native style.

  UnsupportedAndroid_LastUpdate

    A date containing the last time that the user was warned about an Android device being older than is generally supported. This prevents the user being spammed if they consistently use an old Android device. If it has been more than 3 weeks since the last time an old device was seen, we re-warn the user, but if it’s less than 3 weeks we silently update this date so continuous use doesn’t nag.

  UpdateEnumeratedProtocolDevices()

    If configured, queries available device protocols to update auto-configured hosts.

class qrenderdoc.TimeUnit(value)

  The unit that GPU durations are displayed in.

  Seconds

    The durations are displayed as seconds (s).

  Milliseconds

    The durations are displayed as milliseconds (ms).

  Microseconds

    The durations are displayed as microseconds (µs).

  Nanoseconds

    The durations are displayed as nanoseconds (ns).

qrenderdoc.ConfigFilePath(filename)

  Retrieve the absolute path where a given file can be stored with other application data.

  Parameters:

    filename (str) – The base filename.

  Returns:

    The absolute path.

  Return type:

    str

qrenderdoc.UnitSuffix(unit)

  Gets the suffix for a time unit.

  Parameters:

    unit (TimeUnit) – The unit to get a suffix for.

  Returns:

    The one or two character suffix.

  Return type:

    str

qrenderdoc.AddRecentFile(recentList, file)

  Checks if a given file is in a list. If it is, then it’s shuffled to the end. If it’s not then it’s added to the end

  As the name suggests, this is used for tracking a ‘recent file’ list.

  Parameters:

    - recentList (List[str]) – The list that is mutated by the function.

    - file (str) – The file to add to the list.

qrenderdoc.RemoveRecentFile(recentList, file)

  Removes a given file from the list, after normalising the path. If the path isn’t present then the list is not modified.

  As the name suggests, this is used for tracking a ‘recent file’ list.

  Parameters:

    - recentList (List[str]) – The list that is mutated by the function.

    - file (str) – The file to remove from the list.

## Shader Processing

class qrenderdoc.ShaderProcessingTool

  Describes an external program that can be used to process shaders, typically either compiling from a high-level language to a binary format, or decompiling from the binary format to a high-level language or textual representation.

  Commonly used with SPIR-V.

  CompileShader(window, source, entryPoint, stage, args)

    Runs this program to disassemble a given shader source.

    Parameters:

      - window (QWidget) – A handle to the window to use when showing a progress bar or error messages.

      - source (str) – The source code, preprocessed into a single file.

      - entryPoint (str) – The name of the entry point in the shader to compile.

      - stage (renderdoc.ShaderStage) – The pipeline stage that this shader represents.

      - args (str) – arguments to pass to the tool. The default arguments can be obtained using `DefaultArguments()` which can then be customised as desired. Passing an empty string uses the default arguments.

    Returns:

      The result of running the tool.

    Return type:

      ShaderToolOutput

  DefaultArguments()

    Return the default arguments used when invoking this tool

    Returns:

      The arguments specified for this tool.

    Return type:

      str

  DisassembleShader(window, shader, args)

    Runs this program to disassemble a given shader reflection.

    Parameters:

      - window (QWidget) – A handle to the window to use when showing a progress bar or error messages.

      - shader (renderdoc.ShaderReflection) – The shader to disassemble.

      - args (str) – arguments to pass to the tool. The default arguments can be obtained using `DefaultArguments()` which can then be customised as desired. Passing an empty string uses the default arguments.

    Returns:

      The result of running the tool.

    Return type:

      ShaderToolOutput

  args

    The command line argmuents to pass to the program.

  executable

    The path to the executable to run for this program.

  input

    The input that this program expects.

  name

    The human-readable name of the program.

  output

    The output that this program provides.

  tool

    The `KnownShaderTool` identifying which known tool this program is.

class qrenderdoc.ShaderToolOutput

  Contains the output from invoking a `ShaderProcessingTool`, including both the actual output data desired as well as any stdout/stderr messages.

  log

    The output log - containing the information about the tool run and any errors.

  result

    The actual output data from the tool

## Bug Reports

class qrenderdoc.BugReport

  Describes a submitted bug report.

  URL()

    Gets the URL for this report.

    Returns:

      The URL to the report.

    Return type:

      str

  checkDate

    The last date that we checked for updates.

  reportId

    The private ID of the bug report.

  submitDate

    The original date when this bug was submitted.

  unreadUpdates

    Unread updates to the bug exist

## Remote Host

class qrenderdoc.RemoteHost

  A handle for interacting with a remote server on a given host.

  CheckStatus()

    Ping the host to check current status - if the server is running, connection status, etc.

  Connect(server)

    Create a connection to the remote server.

    Returns:

      The status of opening the capture, whether success or failure, and a `RemoteServer` instance if it were successful

    Return type:

      Tuple[renderdoc.ResultDetails, renderdoc.RemoteServer]

  FriendlyName()
    Returns:

      The friendly name for this host, if available (if empty, the Hostname is used).

    Return type:

      str

  Hostname()
    Returns:

      The hostname of this host.

    Return type:

      str

  IsBusy()
    Returns:

      `True` if someone else is currently connected to this server.

    Return type:

      bool

  IsConnected()
    Returns:

      `True` if an active connection exists to this remote server.

    Return type:

      bool

  IsLocalhost()
    Returns:

      Returns `True` if this host represents the special localhost device.

    Return type:

      bool

  IsServerRunning()
    Returns:

      `True` if a remote server is currently running on this host.

    Return type:

      bool

  IsValid()

    Returns `True` if this host represents a valid remote host. :rtype: bool

  IsVersionMismatch()
    Returns:

      `True` if there is a code version mismatch with this server.

    Return type:

      bool

  LastCapturePath()
    Returns:

      The last folder browsed to on this host, to provide a reasonable default path.

    Return type:

      str

  Launch()

    Runs the command specified in `runCommand`. Returns `ResultDetails` which indicates success or the type of failure.

    Returns:

      The result from launching the remote server.

    Return type:

      renderdoc.ResultDetails

  Name()
    Returns:

      The name to display for this host in the UI, either `FriendlyName()` if it is valid, or `Hostname()` if not.

    Return type:

      str

  Protocol()
    Returns:

      The `DeviceProtocolController` for this host, or `None` if no protocol is in use

    Return type:

      renderdoc.DeviceProtocolController

  RunCommand()
    Returns:

      The command to run locally to try to launch the server remotely.

    Return type:

      str

  SetLastCapturePath(path)

    Sets the last folder browsed to. See `LastCapturePath()`.

    Parameters:

      path (str) – The new path to set.

  SetRunCommand(cmd)

    Sets the run command. See `RunCommand()`.

    Parameters:

      cmd (str) – The new command to set.

  VersionMismatchError()
    Returns:

      The version mismatch error.

    Return type:

      str