From bb4017a965028d092f524a9349d1228a324d641e Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 12 Jun 2026 21:04:13 +0100 Subject: [PATCH] Add a spellchecking mode for sphinx and fix some typos * The worst one was Persistant -> Persistent. This involved renaming PersistentConfig but the impact of that is considered minimal enough to be worth fixing. --- docs/conf.py | 15 ++ docs/getting_started/faq.rst | 4 +- docs/getting_started/features.rst | 4 +- docs/getting_started/quick_start.rst | 4 +- docs/how/how_android_capture.rst | 2 +- docs/how/how_buffer_format.rst | 6 +- docs/how/how_capture_callstack.rst | 4 +- docs/how/how_capture_frame.rst | 2 +- docs/how/how_custom_visualisation.rst | 2 +- docs/how/how_filter_events.rst | 2 +- docs/how/how_network_capture_replay.rst | 2 +- docs/how/how_object_details.rst | 4 +- docs/how/how_shader_debug_info.rst | 4 +- docs/in_application_api.rst | 8 +- docs/make.sh | 8 + docs/python_api/dev_environment.rst | 2 +- docs/python_api/examples/basics.rst | 2 +- .../examples/renderdoc/display_window.rst | 8 +- docs/python_api/examples/renderdoc_intro.rst | 2 +- docs/python_api/index.rst | 2 +- docs/python_api/qrenderdoc/config.rst | 4 +- docs/python_api/renderdoc/analysis.rst | 4 +- .../python_api/renderdoc/pipelines/common.rst | 3 - docs/python_api/ui_extensions.rst | 2 +- docs/spelling_english.txt | 116 ++++++++++++++ docs/spelling_general.txt | 145 ++++++++++++++++++ docs/spelling_graphics.txt | 123 +++++++++++++++ docs/window/capture_attach.rst | 12 +- docs/window/capture_connection.rst | 2 +- docs/window/event_browser.rst | 2 +- docs/window/mesh_viewer.rst | 4 +- docs/window/settings_window.rst | 4 +- docs/window/texture_viewer.rst | 2 +- qrenderdoc/Code/CaptureContext.cpp | 2 +- qrenderdoc/Code/CaptureContext.h | 6 +- qrenderdoc/Code/Interface/Analytics.cpp | 4 +- qrenderdoc/Code/Interface/Analytics.h | 8 +- qrenderdoc/Code/Interface/Extensions.h | 8 +- ...sistantConfig.cpp => PersistentConfig.cpp} | 32 ++-- ...{PersistantConfig.h => PersistentConfig.h} | 24 +-- qrenderdoc/Code/Interface/QRDInterface.h | 24 +-- qrenderdoc/Code/Interface/RemoteHost.h | 7 +- qrenderdoc/Code/QRDUtils.cpp | 2 +- qrenderdoc/Code/QRDUtils.h | 2 +- qrenderdoc/Code/pyrenderdoc/PythonContext.cpp | 4 +- qrenderdoc/Code/pyrenderdoc/PythonContext.h | 4 +- .../Code/pyrenderdoc/PythonInvokers.cpp | 2 +- qrenderdoc/Code/pyrenderdoc/interface_check.h | 2 +- qrenderdoc/Code/pyrenderdoc/qrenderdoc.i | 2 +- .../Code/pyrenderdoc/qrenderdoc_stub.cpp | 26 ++-- qrenderdoc/Code/pyrenderdoc/renderdoc.i | 4 +- qrenderdoc/Code/qrenderdoc.cpp | 4 +- .../Windows/Dialogs/AnalyticsPromptDialog.cpp | 2 +- .../Windows/Dialogs/AnalyticsPromptDialog.h | 6 +- qrenderdoc/Windows/Dialogs/CrashDialog.cpp | 6 +- qrenderdoc/Windows/Dialogs/CrashDialog.h | 10 +- qrenderdoc/Windows/EventBrowser.cpp | 52 +++---- qrenderdoc/qrenderdoc.pro | 4 +- qrenderdoc/qrenderdoc_local.vcxproj | 4 +- qrenderdoc/qrenderdoc_local.vcxproj.filters | 12 +- renderdoc/api/replay/common_pipestate.h | 4 +- renderdoc/api/replay/control_types.h | 6 +- renderdoc/api/replay/d3d12_pipestate.h | 2 +- renderdoc/api/replay/data_types.h | 12 +- renderdoc/api/replay/gl_pipestate.h | 4 +- renderdoc/api/replay/pipestate.h | 2 +- renderdoc/api/replay/renderdoc_replay.h | 18 +-- renderdoc/api/replay/replay_enums.h | 50 +++--- renderdoc/api/replay/shader_types.h | 2 +- renderdoc/api/replay/vk_pipestate.h | 18 +-- renderdoc/driver/d3d11/d3d11_device.cpp | 2 +- renderdoc/driver/d3d12/d3d12_device.cpp | 2 +- renderdoc/driver/d3d12/d3d12_resources.cpp | 2 +- renderdoc/driver/gl/gl_driver.cpp | 2 +- .../driver/gl/wrappers/gl_buffer_funcs.cpp | 2 +- 75 files changed, 653 insertions(+), 248 deletions(-) create mode 100644 docs/spelling_english.txt create mode 100644 docs/spelling_general.txt create mode 100644 docs/spelling_graphics.txt rename qrenderdoc/Code/Interface/{PersistantConfig.cpp => PersistentConfig.cpp} (96%) rename qrenderdoc/Code/Interface/{PersistantConfig.h => PersistentConfig.h} (99%) diff --git a/docs/conf.py b/docs/conf.py index 12355c917..1cc0deaf1 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -60,6 +60,21 @@ sys.path.insert(0, os.path.abspath('sphinx_exts')) # ones. extensions = ['sphinx.ext.autodoc', 'sphinx_paramlinks', 'sphinxcontrib_jquery'] +if tags.has('spelling'): # type: ignore + extensions.append('sphinxcontrib.spelling') + spelling_lang = tokenizer_lang = 'en_US' + spelling_show_suggestions = True + spelling_exclude_patterns = ['credits_*'] + spelling_word_list_filename = [ + # for personal ease and to avoid too many renames, british english words + # as well as a few english words not in the spelling dictionary + 'spelling_english.txt', + # graphics-specific terms or proper nouns + 'spelling_graphics.txt', + # more general technology language or terms + 'spelling_general.txt' + ] + # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/docs/getting_started/faq.rst b/docs/getting_started/faq.rst index 7f49254dc..ed78e0b11 100644 --- a/docs/getting_started/faq.rst +++ b/docs/getting_started/faq.rst @@ -47,7 +47,7 @@ In particular I'm used to working with people who have strong NDA protection ove How can I associate RenderDoc's file extensions with the program? ----------------------------------------------------------------- -On Windows if you installed RenderDoc via the msi installer, the option is available there to associate RenderDoc's file extensions with the program. +On Windows if you installed RenderDoc via the ``msi`` installer, the option is available there to associate RenderDoc's file extensions with the program. On linux the binary tarball comes with files to place under ``/usr/share`` to associate RenderDoc with files. This obviously also requires ``qrenderdoc`` to be available in your ``PATH``. @@ -125,7 +125,7 @@ For other textures it's more difficult - for starters they may actually contain Nothing is actually wrong here except perhaps that when visualising linear data it is often more convenient to "over-correct" such that the data is perceptually linear. A good example to use is a normal map: The classic deep blue of (127,127,255) flat normals is technically incorrect as everyone is used to visualising these textures in programs that display the data as if it were sRGB (which is the convention for normal images that do not represent vectors). -You can override this behaviour on any texture that isn't listed as explicitly sRGB with the gamma (γ) button - toggle this off and the over-correction will be disabled. +You can override this behaviour on any texture that isn't listed as explicitly sRGB with the gamma (``γ``) button - toggle this off and the over-correction will be disabled. RenderDoc makes my bug go away! Or causes new artifacts that weren't there -------------------------------------------------------------------------- diff --git a/docs/getting_started/features.rst b/docs/getting_started/features.rst index ab21a245c..f65d9d95a 100644 --- a/docs/getting_started/features.rst +++ b/docs/getting_started/features.rst @@ -50,8 +50,8 @@ Current Common Feature set * Currently set RT/textures thumbnail strip - updates as you move through the frame. Follows the currently selected pipeline slot as it changes, rather than remaining on the given texture. * Tabbed view for locking a view of a particular resource over time. * Pixel value picking. - * Save (in theory) any type of texture and format to various formats, dds as well as regular png/jpg. - * Several debug overlays for render targets - Wireframe, Depth pass/fail, Stencil pass/fail, Clipping (below black/above white points), NaN/-ve/INF highlight, quad overdraw, triangle size. + * Save (in theory) any type of texture and format to various formats, ``dds`` as well as regular ``png``/``jpg``. + * Several debug overlays for render targets - Wireframe, Depth pass/fail, Stencil pass/fail, Clipping (below black/above white points), NaN/negative/INF highlight, quad overdraw, triangle size. * Custom visualisation shader support - e.g. decode custom packed formats or gbuffers. * Hot shader editing and replacement. diff --git a/docs/getting_started/quick_start.rst b/docs/getting_started/quick_start.rst index 714ce6a95..2e027d45f 100644 --- a/docs/getting_started/quick_start.rst +++ b/docs/getting_started/quick_start.rst @@ -14,7 +14,7 @@ To capture a frame, begin by selecting :guilabel:`File` → :guilabel:`Launch Ap Launching an executable -The defaults work pretty well in most situations, so you can just either browse to or drag in your exe into the Executable box. If the working directory box is empty then the executable's directory will be used. Enter any command line you may need and click Launch to launch the application with RenderDoc. +The defaults work pretty well in most situations, so you can just either browse to or drag in your executable file into the :guilabel:`Executable` box. If the :guilabel:`Working directory` box is empty then the executable's directory will be used. Enter any command line you may need and click Launch to launch the application with RenderDoc. More details of the specific options and their functionality can be found in the details page for the :doc:`../window/capture_attach`. @@ -138,7 +138,7 @@ More details can be found on the :doc:`../window/timeline_bar` page. The timeline bar is essentially an alternate view of the frame, with the horizontal axis being time in the frame. The horizontal axis is scaled evenly by API calls, such that every API call has the same width at any given zoom level. -The frame marker hierarchy is top-down in this case, and can be expanded or collapsed by clicking on each section. In this image, "Render Scene" and "Toon shading draw" are both expanded, but the other sections remain collapsed. Each action is rendered as a blue pip underneath the section of the hierarchy that it is a child of. The current action (if visible) is rendered as a green circle. +The frame marker hierarchy is top-down in this case, and can be expanded or collapsed by clicking on each section. In this image, ``Render Scene`` and ``Toon shading draw`` are both expanded, but the other sections remain collapsed. Each action is rendered as a blue pip underneath the section of the hierarchy that it is a child of. The current action (if visible) is rendered as a green circle. There is a vertical line around the current action, as well as a |flag_green| above, and a gray outline around the event where the mouse is hovering. diff --git a/docs/how/how_android_capture.rst b/docs/how/how_android_capture.rst index d90d7172f..41c27d4d0 100644 --- a/docs/how/how_android_capture.rst +++ b/docs/how/how_android_capture.rst @@ -56,7 +56,7 @@ Troubleshooting RenderDoc assumes your device is already configured for debugging. Check that it appears in ``adb devices``. `See here `_ for instructions on how to configure that. -If you have Android Studio open, it will interfere with RenderDoc's debugging by attaching to the package itself. Either close it or disable adb integration in "Tools → Android → Enable ADB integration". +If you have Android Studio open, it will interfere with RenderDoc's debugging by attaching to the package itself. Either close it or disable ``adb`` integration in :guilabel:`Tools → Android → Enable ADB integration`. RenderDoc does its best to locate or provide necessary Android tools from the Android SDK. On Windows, these tools are shipped with the distributions and all that's required is java - either in your ``PATH`` or via the ``JAVA_HOME`` environment variable. If these tools aren't present then RenderDoc searches through ``PATH`` and other variables like ``ANDROID_HOME`` or ``ANDROID_SDK_ROOT`` to find the SDK. If you don't have those environment variables set, you can browse to the SDK and JDK folders in the :doc:`settings window <../window/settings_window>` under the :guilabel:`Android` section. diff --git a/docs/how/how_buffer_format.rst b/docs/how/how_buffer_format.rst index d9bc59688..f09da6c00 100644 --- a/docs/how/how_buffer_format.rst +++ b/docs/how/how_buffer_format.rst @@ -3,7 +3,7 @@ How do I specify a buffer format? This page documents how to format buffer data, in cases where the default reflected format is missing or you want to customise it. -The format string can contain C and C++ style comments freely, but a C pre-processor is not supported. +The format string can contain C and C++ style comments freely, but a C preprocessor is not supported. By default the final interpreted format is defined by the list of global variables in the layout string, however if no global variables are defined the final struct to be defined is used as-if there were a single variable instance of that struct. @@ -198,7 +198,7 @@ Variable declarations support the following annotations: Array of Structs (AoS) vs Struct of Arrays (SoA) ------------------------------------------------ -The :doc:`../window/buffer_viewer` is capable of displaying both repeating data of a single format (AoS) as well as fixed non-repeating data (called SoA). Typically AoS is used for large buffers, where a small struct is repeated many times to form the elemnts in the buffer. SoA is used most commonly for constant buffers with a fixed amount of data, but can be used in any context. On some APIs it is possible for a buffer to contain some fixed data before the repeating data and thus it contains both types. +The :doc:`../window/buffer_viewer` is capable of displaying both repeating data of a single format (AoS) as well as fixed non-repeating data (called SoA). Typically AoS is used for large buffers, where a small struct is repeated many times to form the elements in the buffer. SoA is used most commonly for constant buffers with a fixed amount of data, but can be used in any context. On some APIs it is possible for a buffer to contain some fixed data before the repeating data and thus it contains both types. RenderDoc tries to use context to interpret buffer formats correctly, defaulting to AoS interpretation in cases where it is likely intended. However this can be hinted or overridden as desired. @@ -208,7 +208,7 @@ To specify AoS data explicitly you can declare an unbounded array: float3 unboundedArray[]; // unbounded array of float3s -When supported by the API, this can be preceeded by any fixed data in the buffer before the repeated AoS data. The buffer viewer will show both parts of the data separately, with a tree view for the fixed data and a table for the repeated data. +When supported by the API, this can be preceded by any fixed data in the buffer before the repeated AoS data. The buffer viewer will show both parts of the data separately, with a tree view for the fixed data and a table for the repeated data. In the opposite direction, normally a loose collection of variables without any such unbounded array will be taken as the definition of a struct within an AoS view: diff --git a/docs/how/how_capture_callstack.rst b/docs/how/how_capture_callstack.rst index 79dae2a9f..ddd88a2d1 100644 --- a/docs/how/how_capture_callstack.rst +++ b/docs/how/how_capture_callstack.rst @@ -10,7 +10,7 @@ It can be useful when tracking down problems to have an idea of where each API c .. warning:: - On Windows the callstack gathering uses ``dbghelp.dll``. If you're using this dll for some other debugging functionality in your app it is highly recommended that you disable it, otherwise it can conflict and break RenderDoc's callstack capture. + On Windows the callstack gathering uses ``dbghelp.dll``. If you're using this DLL for some other debugging functionality in your app it is highly recommended that you disable it, otherwise it can conflict and break RenderDoc's callstack capture. .. note:: @@ -40,7 +40,7 @@ To resolve the symbols referenced in the capture, go to the :guilabel:`Tools` me The resolving symbols process may take some time the first few instances you use it, as it may have to download symbols from the Microsoft symbol server. Each module that is loaded in the application at the time of capture will be saved and its symbols searched for. -By default a symbol server will be used, as well as a few default locations such as the location indicated in the PE metadata (i.e. the original build location). If a pdb cannot be found you will be prompted for the location of the pdb, and this new location will then be remembered for subsequent pdbs. +By default a symbol server will be used, as well as a few default locations such as the location indicated in the PE metadata (i.e. the original build location). If a PDB cannot be found you will be prompted for the location of the PDB, and this new location will then be remembered for subsequent PDBs. .. figure:: ../imgs/Screenshots/NeedPDB.png diff --git a/docs/how/how_capture_frame.rst b/docs/how/how_capture_frame.rst index 58f02037d..6f68dedce 100644 --- a/docs/how/how_capture_frame.rst +++ b/docs/how/how_capture_frame.rst @@ -31,7 +31,7 @@ Injecting into a Process It is possible to inject to an already running process as long as it hasn't yet initialised a graphics API. By selecting :guilabel:`File` → :guilabel:`Inject to Process`, the capture dialog will modify to list the running processes rather than asking for an executable and command line parameters. -This can be useful if launching your application from a single exe is non-trivial and it's easier to inject into the process after it has been launched. +This can be useful if launching your application from a single executable file is non-trivial and it's easier to inject into the process after it has been launched. .. figure:: ../imgs/Screenshots/Injecting.png diff --git a/docs/how/how_custom_visualisation.rst b/docs/how/how_custom_visualisation.rst index b02dfa277..b28645425 100644 --- a/docs/how/how_custom_visualisation.rst +++ b/docs/how/how_custom_visualisation.rst @@ -329,7 +329,7 @@ GLSL #endif -These resources are bound sparsely with the appropriate type for the current texture. With a couple of exceptions there will only be one texture bound at any one time. Different APIs have different texture type matching requirements, so e.g. OpenGL has separate bindings for array and non-array texures, which will be reflected in the different ``RD_TextureType`` return values. +These resources are bound sparsely with the appropriate type for the current texture. With a couple of exceptions there will only be one texture bound at any one time. Different APIs have different texture type matching requirements, so e.g. OpenGL has separate bindings for array and non-array textures, which will be reflected in the different ``RD_TextureType`` return values. When a cubemap texture is bound, it is bound both to the 2D Array as well as the Cube Array. If a depth-stencil texture has both components, the relevant depth and stencil resources will both be bound at once. diff --git a/docs/how/how_filter_events.rst b/docs/how/how_filter_events.rst index 92d43d21c..e751dd992 100644 --- a/docs/how/how_filter_events.rst +++ b/docs/how/how_filter_events.rst @@ -98,7 +98,7 @@ Now we can see the pipeline and vertex/index buffer binds that happened before t Let's say that we only care about buffer bindings and want to exclude the pipeline bind. We could do this by adding a ``-Pipeline`` term, but we might then have to exclude other types of bindings and that could get tedious. Instead we'll change the bind term to ``(+Bind +Buffer)`` which will only match events that contain ``Bind`` and ``Buffer``. Since the term itself is optional, this still means actions are included. .. note:: - This could be accomplished another way such as usuing a regular expression, but for the sake of example we'll do it like this. + This could be accomplished another way such as using a regular expression, but for the sake of example we'll do it like this. .. figure:: ../imgs/Screenshots/EventsFilteredBindBuffer.png diff --git a/docs/how/how_network_capture_replay.rst b/docs/how/how_network_capture_replay.rst index 0600c8971..35c3ebf50 100644 --- a/docs/how/how_network_capture_replay.rst +++ b/docs/how/how_network_capture_replay.rst @@ -61,7 +61,7 @@ An example for this for linux would be to use ``plink.exe`` and passwordless key plink.exe user@host DISPLAY=:0.0 renderdoccmd remoteserver -d -Assuming that plink.exe is in ``PATH`` on the host machine, and ``renderdoccmd`` is on the host machine. +Assuming that ``plink.exe`` is in ``PATH`` on the host machine, and ``renderdoccmd`` is on the host machine. Switching to a Replay Context ----------------------------- diff --git a/docs/how/how_object_details.rst b/docs/how/how_object_details.rst index b0bbc7380..0cabf0b74 100644 --- a/docs/how/how_object_details.rst +++ b/docs/how/how_object_details.rst @@ -57,7 +57,7 @@ More details on this section are available on the :doc:`../window/buffer_viewer` .. note:: - This window supports copy and paste, so simply select the entries and ctrl-c to copy to the clipboard + This window supports copy and paste, so simply select the entries and :kbd:`Ctrl-C` to copy to the clipboard Viewing Constant Buffers ------------------------ @@ -72,4 +72,4 @@ Whenever this shader slot has a constant buffer in it, both the constant names a .. note:: - This window supports copy and paste, so simply select the entries and ctrl-c to copy to the clipboard + This window supports copy and paste, so simply select the entries and :kbd:`Ctrl-C` to copy to the clipboard diff --git a/docs/how/how_shader_debug_info.rst b/docs/how/how_shader_debug_info.rst index 429b14271..f52607769 100644 --- a/docs/how/how_shader_debug_info.rst +++ b/docs/how/how_shader_debug_info.rst @@ -20,13 +20,13 @@ Shader search paths In the RenderDoc settings menu, under the ``Core`` category, you can specify shader debug search paths. These are the directories that will be searched to find separated debug information based on a path in the original shader. -Each path can be set as 'recursive' or not, with the default being to treat it as recursive. This is explained below in the search priority list, but generally should be turned off for network shares or very large folders where listing all contained files recusively would be slow. The paths can be rearranged to provide a priority order. +Each path can be set as 'recursive' or not, with the default being to treat it as recursive. This is explained below in the search priority list, but generally should be turned off for network shares or very large folders where listing all contained files recursively would be slow. The paths can be rearranged to provide a priority order. When searching for separate debug info based on a path in the stripped shader blob, RenderDoc follows the following algorithm. This is based on trying to match PIX's behaviour which is the primary other tool that supports this, under the principle of least surprise. PIX's search algorithm is deliberately undocumented and so this has been determined by reverse engineering, some tweaks have been made for usability. .. note:: - If the filename is proceeded by ``lz4#`` then this will be stripped before consideration and the file will be considered lz4 compressed. This is a RenderDoc extension only possible when using manually-specified shader blobs and is not currently supported by any compiler. + If the filename is proceeded by ``lz4#`` then this will be stripped before consideration and the file will be considered LZ4 compressed. This is a RenderDoc extension only possible when using manually-specified shader blobs and is not currently supported by any compiler. In this algorithm the original path from the shader is referred to as a 'filename', but it may contain relative path elements and may not be only a filename. diff --git a/docs/in_application_api.rst b/docs/in_application_api.rst index ff3e44f23..d9e015533 100644 --- a/docs/in_application_api.rst +++ b/docs/in_application_api.rst @@ -62,7 +62,7 @@ To do this you'll use your platforms dynamic library functions to see if the lib :param RENDERDOC_Version version: is the version number of the API for which you want the interface struct. - :param void** outAPIPointers: will be filled with the address of the API's function pointer struct, if supported. E.g. if ``eRENDERDOC_API_Version_1_1_1`` is requested, outAPIPointers will be filled with ``RENDERDOC_API_1_1_1*`` or any newer version that is compatible with API 1.1.1, but nothing lower. + :param void** outAPIPointers: will be filled with the address of the API's function pointer struct, if supported. E.g. if ``eRENDERDOC_API_Version_1_1_1`` is requested, ``outAPIPointers`` will be filled with ``RENDERDOC_API_1_1_1*`` or any newer version that is compatible with API 1.1.1, but nothing lower. :return: The function returns 1 if the API version is valid and available, and the struct pointer is filled. The function returns 0 if the API version is invalid or not supported, or the pointer parameter is invalid. .. cpp:function:: void GetAPIVersion(int *major, int *minor, int *patch) @@ -122,7 +122,7 @@ To do this you'll use your platforms dynamic library functions to see if the lib .. cpp:enumerator:: RENDERDOC_CaptureOption::eRENDERDOC_Option_VerifyBufferWrites - specifies whether any mapped memory updates should be bounds-checked for overruns, and uninitialised buffers are initialised to 0xdddddddd to catch use of uninitialised data. Only supported on D3D11 and OpenGL. Default is off. + specifies whether any mapped memory updates should be bounds-checked for overruns, and uninitialised buffers are initialised to ``0xdddddddd`` to catch use of uninitialised data. Only supported on D3D11 and OpenGL. Default is off. .. cpp:enumerator:: RENDERDOC_CaptureOption::eRENDERDOC_Option_HookIntoChildren @@ -280,8 +280,8 @@ To do this you'll use your platforms dynamic library functions to see if the lib This function modifies the current mask which determines what sections of the overlay render on each window. - :param uint32_t And: is a 32-bit value the mask is binary-AND'd with before processing ``Or``. - :param uint32_t Or: is a 32-bit value the mask is binary-OR'd with after processing ``And``. + :param uint32_t And: is a 32-bit value that will be combined using binary AND with the mask first, to remove bits. + :param uint32_t Or: is a 32-bit value that will be combined using binary OR with the mask second, to add bits. .. cpp:function:: void RemoveHooks() diff --git a/docs/make.sh b/docs/make.sh index 5d11961e0..d64f88fec 100755 --- a/docs/make.sh +++ b/docs/make.sh @@ -107,6 +107,14 @@ if [ $1 == "html" ]; then exit fi +if [ $1 == "spelling" ]; then + "$SPHINXBUILD" -t spelling -b spelling $ALLSPHINXOPTS $BUILDDIR/spelling + if [ $? != 0 ]; then exit 1; fi + echo + echo "Build finished. The spelling pages are in $BUILDDIR/spelling." + exit +fi + if [ $1 == "dirhtml" ]; then "$SPHINXBUILD" -b dirhtml $ALLSPHINXOPTS $BUILDDIR/dirhtml if [ $? != 0 ]; then exit 1; fi diff --git a/docs/python_api/dev_environment.rst b/docs/python_api/dev_environment.rst index 0eddbb248..5175a659f 100644 --- a/docs/python_api/dev_environment.rst +++ b/docs/python_api/dev_environment.rst @@ -15,7 +15,7 @@ Build instructions for your platform are available `on github ` then the file and directory browser will be replaced by one that browses in the file system of the remote context. By default if the working directory box is left empty then the directory containing the executable will be used as the working directory. @@ -156,7 +156,7 @@ This option is slightly different from the others in that it doesn't change anyt This option allows you to queue up a precise capture of a given frame number after the program has started. -Queueing up a capture beginning at frame 0 has a special meaning: Frames are defined as the period between two presents of a window. Frame 0 is defined as starting at initialisation and ending at the first presentation. +Queuing up a capture beginning at frame 0 has a special meaning: Frames are defined as the period between two presents of a window. Frame 0 is defined as starting at initialisation and ending at the first presentation. The definition of 'initialisation' varies by API, since it can be hard to clearly define initialisation time cleanly: @@ -191,17 +191,17 @@ Global Process Hook To expose this option you have to enable it in :doc:`the settings `, to prevent it being used accidentally. -When you've entered a path, or filename, in the executable text at the top of the window, this option will then insert a global hook that causes **every** new process created to load a very small shim dll. +When you've entered a path, or filename, in the executable text at the top of the window, this option will then insert a global hook that causes **every** new process created to load a very small shim DLL. -The shim dll will load, create a thread that checks to see if the process matches the path or filename specified, and then unload. If the process matches it will also inject RenderDoc and capturing will continue as normal. At this point you should *first disable the global hook*, then you can use the 'Attach to running instance' menu option to continue as normal. +The shim DLL will load, create a thread that checks to see if the process matches the path or filename specified, and then unload. If the process matches it will also inject RenderDoc and capturing will continue as normal. At this point you should *first disable the global hook*, then you can use the 'Attach to running instance' menu option to continue as normal. -RenderDoc implements this behaviour by modifying the `AppInit_DLLs `_ registry key to reference RenderDoc's dlls. This is not a particularly safe method but it's the only reliable method to do what we want. The shim dll is deliberately made as small and thin as possible, referencing only ``kernel32.dll``, to minimise any risks. +RenderDoc implements this behaviour by modifying the `AppInit_DLLs `_ registry key to reference RenderDoc's DLLs. This is not a particularly safe method but it's the only reliable method to do what we want. The shim DLL is deliberately made as small and thin as possible, referencing only ``kernel32.dll``, to minimise any risks. .. note:: If you have 'secure boot' enabled in Windows, the AppInit_DLLs registry key will not work. To use the global process hook you must disable secure boot. -If RenderDoc crashes or something otherwise goes wrong while these registry keys are modified, the shim dll will continue to be injected into every process which is certainly not desirable. Should anything go wrong, RenderDoc writes a ``.reg`` file that restores the registry to its previous state in ``%TEMP%``. +If RenderDoc crashes or something otherwise goes wrong while these registry keys are modified, the shim DLL will continue to be injected into every process which is certainly not desirable. Should anything go wrong, RenderDoc writes a ``.reg`` file that restores the registry to its previous state in ``%TEMP%``. Again, **this method should be a last resort**. Given the risks you should always try to capture directly in some way before trying this. diff --git a/docs/window/capture_connection.rst b/docs/window/capture_connection.rst index b06415278..91e0b39e4 100644 --- a/docs/window/capture_connection.rst +++ b/docs/window/capture_connection.rst @@ -55,7 +55,7 @@ During running or after the application has closed, all captures will appear as Connection Window: Viewing multiple captures taken in a program. -In this example we have a connection window open to the debugmarker sample from Sascha Willms' Vulkan examples. Three captures have been made and we can see their thumbnails to help distinguish between them. This is visible at any point, regardless of whether you have close the program or not - you can simply switch back to RenderDoc while it's running. +In this example we have a connection window open to the ``debugmarker`` sample from `Sascha Willems' Vulkan examples `_. Three captures have been made and we can see their thumbnails to help distinguish between them. This is visible at any point, regardless of whether you have close the program or not - you can simply switch back to RenderDoc while it's running. .. note:: diff --git a/docs/window/event_browser.rst b/docs/window/event_browser.rst index 994ec1513..034af513a 100644 --- a/docs/window/event_browser.rst +++ b/docs/window/event_browser.rst @@ -116,7 +116,7 @@ The left and right arrows go into and out of hierarchy levels. When within a lev .. note:: - This window supports copy and paste, so simply select the entries and ctrl-c to copy to the clipboard + This window supports copy and paste, so simply select the entries and :kbd:`Ctrl-C` to copy to the clipboard Bookmarks --------- diff --git a/docs/window/mesh_viewer.rst b/docs/window/mesh_viewer.rst index 8a73a7088..7f3f4e149 100644 --- a/docs/window/mesh_viewer.rst +++ b/docs/window/mesh_viewer.rst @@ -79,11 +79,11 @@ To select which element will be displayed as secondary, simply right click on th The selection will be remembered as long as the mesh format stays consistent between actions. -You can also use this if the position data isn't detected in your inputs and you'd like to choose which element contains the positions, or if you'd like to visualise some other data such as UV co-ordinates as positional (in effect rendering the mesh in uv-space). +You can also use this if the position data isn't detected in your inputs and you'd like to choose which element contains the positions, or if you'd like to visualise some other data such as UV co-ordinates as positional (in effect rendering the mesh in UV-space). .. figure:: ../imgs/Screenshots/SolidPreview.png - Preview: Previewing the uv co-ordinates as color on the mesh. + Preview: Previewing the UV co-ordinates as color on the mesh. When displaying the post-projection output - typically the VS output, but possibly tessellation/geometry output - you can select how much data to display. diff --git a/docs/window/settings_window.rst b/docs/window/settings_window.rst index 35a9ccace..b6fded2d4 100644 --- a/docs/window/settings_window.rst +++ b/docs/window/settings_window.rst @@ -253,8 +253,8 @@ Other custom tools can be configured, but for those the command line arguments m * ``{input_file}`` will be replaced by the input filename. * ``{output_file}`` will be replaced by the output filename. * ``{entry_point}`` will be replaced by the entry point name, only when compiling a shader. -* ``{glsl_stage4}`` will be replaced by the glsl stage short-hand, one of: vert, tesc, tese, geom, frag, or comp. -* ``{hlsl_stage2}`` will be replaced by the hlsl stage short-hand, one of: vs, hs, ds, gs, ps, or cs. +* ``{glsl_stage4}`` will be replaced by the glsl stage short-hand, one of: ``vert``, ``tesc``, ``tese``, ``geom``, ``frag``, or ``comp``. +* ``{hlsl_stage2}`` will be replaced by the hlsl stage short-hand, one of: ``vs``, ``hs``, ``ds``, ``gs``, ``ps``, or ``cs``. * ``{spirv_ver}`` will be replaced by the SPIR-V version in use, e.g. spirv1.2 or spirv1.6. * ``{vulkan_ver}`` will be replaced by the Vulkan-identified SPIR-V version in use, e.g. vulkan1.0 or vulkan1.3. This value may be lossy, and will pick the next *lowest* version that compiles with a given SPIR-V version. E.g. SPIR-V 1.2 was not used by a vulkan version, so will be rounded down to vulkan1.0. diff --git a/docs/window/texture_viewer.rst b/docs/window/texture_viewer.rst index e0cc120a5..7aa5c7911 100644 --- a/docs/window/texture_viewer.rst +++ b/docs/window/texture_viewer.rst @@ -344,7 +344,7 @@ These overlays are only relevant when the currently selected action is a rasteri * ``Quad Overdraw (Draw)`` will show a similar visualisation to the above option, but limited only to the current drawcall. -* ``Triangle Size (Pass)`` will show a visualisation of how much pixel area triangles in the meshes are covering in the 'pass' up to the selected draw, up to 4x4 pixels (16 square px) at most. If the current API does not have the concept of a pass, it is defined as all the drawcalls with the same set of render targets. +* ``Triangle Size (Pass)`` will show a visualisation of how much pixel area triangles in the meshes are covering in the 'pass' up to the selected draw, up to 4x4 pixels (16 square pixels) at most. If the current API does not have the concept of a pass, it is defined as all the drawcalls with the same set of render targets. * ``Triangle Size (Draw)`` will show a similar visualisation to the above option, but limited only to the current drawcall. diff --git a/qrenderdoc/Code/CaptureContext.cpp b/qrenderdoc/Code/CaptureContext.cpp index 0149532be..b18eb717d 100644 --- a/qrenderdoc/Code/CaptureContext.cpp +++ b/qrenderdoc/Code/CaptureContext.cpp @@ -68,7 +68,7 @@ #include "pipestate.inl" -CaptureContext::CaptureContext(PersistantConfig &cfg) : m_Config(cfg) +CaptureContext::CaptureContext(PersistentConfig &cfg) : m_Config(cfg) { RENDERDOC_PROFILEFUNCTION(); diff --git a/qrenderdoc/Code/CaptureContext.h b/qrenderdoc/Code/CaptureContext.h index 8424dbe37..d6420a2e7 100644 --- a/qrenderdoc/Code/CaptureContext.h +++ b/qrenderdoc/Code/CaptureContext.h @@ -63,7 +63,7 @@ class CaptureContext : public ICaptureContext, IExtensionManager Q_DECLARE_TR_FUNCTIONS(CaptureContext); public: - CaptureContext(PersistantConfig &cfg); + CaptureContext(PersistentConfig &cfg); ~CaptureContext(); void Begin(QString paramFilename, QString remoteHost, uint32_t remoteIdent, bool temp, @@ -305,7 +305,7 @@ public: const GLPipe::State *CurGLPipelineState() override { return m_CurGLPipelineState; } const VKPipe::State *CurVulkanPipelineState() override { return m_CurVulkanPipelineState; } const PipeState &CurPipelineState() override { return *m_CurPipelineState; } - PersistantConfig &Config() override { return m_Config; } + PersistentConfig &Config() override { return m_Config; } private: ReplayManager m_Replay; @@ -316,7 +316,7 @@ private: const PipeState *m_CurPipelineState; PipeState m_DummyPipelineState; - PersistantConfig &m_Config; + PersistentConfig &m_Config; QVector m_CaptureViewers; diff --git a/qrenderdoc/Code/Interface/Analytics.cpp b/qrenderdoc/Code/Interface/Analytics.cpp index f03457cd9..26a1b0e7d 100644 --- a/qrenderdoc/Code/Interface/Analytics.cpp +++ b/qrenderdoc/Code/Interface/Analytics.cpp @@ -549,7 +549,7 @@ void Analytics::DocumentReport() } } -void Analytics::Prompt(ICaptureContext &ctx, PersistantConfig &config) +void Analytics::Prompt(ICaptureContext &ctx, PersistentConfig &config) { if(analyticsState == AnalyticsState::Disabled) { @@ -623,7 +623,7 @@ void Disable() { } -void Prompt(ICaptureContext &ctx, PersistantConfig &config) +void Prompt(ICaptureContext &ctx, PersistentConfig &config) { } diff --git a/qrenderdoc/Code/Interface/Analytics.h b/qrenderdoc/Code/Interface/Analytics.h index 181a5fe31..a02185258 100644 --- a/qrenderdoc/Code/Interface/Analytics.h +++ b/qrenderdoc/Code/Interface/Analytics.h @@ -94,7 +94,7 @@ struct AnalyticsAverage } }; -class PersistantConfig; +class PersistentConfig; struct ICaptureContext; // we set this struct to byte-packing, so that any change will affect sizeof() and fail a @@ -117,7 +117,7 @@ struct Analytics static void Disable(); // utility function - performs any UI-level prompting, such as asking the user if they want to // opt-out, or manually vetting a report for uploading. - static void Prompt(ICaptureContext &ctx, PersistantConfig &config); + static void Prompt(ICaptureContext &ctx, PersistentConfig &config); // the singleton instance of analytics. May be NULL if analytics aren't initialised or have been // opted-out from. static Analytics *db; @@ -307,14 +307,14 @@ struct Analytics #define ANALYTIC_ADDAVG(name, val) (void)val #define ANALYTIC_ADDUNIQ(name, val) (void)val -class PersistantConfig; +class PersistentConfig; struct ICaptureContext; namespace Analytics { void Disable(); void Load(); -void Prompt(ICaptureContext &ctx, PersistantConfig &config); +void Prompt(ICaptureContext &ctx, PersistentConfig &config); void DocumentReport(); }; diff --git a/qrenderdoc/Code/Interface/Extensions.h b/qrenderdoc/Code/Interface/Extensions.h index 02b79274a..b9187ba0b 100644 --- a/qrenderdoc/Code/Interface/Extensions.h +++ b/qrenderdoc/Code/Interface/Extensions.h @@ -532,7 +532,7 @@ layout type widgets. virtual QWidget *GetChild(QWidget *parent, int32_t index) = 0; DOCUMENT(R"(Destroy a widget. Widgets stay alive unless explicitly destroyed here, OR in one other -case when they are in a widget hiearchy under a top-level window which the user closes, which can +case when they are in a widget hierarchy under a top-level window which the user closes, which can be detected with the callback parameter in :meth:`CreateToplevelWidget`. If the widget being destroyed is a top-level window, it will be closed. Otherwise if it is part of a @@ -564,7 +564,7 @@ The dialog is only closed when the user closes the window explicitly or if you c DOCUMENT(R"(Close the active modal dialog. This does nothing if no dialog is being shown. .. note:: - Closing a dialog 'sucessfully' does nothing except modify the return value of + Closing a dialog 'successfully' does nothing except modify the return value of :meth:`ShowWidgetAsDialog`. It allows quick distinguishing between OK and Cancel actions without having to carry that information separately in a global or other state. @@ -836,7 +836,7 @@ output so there is no need to do that manually. )"); virtual void SetWidgetReplayOutput(QWidget *widget, IReplayOutput *output) = 0; - DOCUMENT(R"(Set the default backkground color for a rendering widget. This background color is + DOCUMENT(R"(Set the default background color for a rendering widget. This background color is used when no output is currently configured, e.g. when a capture is closed. For all other widget types this has no effect. @@ -1040,7 +1040,7 @@ the current value. If maximum is smaller than minimum, minimum is set as the maximum, too. If the current value falls outside the new range, the progress bar is reset. Use range (0, 0) to set the progress bar to -indeterminated state (the progress cannot be estimated or is not being calculated). +indeterminate state (the progress cannot be estimated or is not being calculated). :param QWidget pbar: the progress bar. :param int minimum: the minimum value. diff --git a/qrenderdoc/Code/Interface/PersistantConfig.cpp b/qrenderdoc/Code/Interface/PersistentConfig.cpp similarity index 96% rename from qrenderdoc/Code/Interface/PersistantConfig.cpp rename to qrenderdoc/Code/Interface/PersistentConfig.cpp index 641068740..ec9a7605f 100644 --- a/qrenderdoc/Code/Interface/PersistantConfig.cpp +++ b/qrenderdoc/Code/Interface/PersistentConfig.cpp @@ -126,7 +126,7 @@ rdcstrpairs convertFromVariant(const QVariantMap &val) return ret; } -bool PersistantConfig::Deserialize(const rdcstr &filename) +bool PersistentConfig::Deserialize(const rdcstr &filename) { QFile f(filename); @@ -155,7 +155,7 @@ bool PersistantConfig::Deserialize(const rdcstr &filename) return false; } -bool PersistantConfig::Serialize(const rdcstr &filename) +bool PersistentConfig::Serialize(const rdcstr &filename) { if(!filename.isEmpty()) m_Filename = filename; @@ -193,7 +193,7 @@ CustomPersistentStorage::CustomPersistentStorage(rdcstr name) GetCustomStorage().push_back({name, this}); } -QVariantMap PersistantConfig::storeValues() const +QVariantMap PersistentConfig::storeValues() const { QVariantMap ret; @@ -224,7 +224,7 @@ QVariantMap PersistantConfig::storeValues() const return ret; } -void PersistantConfig::applyValues(const QVariantMap &values) +void PersistentConfig::applyValues(const QVariantMap &values) { #undef CONFIG_SETTING_VAL #undef CONFIG_SETTING @@ -325,13 +325,13 @@ void PersistantConfig::applyValues(const QVariantMap &values) static QMutex RemoteHostLock; -rdcarray PersistantConfig::GetRemoteHosts() +rdcarray PersistentConfig::GetRemoteHosts() { QMutexLocker autolock(&RemoteHostLock); return RemoteHostList; } -RemoteHost PersistantConfig::GetRemoteHost(const rdcstr &hostname) +RemoteHost PersistentConfig::GetRemoteHost(const rdcstr &hostname) { RemoteHost ret; @@ -350,7 +350,7 @@ RemoteHost PersistantConfig::GetRemoteHost(const rdcstr &hostname) return ret; } -void PersistantConfig::AddRemoteHost(RemoteHost host) +void PersistentConfig::AddRemoteHost(RemoteHost host) { if(!host.IsValid()) return; @@ -370,7 +370,7 @@ void PersistantConfig::AddRemoteHost(RemoteHost host) RemoteHostList.push_back(host); } -void PersistantConfig::RemoveRemoteHost(RemoteHost host) +void PersistentConfig::RemoveRemoteHost(RemoteHost host) { if(!host.IsValid()) return; @@ -387,7 +387,7 @@ void PersistantConfig::RemoveRemoteHost(RemoteHost host) } } -void PersistantConfig::UpdateEnumeratedProtocolDevices() +void PersistentConfig::UpdateEnumeratedProtocolDevices() { rdcarray enumeratedDevices; @@ -441,7 +441,7 @@ void PersistantConfig::UpdateEnumeratedProtocolDevices() } } -bool PersistantConfig::SetStyle() +bool PersistentConfig::SetStyle() { for(int i = 0; i < StyleData::numAvailable; i++) { @@ -460,17 +460,17 @@ bool PersistantConfig::SetStyle() return false; } -PersistantConfig::PersistantConfig() +PersistentConfig::PersistentConfig() { m_Legacy = new LegacyData; } -PersistantConfig::~PersistantConfig() +PersistentConfig::~PersistentConfig() { delete m_Legacy; } -bool PersistantConfig::Load(const rdcstr &filename) +bool PersistentConfig::Load(const rdcstr &filename) { bool ret = Deserialize(filename); @@ -597,7 +597,7 @@ bool PersistantConfig::Load(const rdcstr &filename) return ret; } -bool PersistantConfig::Save() +bool PersistentConfig::Save() { if(m_Filename.isEmpty()) return true; @@ -623,12 +623,12 @@ bool PersistantConfig::Save() return ret; } -void PersistantConfig::Close() +void PersistentConfig::Close() { m_Filename = QString(); } -void PersistantConfig::SetupFormatting() +void PersistentConfig::SetupFormatting() { Formatter::setParams(*this); } diff --git a/qrenderdoc/Code/Interface/PersistantConfig.h b/qrenderdoc/Code/Interface/PersistentConfig.h similarity index 99% rename from qrenderdoc/Code/Interface/PersistantConfig.h rename to qrenderdoc/Code/Interface/PersistentConfig.h index 821641b12..945be99f5 100644 --- a/qrenderdoc/Code/Interface/PersistantConfig.h +++ b/qrenderdoc/Code/Interface/PersistentConfig.h @@ -106,7 +106,7 @@ struct ShaderProcessingTool :type: str )"); rdcstr executable; - DOCUMENT(R"(The command line argmuents to pass to the program. + DOCUMENT(R"(The command line arguments to pass to the program. :type: str )"); @@ -237,7 +237,7 @@ DECLARE_REFLECTION_STRUCT(BugReport); type name; // Since this macro is already complex enough, the documentation for each of these members is -// in the docstring for PersistantConfig as :data: members. +// in the docstring for PersistentConfig as :data: members. // Please keep that docstring up to date when you add/remove/change these config settings. // Note that only public properties should be documented. #define CONFIG_SETTINGS() \ @@ -661,7 +661,7 @@ DECLARE_REFLECTION_STRUCT(BugReport); CONFIG_SETTING_VAL(public, QString, rdcstr, ExternalTool_RadeonGPUProfiler, "") \ \ DOCUMENT( \ - "``True`` if the user has had the annotation viewer displayed when hidden upon loading a" \ + "``True`` if the user has had the annotation viewer displayed when hidden upon loading a " \ "capture that contains annotations. After this is set to true, we won't auto-show the \n" \ "annotation viewer automatically.\n" \ "\n" \ @@ -814,19 +814,19 @@ DOCUMENT(R"(The unit that GPU durations are displayed in. .. data:: Seconds - The durations are displayed as seconds (s). + The durations are displayed as seconds (``s``). .. data:: Milliseconds - The durations are displayed as milliseconds (ms). + The durations are displayed as milliseconds (``ms``). .. data:: Microseconds - The durations are displayed as microseconds (µs). + The durations are displayed as microseconds (``µs``). .. data:: Nanoseconds - The durations are displayed as nanoseconds (ns). + The durations are displayed as nanoseconds (``ns``). )"); enum class TimeUnit : int { @@ -896,9 +896,9 @@ struct CustomPersistentStorage #endif DOCUMENT(R"( -PersistantConfig() +PersistentConfig() -A persistant config file that is automatically loaded and saved, which contains any +A persistent 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. The config is retrieved by calling :meth:`CaptureContext.Config`. @@ -906,7 +906,7 @@ The config is retrieved by calling :meth:`CaptureContext.Config`. For more information about some of these settings that are user-facing see :ref:`the documentation for the settings window `. )"); -class PersistantConfig +class PersistentConfig { public: DOCUMENT(R"(Returns a list of all remote hosts. @@ -939,8 +939,8 @@ public: DOCUMENT(""); CONFIG_SETTINGS() public: - PersistantConfig(); - ~PersistantConfig(); + PersistentConfig(); + ~PersistentConfig(); DOCUMENT(R"(Loads the config from a given filename. This happens automatically on startup, so it's not recommended that you call this function manually. diff --git a/qrenderdoc/Code/Interface/QRDInterface.h b/qrenderdoc/Code/Interface/QRDInterface.h index 7c3eeb372..deecd8b23 100644 --- a/qrenderdoc/Code/Interface/QRDInterface.h +++ b/qrenderdoc/Code/Interface/QRDInterface.h @@ -92,7 +92,7 @@ struct ICaptureContext; #include "Analytics.h" #include "Extensions.h" -#include "PersistantConfig.h" +#include "PersistentConfig.h" #include "RemoteHost.h" DOCUMENT(R"( @@ -256,7 +256,7 @@ closest shortcut to a given action. The search goes from the widget with the foc chain of parents, with the first match being used. If no matches are found, then a 'global' default will be invoked, if it exists. -:param str shortcut: The text string representing the shortcut, e.g. 'Ctrl+S'. +:param str shortcut: The text string representing the shortcut, e.g. :kbd:`Ctrl+S`. :param QWidget widget: A handle to the widget to use as the context for this shortcut, or ``None`` for a global shortcut. Note that if an existing global shortcut exists the new one will not be registered. @@ -271,7 +271,7 @@ will be invoked, if it exists. See the documentation for :meth:`RegisterShortcut` for what these shortcuts are for. -:param str shortcut: The text string representing the shortcut, e.g. 'Ctrl+S'. To unregister all +:param str shortcut: The text string representing the shortcut, e.g. :kbd:`Ctrl+S`. To unregister all shortcuts for a particular widget, you can pass an empty string here. In this case, :paramref:`UnregisterShortcut.widget` must not be ``None``. :param QWidget widget: A handle to the widget used as the context for the shortcut, or ``None`` @@ -1113,7 +1113,7 @@ should not assume that these names will match those in the :class:`~renderdoc.Gr DOCUMENT(R"(Asks the connected program to take captures beginning at a certain frame number. -If the frame number has already passed when the request is recevied, no capture is made. +If the frame number has already passed when the request is received, no capture is made. :param int frameNumber: The first frame number to capture. :param int numFrames: How many frames to capture including the first. If set to 0, nothing @@ -1545,7 +1545,7 @@ created if the file fails to load DOCUMENT(R"(Creates a new script editor with a given name and text contents. :param str name: The name to give the editor, does not have to be a filename. -:param str text: The contents to prefill in the script, can be blank. +:param str text: The contents to start with in the editor, can be blank. )"); virtual void CreateNewScriptEditor(rdcstr name, rdcstr text) = 0; @@ -2028,7 +2028,7 @@ This can be used to identify if a command is long-running to display a progress The callback can optionally have a tag provided. Tags are for cases when we might send a request - e.g. to pick a vertex or pixel - -and want to pre-empt it with a new request before the first has returned. Either because some +and want to preempt it with a new request before the first has returned. Either because some other work is taking a while or because we're sending requests faster than they can be processed. @@ -2832,8 +2832,8 @@ combination with :meth:`DebugMessages` and :meth:`AddMessages` to filter the cur Examples of fields are: -* 'comments' for generic comments to be displayed in a text field -* 'hwinfo' for a plaintext summary of the hardware and driver configuration of the system. +* ``comments`` for generic comments to be displayed in a text field +* ``hwinfo`` for a plaintext summary of the hardware and driver configuration of the system. :param str key: The name of the notes field to retrieve. :return: The contents, or an empty string if the field doesn't exist. @@ -3417,12 +3417,12 @@ capture's API. )"); virtual const PipeState &CurPipelineState() = 0; - DOCUMENT(R"(Retrieve the current persistant config. + DOCUMENT(R"(Retrieve the current persistent config. -:return: The current persistant config manager. -:rtype: PersistantConfig +:return: The current persistent config manager. +:rtype: PersistentConfig )"); - virtual PersistantConfig &Config() = 0; + virtual PersistentConfig &Config() = 0; DOCUMENT(R"(Retrieve the manager for extensions. diff --git a/qrenderdoc/Code/Interface/RemoteHost.h b/qrenderdoc/Code/Interface/RemoteHost.h index 1862dd025..de9f94d6f 100644 --- a/qrenderdoc/Code/Interface/RemoteHost.h +++ b/qrenderdoc/Code/Interface/RemoteHost.h @@ -29,7 +29,7 @@ class RemoteHost; // do not include any headers here, they must all be in QRDInterface.h #include "QRDInterface.h" -class PersistantConfig; +class PersistentConfig; class ReplayManager; struct RemoteHostData; @@ -169,7 +169,8 @@ public: :rtype: bool )"); bool IsLocalhost() const { return m_hostname == "localhost"; } - DOCUMENT(R"(Returns ``True`` if this host represents a valid remote host. + DOCUMENT(R"( +:return: Returns ``True`` if this host represents a valid remote host. :rtype: bool )"); bool IsValid() const { return m_data && !m_hostname.isEmpty(); } @@ -184,7 +185,7 @@ private: RemoteHostData *m_data = NULL; // allow config to set our data - friend class PersistantConfig; + friend class PersistentConfig; void SetFriendlyName(const rdcstr &name); // allow ReplayManager to call these functions to change the status. Otherwise they are read-only diff --git a/qrenderdoc/Code/QRDUtils.cpp b/qrenderdoc/Code/QRDUtils.cpp index 70989546f..7002faff0 100644 --- a/qrenderdoc/Code/QRDUtils.cpp +++ b/qrenderdoc/Code/QRDUtils.cpp @@ -2839,7 +2839,7 @@ float Formatter::m_FixedFontBaseSize = 10.0f; QColor Formatter::m_DarkChecker, Formatter::m_LightChecker; OffsetSizeDisplayMode Formatter::m_OffsetSizeDisplayMode = OffsetSizeDisplayMode::Auto; -void Formatter::setParams(const PersistantConfig &config) +void Formatter::setParams(const PersistentConfig &config) { m_minFigures = qMax(0, config.Formatter_MinFigures); m_maxFigures = qMax(2, config.Formatter_MaxFigures); diff --git a/qrenderdoc/Code/QRDUtils.h b/qrenderdoc/Code/QRDUtils.h index e3e880242..2ce7708b2 100644 --- a/qrenderdoc/Code/QRDUtils.h +++ b/qrenderdoc/Code/QRDUtils.h @@ -391,7 +391,7 @@ struct Formatter NoFlags = 0x0, OffsetSize = 0x1, }; - static void setParams(const PersistantConfig &config); + static void setParams(const PersistentConfig &config); static void setPalette(QPalette palette); static void shutdown(); diff --git a/qrenderdoc/Code/pyrenderdoc/PythonContext.cpp b/qrenderdoc/Code/pyrenderdoc/PythonContext.cpp index 21aead490..7909351db 100644 --- a/qrenderdoc/Code/pyrenderdoc/PythonContext.cpp +++ b/qrenderdoc/Code/pyrenderdoc/PythonContext.cpp @@ -431,7 +431,7 @@ void PythonContext::PrepareDebugTracing() } } -void PythonContext::GlobalInit(PersistantConfig &config) +void PythonContext::GlobalInit(PersistentConfig &config) { // must happen on the UI thread if(qApp->thread() != QThread::currentThread()) @@ -2375,7 +2375,7 @@ bool PythonContext::WaitForDebugger() return ret; } -void PythonContext::LaunchDebugger(QWidget *window, PersistantConfig &config, QString context_location) +void PythonContext::LaunchDebugger(QWidget *window, PersistentConfig &config, QString context_location) { if(!m_DebugPy) return; diff --git a/qrenderdoc/Code/pyrenderdoc/PythonContext.h b/qrenderdoc/Code/pyrenderdoc/PythonContext.h index ffba98517..caa4feeec 100644 --- a/qrenderdoc/Code/pyrenderdoc/PythonContext.h +++ b/qrenderdoc/Code/pyrenderdoc/PythonContext.h @@ -62,7 +62,7 @@ public: void PausePythonThreading(); void ResumePythonThreading(); - static void GlobalInit(PersistantConfig &config); + static void GlobalInit(PersistentConfig &config); static void GlobalShutdown(); static QStringList GetApplicationExtensionsPaths(); @@ -81,7 +81,7 @@ public: static void PrepareDebuggerWait(); static bool WaitForDebugger(); - static void LaunchDebugger(QWidget *window, PersistantConfig &config, QString context_location); + static void LaunchDebugger(QWidget *window, PersistentConfig &config, QString context_location); PyParseError CheckPyParse(const QByteArray &script, const rdcstr &scriptNameForErrors); diff --git a/qrenderdoc/Code/pyrenderdoc/PythonInvokers.cpp b/qrenderdoc/Code/pyrenderdoc/PythonInvokers.cpp index 3ca1d4f33..3cba4f488 100644 --- a/qrenderdoc/Code/pyrenderdoc/PythonInvokers.cpp +++ b/qrenderdoc/Code/pyrenderdoc/PythonInvokers.cpp @@ -1448,7 +1448,7 @@ struct CaptureContextInvoker : UIThreadInvoker return m_Obj.CurVulkanPipelineState(); } virtual const PipeState &CurPipelineState() override { return m_Obj.CurPipelineState(); } - virtual PersistantConfig &Config() override { return m_Obj.Config(); } + virtual PersistentConfig &Config() override { return m_Obj.Config(); } // /////////////////////////////////////////////////////////////////////// // functions that invoke onto the UI thread diff --git a/qrenderdoc/Code/pyrenderdoc/interface_check.h b/qrenderdoc/Code/pyrenderdoc/interface_check.h index e1e0d150c..f29a1a4a6 100644 --- a/qrenderdoc/Code/pyrenderdoc/interface_check.h +++ b/qrenderdoc/Code/pyrenderdoc/interface_check.h @@ -68,7 +68,7 @@ inline bool checkname(rdcstr &log, const char *baseType, rdcstr name, NameType n return false; // allow the config to have different names - if((baseType && strstr(baseType, "PersistantConfig")) || name.contains("PersistantConfig")) + if((baseType && strstr(baseType, "PersistentConfig")) || name.contains("PersistentConfig")) return false; // skip swig internal type diff --git a/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i b/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i index ec17a6039..9b5ddce7e 100644 --- a/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i +++ b/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i @@ -171,7 +171,7 @@ SWIGPY_DESTRUCTOR_CLOSURE(capviewer_deinit) /* defines capviewer_deinit_destruct %include %include "Code/Interface/QRDInterface.h" -%include "Code/Interface/PersistantConfig.h" +%include "Code/Interface/PersistentConfig.h" %include "Code/Interface/RemoteHost.h" %include "Code/Interface/Extensions.h" diff --git a/qrenderdoc/Code/pyrenderdoc/qrenderdoc_stub.cpp b/qrenderdoc/Code/pyrenderdoc/qrenderdoc_stub.cpp index 4bb384e29..0645e0308 100644 --- a/qrenderdoc/Code/pyrenderdoc/qrenderdoc_stub.cpp +++ b/qrenderdoc/Code/pyrenderdoc/qrenderdoc_stub.cpp @@ -93,7 +93,7 @@ ShaderToolOutput ShaderProcessingTool::CompileShader(QWidget *window, rdcstr sou } //////////////////////////////////////////////////////////////////////////////// -// PersistantConfig.cpp stubs +// PersistentConfig.cpp stubs //////////////////////////////////////////////////////////////////////////////// rdcstr BugReport::URL() const @@ -101,56 +101,56 @@ rdcstr BugReport::URL() const return ""; } -bool PersistantConfig::SetStyle() +bool PersistentConfig::SetStyle() { return false; } -PersistantConfig::PersistantConfig() +PersistentConfig::PersistentConfig() { } -PersistantConfig::~PersistantConfig() +PersistentConfig::~PersistentConfig() { } -bool PersistantConfig::Load(const rdcstr &filename) +bool PersistentConfig::Load(const rdcstr &filename) { return false; } -bool PersistantConfig::Save() +bool PersistentConfig::Save() { return false; } -void PersistantConfig::Close() +void PersistentConfig::Close() { } -rdcarray PersistantConfig::GetRemoteHosts() +rdcarray PersistentConfig::GetRemoteHosts() { return {}; } -RemoteHost PersistantConfig::GetRemoteHost(const rdcstr &) +RemoteHost PersistentConfig::GetRemoteHost(const rdcstr &) { return RemoteHost(); } -void PersistantConfig::AddRemoteHost(RemoteHost host) +void PersistentConfig::AddRemoteHost(RemoteHost host) { } -void PersistantConfig::RemoveRemoteHost(RemoteHost host) +void PersistentConfig::RemoveRemoteHost(RemoteHost host) { } -void PersistantConfig::UpdateEnumeratedProtocolDevices() +void PersistentConfig::UpdateEnumeratedProtocolDevices() { } -void PersistantConfig::SetupFormatting() +void PersistentConfig::SetupFormatting() { } diff --git a/qrenderdoc/Code/pyrenderdoc/renderdoc.i b/qrenderdoc/Code/pyrenderdoc/renderdoc.i index 00ae2854c..8f55a89d1 100644 --- a/qrenderdoc/Code/pyrenderdoc/renderdoc.i +++ b/qrenderdoc/Code/pyrenderdoc/renderdoc.i @@ -319,8 +319,8 @@ TEMPLATE_FIXEDARRAY_DECLARE(rdcfixedarray); } %feature("docstring") R"(Returns a string representation of an object. This is quite similar to -the built-in repr() function but it iterates over struct members and prints them out, where normally -repr() would stop and say something like 'Swig Object of type ...'. +the built-in ``repr()`` function but it iterates over struct members and prints them out, where normally +``repr()`` would stop and say something like 'Swig Object of type ...'. :param Any obj: The object to dump :return: The string representation of the object. diff --git a/qrenderdoc/Code/qrenderdoc.cpp b/qrenderdoc/Code/qrenderdoc.cpp index 98a703876..b06178ffb 100644 --- a/qrenderdoc/Code/qrenderdoc.cpp +++ b/qrenderdoc/Code/qrenderdoc.cpp @@ -286,7 +286,7 @@ int main(int argc, char *argv[]) { QCoreApplication application(argc, mod_argv); - PersistantConfig cfg; + PersistentConfig cfg; PythonContext::GlobalInit(cfg); logstream << "Checking python binding consistency.\n"; @@ -509,7 +509,7 @@ int main(int argc, char *argv[]) RegisterMetatypeConversions(); { - PersistantConfig config; + PersistentConfig config; { QString configPath = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); diff --git a/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.cpp b/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.cpp index 1a267bb18..722e67fac 100644 --- a/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.cpp +++ b/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.cpp @@ -28,7 +28,7 @@ #include "Code/Interface/QRDInterface.h" #include "ui_AnalyticsPromptDialog.h" -AnalyticsPromptDialog::AnalyticsPromptDialog(PersistantConfig &cfg, QWidget *parent) +AnalyticsPromptDialog::AnalyticsPromptDialog(PersistentConfig &cfg, QWidget *parent) : QDialog(parent), ui(new Ui::AnalyticsPromptDialog), m_Config(cfg) { ui->setupUi(this); diff --git a/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.h b/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.h index adea68c21..a7caaf5ae 100644 --- a/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.h +++ b/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.h @@ -31,14 +31,14 @@ namespace Ui class AnalyticsPromptDialog; } -class PersistantConfig; +class PersistentConfig; class AnalyticsPromptDialog : public QDialog { Q_OBJECT public: - explicit AnalyticsPromptDialog(PersistantConfig &cfg, QWidget *parent = 0); + explicit AnalyticsPromptDialog(PersistentConfig &cfg, QWidget *parent = 0); ~AnalyticsPromptDialog(); private slots: @@ -50,5 +50,5 @@ private slots: private: Ui::AnalyticsPromptDialog *ui; - PersistantConfig &m_Config; + PersistentConfig &m_Config; }; diff --git a/qrenderdoc/Windows/Dialogs/CrashDialog.cpp b/qrenderdoc/Windows/Dialogs/CrashDialog.cpp index 4f638569d..e94bbf43e 100644 --- a/qrenderdoc/Windows/Dialogs/CrashDialog.cpp +++ b/qrenderdoc/Windows/Dialogs/CrashDialog.cpp @@ -41,7 +41,7 @@ const qint64 MaxUploadSize = 2250LL * 1024LL * 1024LL; -CrashDialog::CrashDialog(PersistantConfig &cfg, QVariantMap crashReportJSON, QWidget *parent) +CrashDialog::CrashDialog(PersistentConfig &cfg, QVariantMap crashReportJSON, QWidget *parent) : QDialog(parent), ui(new Ui::CrashDialog), m_Config(cfg) { ui->setupUi(this); @@ -256,14 +256,14 @@ CrashDialog::~CrashDialog() delete ui; } -bool CrashDialog::HasCaptureReady(PersistantConfig &cfg) +bool CrashDialog::HasCaptureReady(PersistentConfig &cfg) { QFileInfo capInfo(cfg.CrashReport_LastOpenedCapture); return capInfo.exists() && capInfo.size() <= MaxUploadSize; } -bool CrashDialog::CaptureTooLarge(PersistantConfig &cfg) +bool CrashDialog::CaptureTooLarge(PersistentConfig &cfg) { QFileInfo capInfo(cfg.CrashReport_LastOpenedCapture); diff --git a/qrenderdoc/Windows/Dialogs/CrashDialog.h b/qrenderdoc/Windows/Dialogs/CrashDialog.h index 66d0631ae..538a1e0f1 100644 --- a/qrenderdoc/Windows/Dialogs/CrashDialog.h +++ b/qrenderdoc/Windows/Dialogs/CrashDialog.h @@ -32,7 +32,7 @@ namespace Ui class CrashDialog; } -class PersistantConfig; +class PersistentConfig; class QNetworkAccessManager; class QNetworkReply; class QElapsedTimer; @@ -43,11 +43,11 @@ class CrashDialog : public QDialog { Q_OBJECT public: - explicit CrashDialog(PersistantConfig &cfg, QVariantMap crashReportJSON, QWidget *parent = 0); + explicit CrashDialog(PersistentConfig &cfg, QVariantMap crashReportJSON, QWidget *parent = 0); ~CrashDialog(); - static bool HasCaptureReady(PersistantConfig &cfg); - static bool CaptureTooLarge(PersistantConfig &cfg); + static bool HasCaptureReady(PersistentConfig &cfg); + static bool CaptureTooLarge(PersistentConfig &cfg); private slots: // automatic slots @@ -90,5 +90,5 @@ private: Thumbnail *m_Thumbnail = NULL; - PersistantConfig &m_Config; + PersistentConfig &m_Config; }; diff --git a/qrenderdoc/Windows/EventBrowser.cpp b/qrenderdoc/Windows/EventBrowser.cpp index af36922b3..fd2dee46a 100644 --- a/qrenderdoc/Windows/EventBrowser.cpp +++ b/qrenderdoc/Windows/EventBrowser.cpp @@ -162,7 +162,7 @@ struct EventBrowserPersistentStorage : public CustomPersistentStorage QList> SavedFilters; }; -static EventBrowserPersistentStorage persistantStorage("EventBrowser"); +static EventBrowserPersistentStorage persistentStorage("EventBrowser"); enum { @@ -3938,7 +3938,7 @@ EventBrowser::EventBrowser(ICaptureContext &ctx, QWidget *parent) ui->filterExpression->enableCompletion(); ui->filterExpression->setAcceptRichText(false); - ui->filterExpression->setText(persistantStorage.CurrentFilter); + ui->filterExpression->setText(persistentStorage.CurrentFilter); m_SavedCompleter = new QCompleter(this); m_SavedCompleter->setWidget(ui->filterExpression); @@ -3951,9 +3951,9 @@ EventBrowser::EventBrowser(ICaptureContext &ctx, QWidget *parent) QObject::connect(m_SavedCompleter, OverloadedSlot::of(&QCompleter::activated), [this](const QModelIndex &idx) { int i = idx.row(); - if(i >= 0 && i < persistantStorage.SavedFilters.count()) + if(i >= 0 && i < persistentStorage.SavedFilters.count()) { - m_CurrentFilterText->setPlainText(persistantStorage.SavedFilters[i].second); + m_CurrentFilterText->setPlainText(persistentStorage.SavedFilters[i].second); QTextCursor c = m_CurrentFilterText->textCursor(); c.movePosition(QTextCursor::EndOfLine); @@ -4365,7 +4365,7 @@ void EventBrowser::CreateFilterDialog() saveName.setPlaceholderText(tr("Name of filter")); RDListWidget filters; - for(const QPair &f : persistantStorage.SavedFilters) + for(const QPair &f : persistentStorage.SavedFilters) filters.addItem(f.first); QPushButton saveButton; @@ -4407,9 +4407,9 @@ void EventBrowser::CreateFilterDialog() [&saveButton](QListWidgetItem *) { saveButton.click(); }); QObject::connect(&saveName, &RDLineEdit::textChanged, [&saveName, &filters]() { - for(int i = 0; i < persistantStorage.SavedFilters.count(); i++) + for(int i = 0; i < persistentStorage.SavedFilters.count(); i++) { - if(saveName.text().trimmed().toLower() == persistantStorage.SavedFilters[i].first.toLower()) + if(saveName.text().trimmed().toLower() == persistentStorage.SavedFilters[i].first.toLower()) { if(filters.currentRow() != i) filters.setCurrentRow(i); @@ -4421,19 +4421,19 @@ void EventBrowser::CreateFilterDialog() }); QObject::connect(&filters, &QListWidget::currentRowChanged, [&saveName](int row) { - if(row >= 0 && row < persistantStorage.SavedFilters.count()) - saveName.setText(persistantStorage.SavedFilters[row].first); + if(row >= 0 && row < persistentStorage.SavedFilters.count()) + saveName.setText(persistentStorage.SavedFilters[row].first); }); QObject::connect(&saveButton, &QPushButton::clicked, [this, dialog, &saveName, &filters]() { QString n = saveName.text().trimmed(); QString f = m_FilterSettings.Filter->toPlainText(); - for(int i = 0; i < persistantStorage.SavedFilters.count(); i++) + for(int i = 0; i < persistentStorage.SavedFilters.count(); i++) { - if(n.toLower() == persistantStorage.SavedFilters[i].first.toLower()) + if(n.toLower() == persistentStorage.SavedFilters[i].first.toLower()) { - if(persistantStorage.SavedFilters[i].second.trimmed() == f.trimmed()) + if(persistentStorage.SavedFilters[i].second.trimmed() == f.trimmed()) { dialog->accept(); return; @@ -4442,8 +4442,8 @@ void EventBrowser::CreateFilterDialog() QMessageBox::StandardButton res = RDDialog::question( dialog, tr("Delete filter?"), tr("Are you sure you want to overwrite the %1 filter? From:\n\n%2\n\nTo:\n\n%3") - .arg(persistantStorage.SavedFilters[i].first) - .arg(persistantStorage.SavedFilters[i].second) + .arg(persistentStorage.SavedFilters[i].first) + .arg(persistentStorage.SavedFilters[i].second) .arg(f), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); @@ -4451,12 +4451,12 @@ void EventBrowser::CreateFilterDialog() return; delete filters.takeItem(i); - persistantStorage.SavedFilters.erase(persistantStorage.SavedFilters.begin() + i); + persistentStorage.SavedFilters.erase(persistentStorage.SavedFilters.begin() + i); break; } } - persistantStorage.SavedFilters.insert(0, {n, f}); + persistentStorage.SavedFilters.insert(0, {n, f}); dialog->accept(); }); @@ -4466,21 +4466,21 @@ void EventBrowser::CreateFilterDialog() if(!item) return; - for(int i = 0; i < persistantStorage.SavedFilters.count(); i++) + for(int i = 0; i < persistentStorage.SavedFilters.count(); i++) { - if(item->text().trimmed().toLower() == persistantStorage.SavedFilters[i].first.toLower()) + if(item->text().trimmed().toLower() == persistentStorage.SavedFilters[i].first.toLower()) { QMessageBox::StandardButton res = RDDialog::question(dialog, tr("Delete filter?"), tr("Are you sure you want to delete the %1 filter?\n\n%2") - .arg(persistantStorage.SavedFilters[i].first) - .arg(persistantStorage.SavedFilters[i].second), + .arg(persistentStorage.SavedFilters[i].first) + .arg(persistentStorage.SavedFilters[i].second), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); if(res == QMessageBox::Yes) { delete filters.takeItem(i); - persistantStorage.SavedFilters.erase(persistantStorage.SavedFilters.begin() + i); + persistentStorage.SavedFilters.erase(persistentStorage.SavedFilters.begin() + i); } return; @@ -4535,7 +4535,7 @@ void EventBrowser::CreateFilterDialog() if(res == QMessageBox::Yes) { - persistantStorage.SavedFilters = storedFilters.SavedFilters; + persistentStorage.SavedFilters = storedFilters.SavedFilters; } } else @@ -4565,7 +4565,7 @@ void EventBrowser::CreateFilterDialog() if(f.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text)) { QVariant v; - persistantStorage.save(v); + persistentStorage.save(v); QVariantMap filters = v.toMap(); SaveToJSON(filters, f, "rdocFilterSet", 1); @@ -4583,7 +4583,7 @@ void EventBrowser::CreateFilterDialog() // disable export if there are no filters to export QObject::connect(importExportMenu, &QMenu::aboutToShow, [exportAction]() { - exportAction->setEnabled(!persistantStorage.SavedFilters.isEmpty()); + exportAction->setEnabled(!persistentStorage.SavedFilters.isEmpty()); }); saveFilter->setMenu(importExportMenu); @@ -4992,7 +4992,7 @@ void EventBrowser::filter_apply() ui->events->updateExpansion(m_EventsExpansion, keygen); QString expression = ui->filterExpression->toPlainText(); - persistantStorage.CurrentFilter = expression; + persistentStorage.CurrentFilter = expression; rdcarray filters; *m_ParseTrace = m_FilterModel->ParseExpressionToFilters(expression, filters); @@ -5224,7 +5224,7 @@ void EventBrowser::ShowSavedFilterCompleter(RDTextEdit *filter) { QStringList strs; - for(QPair &f : persistantStorage.SavedFilters) + for(QPair &f : persistentStorage.SavedFilters) strs << f.first + lit(": ") + f.second; m_SavedCompletionModel->setStringList(strs); diff --git a/qrenderdoc/qrenderdoc.pro b/qrenderdoc/qrenderdoc.pro index 87982314a..c8d70334f 100644 --- a/qrenderdoc/qrenderdoc.pro +++ b/qrenderdoc/qrenderdoc.pro @@ -181,7 +181,7 @@ SOURCES += Code/qrenderdoc.cpp \ Code/Interface/QRDInterface.cpp \ Code/Interface/Analytics.cpp \ Code/Interface/ShaderProcessingTool.cpp \ - Code/Interface/PersistantConfig.cpp \ + Code/Interface/PersistentConfig.cpp \ Code/Interface/RemoteHost.cpp \ Styles/StyleData.cpp \ Styles/RDStyle/RDStyle.cpp \ @@ -270,7 +270,7 @@ HEADERS += Code/CaptureContext.h \ Code/pyrenderdoc/interface_check.h \ Code/Interface/QRDInterface.h \ Code/Interface/Analytics.h \ - Code/Interface/PersistantConfig.h \ + Code/Interface/PersistentConfig.h \ Code/Interface/Extensions.h \ Code/Interface/RemoteHost.h \ Styles/StyleData.h \ diff --git a/qrenderdoc/qrenderdoc_local.vcxproj b/qrenderdoc/qrenderdoc_local.vcxproj index 92ea56853..9639c5f38 100644 --- a/qrenderdoc/qrenderdoc_local.vcxproj +++ b/qrenderdoc/qrenderdoc_local.vcxproj @@ -593,7 +593,7 @@ - + @@ -950,7 +950,7 @@ - + diff --git a/qrenderdoc/qrenderdoc_local.vcxproj.filters b/qrenderdoc/qrenderdoc_local.vcxproj.filters index e77bd2d9b..60875b5e8 100644 --- a/qrenderdoc/qrenderdoc_local.vcxproj.filters +++ b/qrenderdoc/qrenderdoc_local.vcxproj.filters @@ -591,9 +591,6 @@ Generated Files - - Code\Interface - Code\Interface @@ -798,6 +795,9 @@ Widgets\Extended + + Code\Interface + @@ -1088,9 +1088,6 @@ Generated Files - - Code\Interface - Code\Interface @@ -1184,6 +1181,9 @@ Generated Files + + Code\Interface + diff --git a/renderdoc/api/replay/common_pipestate.h b/renderdoc/api/replay/common_pipestate.h index a25238161..439403d0d 100644 --- a/renderdoc/api/replay/common_pipestate.h +++ b/renderdoc/api/replay/common_pipestate.h @@ -467,7 +467,7 @@ struct BoundVBuffer :type: int )"); uint32_t byteStride = 0; - DOCUMENT(R"(The size of the buffer binding, or 0xFFFFFFFF if the whole buffer is bound. + DOCUMENT(R"(The size of the buffer binding, or ``0xFFFFFFFF`` if the whole buffer is bound. :type: int )"); @@ -1305,7 +1305,7 @@ from the vertex buffer before advancing to the next value. )"); bool genericEnabled = false; DOCUMENT(R"(Only valid for attributes on OpenGL. If the attribute has been set up for integers to -be converted to floats (glVertexAttribFormat with GL_INT) we store the format as integers. This is +be converted to floats (``glVertexAttribFormat`` with ``GL_INT``) we store the format as integers. This is fine if the application has a float input in the shader it just means we display the raw integer instead of the casted float. However if the shader has an integer input this is invalid and it will read something undefined - possibly the int bits of the casted float. diff --git a/renderdoc/api/replay/control_types.h b/renderdoc/api/replay/control_types.h index f856cd0c2..45a3b93c9 100644 --- a/renderdoc/api/replay/control_types.h +++ b/renderdoc/api/replay/control_types.h @@ -127,7 +127,7 @@ struct MeshFormat :type: ResourceId )"); ResourceId indexResourceId; - DOCUMENT(R"(The offset in bytes where the indices start in idxbuf. + DOCUMENT(R"(The offset in bytes where the indices start in :data:`indexResourceId`. :type: int )"); @@ -330,7 +330,7 @@ MeshDisplay() MeshDisplay(other: MeshDisplay) Describes how to render a mesh preview of one or more meshes. Describes the camera configuration as -well as what options to use when rendering both the current mesh, and any other auxilliary meshes. +well as what options to use when rendering both the current mesh, and any other auxiliary meshes. .. data:: NoHighlight @@ -1328,7 +1328,7 @@ struct GPUDevice :type: GPUVendor )"); GPUVendor vendor = GPUVendor::Unknown; - DOCUMENT(R"(The PCI deviceID of this GPU. + DOCUMENT(R"(The PCI device ID of this GPU. :type: int )"); diff --git a/renderdoc/api/replay/d3d12_pipestate.h b/renderdoc/api/replay/d3d12_pipestate.h index c6640ff31..48554b4cc 100644 --- a/renderdoc/api/replay/d3d12_pipestate.h +++ b/renderdoc/api/replay/d3d12_pipestate.h @@ -680,7 +680,7 @@ struct OM :type: bool )"); bool depthReadOnly = false; - DOCUMENT(R"(``True`` if stenncil access to the depth-stencil target is read-only. + DOCUMENT(R"(``True`` if stencil access to the depth-stencil target is read-only. :type: bool )"); diff --git a/renderdoc/api/replay/data_types.h b/renderdoc/api/replay/data_types.h index a91715a32..b746a81aa 100644 --- a/renderdoc/api/replay/data_types.h +++ b/renderdoc/api/replay/data_types.h @@ -862,7 +862,7 @@ human-readable name by the application. DOCUMENT(R"(The chunk indices in the structured file that initialised this resource. -This will at least contain the first call that created it, but may contain other auxilliary calls. +This will at least contain the first call that created it, but may contain other auxiliary calls. :type: List[int] )"); @@ -937,7 +937,7 @@ struct DescriptorStoreDescription )"); ResourceId resourceId; - DOCUMENT(R"(For descriptor stores which contain desriptors all of identical size, the size of each + DOCUMENT(R"(For descriptor stores which contain descriptors all of identical size, the size of each descriptor. Descriptors are assumed to be tightly packed so stride is equal to size. :type: int @@ -2639,7 +2639,7 @@ Uuid() Uuid(other: Uuid) Uuid(word1: int, word2: int, word3: int, word4: int) -A 128-bit Uuid. +A 128-bit UUID. )"); struct Uuid { @@ -2660,7 +2660,7 @@ struct Uuid bool operator<(const Uuid &rhs) const { return words < rhs.words; } DOCUMENT("Compares two ``Uuid`` objects for equality."); bool operator==(const Uuid &rhs) const { return words == rhs.words; } - DOCUMENT(R"(The Uuid bytes as a tuple of four 32-bit integers. + DOCUMENT(R"(The UUID bytes as a tuple of four 32-bit integers. :type: Tuple[int,int,int,int] )") @@ -2925,7 +2925,7 @@ struct ModificationValue } DOCUMENT(R"(The color value. -If the modifications are for a color target, tthe contents will all be ``0``. +If the modifications are for a color target, the contents will all be ``0``. :type: PixelValue )"); @@ -3146,7 +3146,7 @@ pixel. } DOCUMENT(R"(Update the depth-test failure state based on known shader output depth value and -preMod reference value, quantised to a certain number of depth bits with epsilon. +:data:`preMod` reference value, quantised to a certain number of depth bits with epsilon. This is primarily used internally and should not be needed to be called externally. diff --git a/renderdoc/api/replay/gl_pipestate.h b/renderdoc/api/replay/gl_pipestate.h index 4ec3f8525..a6ed9be0a 100644 --- a/renderdoc/api/replay/gl_pipestate.h +++ b/renderdoc/api/replay/gl_pipestate.h @@ -78,8 +78,8 @@ struct VertexAttribute DOCUMENT(R"(Only valid for integer formatted attributes, ``True`` if they are cast to float. -This is because they were specified with an integer format but glVertexAttribFormat (not -glVertexAttribIFormat) so they will be cast. +This is because they were specified with an integer format but ``glVertexAttribFormat`` (not +``glVertexAttribIFormat``) so they will be cast. :type: bool )"); diff --git a/renderdoc/api/replay/pipestate.h b/renderdoc/api/replay/pipestate.h index 4df248a53..16c812f24 100644 --- a/renderdoc/api/replay/pipestate.h +++ b/renderdoc/api/replay/pipestate.h @@ -188,7 +188,7 @@ public: :rtype: bool )"); bool SupportsBarriers() const { return IsCaptureLoaded() && (IsCaptureVK() || IsCaptureD3D12()); } - DOCUMENT(R"(Determines whether or not the PostVS data is aligned in the typical fashion (ie. + DOCUMENT(R"(Determines whether or not the PostVS data is aligned in the typical fashion (i.e. vectors not crossing ``float4`` boundaries). APIs that use stream-out or transform feedback have tightly packed data, but APIs that rewrite shaders to dump data might have these alignment requirements. diff --git a/renderdoc/api/replay/renderdoc_replay.h b/renderdoc/api/replay/renderdoc_replay.h index 747a6260c..b882a1682 100644 --- a/renderdoc/api/replay/renderdoc_replay.h +++ b/renderdoc/api/replay/renderdoc_replay.h @@ -191,7 +191,7 @@ inline const WindowingData CreateAndroidWindowingData(ANativeWindow *window) typedef void *NSView; typedef void *CALayer; -DOCUMENT(R"(Create a :class:`WindowingData` for an metal/opengl-compatible macOS ``CALayer`` handle +DOCUMENT(R"(Create a :class:`WindowingData` for an Metal/OpenGL-compatible macOS ``CALayer`` handle and ``NSView`` handle (as void pointers). :param NSView view: The native ``NSView`` handle for this window. @@ -581,7 +581,7 @@ Multiple ranges within the store can be queried at once, and are returned in a c DOCUMENT(R"(Retrieve the list of possible disassembly targets for :meth:`DisassembleShader`. The values are implementation dependent but will always include a default target first which is the -native disassembly of the shader. Further options may be available for additional diassembly views +native disassembly of the shader. Further options may be available for additional disassembly views or hardware-specific ISA formats. :param bool withPipeline: More disassembly may be available when a pipeline is specified. @@ -1214,7 +1214,7 @@ The details of the types of messages that can be received are listed under :class:`TargetControlMessage`. .. note:: If no message has been received, this function will pump the connection. You are expected - to continually call this function and process any messages to kee pthe connection alive. + to continually call this function and process any messages to keep the connection alive. This function will block but only to a limited degree. If no message is waiting after a small time it will return with a No-op message to allow further processing. @@ -1378,14 +1378,14 @@ by calling :meth:`EmbedDependenciesIntoCapture`. )"); virtual ResultDetails RemoveDependenciesFromCapture() = 0; - DOCUMENT(R"(Are there any depdendent files embedded in the capture i.e. shader debug files. + DOCUMENT(R"(Are there any dependent files embedded in the capture i.e. shader debug files. :return: ``True`` if the capture has embedded dependent files, or ``False`` if the capture does not any embedded dependent files. :rtype: bool )"); virtual bool HasEmbeddedDependencies() = 0; - DOCUMENT(R"(Does the capture have references to dependecies i.e. shader debug files. + DOCUMENT(R"(Does the capture have references to dependencies i.e. shader debug files. :return: ``True`` if the capture has references to dependent files, or ``False`` if the capture does not contain references to dependent files. :rtype: bool @@ -1396,7 +1396,7 @@ by calling :meth:`EmbedDependenciesIntoCapture`. by the capture i.e. shader debug files. .. note:: - The nicknames can be arbitary and do not have to be a filename or a file path. + The nicknames can be arbitrary and do not have to be a filename or a file path. :return: A list of the nicknames used to reference dependencies. :rtype: List[str] @@ -1690,7 +1690,7 @@ microseconds. May be 1.0 if all timestamps and durations are already in microsec )"); virtual double TimestampFrequency() = 0; - DOCUMENT(R"(Sets the matadata for this capture handle. + DOCUMENT(R"(Sets the metadata for this capture handle. This function may only be called if the handle is 'empty' - i.e. no file has been opened with :meth:`OpenFile` or :meth:`OpenBuffer`. @@ -2120,7 +2120,7 @@ DOCUMENT(R"(When debugging RenderDoc it can be useful to capture itself by doing temporary name. This function checks to see if a given self-hosted DLL is available. :param str dllname: The name of the self-hosted capture module. -:return: Whether the specified dll is loaded, ready for self-hosted capture. +:return: Whether the specified DLL is loaded, ready for self-hosted capture. :rtype: bool )"); extern "C" RENDERDOC_API bool RENDERDOC_CC RENDERDOC_CanSelfHostedCapture(const rdcstr &dllname); @@ -2263,7 +2263,7 @@ extern "C" RENDERDOC_API bool RENDERDOC_CC RENDERDOC_IsReleaseBuild(); DOCUMENT(R"(Retrieves the commit hash used to build. -This will be in the form "0123456789abcdef0123456789abcdef01234567" +This will be in the form ``0123456789abcdef0123456789abcdef01234567`` :return: The commit hash. :rtype: str diff --git a/renderdoc/api/replay/replay_enums.h b/renderdoc/api/replay/replay_enums.h index 78eb291c0..96a6ad351 100644 --- a/renderdoc/api/replay/replay_enums.h +++ b/renderdoc/api/replay/replay_enums.h @@ -32,7 +32,7 @@ DOCUMENT(R"(The types of several pre-defined and known sections. This allows con to recognise and understand the contents of the section. Note that sections above the highest value here may be encountered if they were written in a new -version of RenderDoc that addes a new section type. They should be considered equal to +version of RenderDoc that added a new section type. They should be considered equal to :data:`Unknown` by any processing. .. data:: Unknown @@ -44,20 +44,20 @@ version of RenderDoc that addes a new section type. They should be considered eq This section contains the actual captured frame, in RenderDoc's internal chunked representation. The contents can be fetched as structured data with or without replaying the frame. - The name for this section will be "renderdoc/internal/framecapture". + The name for this section will be ``renderdoc/internal/framecapture``. .. data:: ResolveDatabase This section contains platform-specific data used to resolve callstacks. - The name for this section will be "renderdoc/internal/resolvedb". + The name for this section will be ``renderdoc/internal/resolvedb``. .. data:: Bookmarks This section contains a JSON document with bookmarks added to the capture to highlight important events. - The name for this section will be "renderdoc/ui/bookmarks". + The name for this section will be ``renderdoc/ui/bookmarks``. .. data:: Notes @@ -65,57 +65,57 @@ version of RenderDoc that addes a new section type. They should be considered eq details about how the capture was obtained with repro steps in the original program, or with driver and machine info. - The name for this section will be "renderdoc/ui/notes". + The name for this section will be ``renderdoc/ui/notes``. .. data:: ResourceRenames This section contains a JSON document with custom names applied to resources in the UI, over and above any friendly names specified in the capture itself. - The name for this section will be "renderdoc/ui/resrenames". + The name for this section will be ``renderdoc/ui/resrenames``. .. data:: AMDRGPProfile This section contains a .rgp profile from AMD's RGP tool, which can be extracted and loaded. - The name for this section will be "amd/rgp/profile". + The name for this section will be ``amd/rgp/profile``. .. data:: ExtendedThumbnail This section contains a thumbnail in format other than JPEG. For example, when it needs to be lossless. - The name for this section will be "renderdoc/internal/exthumb". + The name for this section will be ``renderdoc/internal/exthumb``. .. data:: EmbeddedLogfile This section contains the log file at the time of capture, for debugging. - The name for this section will be "renderdoc/internal/logfile". + The name for this section will be ``renderdoc/internal/logfile``. .. data:: EditedShaders This section contains any edited shaders. - The name for this section will be "renderdoc/ui/edits". + The name for this section will be ``renderdoc/ui/edits``. .. data:: D3D12Core This section contains an internal copy of D3D12Core for replaying. - The name for this section will be "renderdoc/internal/d3d12core". + The name for this section will be ``renderdoc/internal/d3d12core``. .. data:: D3D12SDKLayers This section contains an internal copy of D3D12SDKLayers for replaying. - The name for this section will be "renderdoc/internal/d3d12sdklayers". + The name for this section will be ``renderdoc/internal/d3d12sdklayers``. .. data:: EmbeddedExternalFiles This section contains externally referenced files that have been embedded into the capture. - The name for this section will be "renderdoc/internal/embeddedexternalfiles". + The name for this section will be ``renderdoc/internal/embeddedexternalfiles``. )"); enum class SectionType : uint32_t { @@ -1094,7 +1094,7 @@ to apply to multiple related things - see :data:`ClipDistance`, :data:`CullDista .. data:: GroupIndex - An input in compute shaders giving a 3D index of this current workgroup amongst all workgroups, + An input in compute shaders giving a 3D index of this current workgroup among all workgroups, up to the dispatch size. The index is constant across all threads in the workgroup. @@ -1136,7 +1136,7 @@ to apply to multiple related things - see :data:`ClipDistance`, :data:`CullDista .. data:: DomainLocation An input to the tessellation evaluation or domain shader, giving the normalised location on the - output patch where evaluation is occuring. E.g. for triangle output this is the barycentric + output patch where evaluation is occurring. E.g. for triangle output this is the barycentric co-ordinates of the output vertex. .. data:: IsFrontFace @@ -1814,7 +1814,7 @@ or formats that don't have equal byte-multiple sizes for each channel. .. data:: PVRTC - PowerVR properitary texture compression format. + PowerVR proprietary texture compression format. .. data:: A8 @@ -2080,32 +2080,32 @@ DOCUMENT(R"(Identifies a particular known tool used for shader processing. .. data:: SPIRV_Cross `SPIRV-Cross `_ - targetting normal Vulkan flavoured SPIR-V. + targeting normal Vulkan flavoured SPIR-V. .. data:: SPIRV_Cross_OpenGL `SPIRV-Cross `_ - targetting OpenGL extension flavoured SPIR-V. + targeting OpenGL extension flavoured SPIR-V. .. data:: spirv_dis `spirv-dis from SPIRV-Tools `_ - targetting normal Vulkan flavoured SPIR-V. + targeting normal Vulkan flavoured SPIR-V. .. data:: spirv_dis_OpenGL `spirv-dis from SPIRV-Tools `_ - targetting OpenGL extension flavoured SPIR-V. + targeting OpenGL extension flavoured SPIR-V. .. data:: glslangValidatorGLSL `glslang compiler (GLSL) `_ - targetting normal Vulkan flavoured SPIR-V. + targeting normal Vulkan flavoured SPIR-V. .. data:: glslangValidatorGLSL_OpenGL `glslang compiler (GLSL) `_ - targetting OpenGL extension flavoured SPIR-V. + targeting OpenGL extension flavoured SPIR-V. .. data:: glslangValidatorHLSL @@ -2114,12 +2114,12 @@ DOCUMENT(R"(Identifies a particular known tool used for shader processing. .. data:: spirv_as `spirv-as from SPIRV-Tools `_ - targetting normal Vulkan flavoured SPIR-V. + targeting normal Vulkan flavoured SPIR-V. .. data:: spirv_as_OpenGL `spirv-as from SPIRV-Tools `_ - targetting OpenGL extension flavoured SPIR-V. + targeting OpenGL extension flavoured SPIR-V. .. data:: dxcSPIRV @@ -4915,7 +4915,7 @@ DOCUMENT(R"(A set of flags for events that may occur while debugging a shader .. data:: DebugBreak - A debugbreak event was emitted. + A ``debugbreak()`` event was emitted. )"); enum class ShaderEvents : uint32_t { diff --git a/renderdoc/api/replay/shader_types.h b/renderdoc/api/replay/shader_types.h index 9370efb90..648ad6af2 100644 --- a/renderdoc/api/replay/shader_types.h +++ b/renderdoc/api/replay/shader_types.h @@ -924,7 +924,7 @@ struct ShaderVariableChange } DOCUMENT(R"(The value of the variable before the change. If this variable is uninitialised that -means the variable came into existance on this step. +means the variable came into existence on this step. :type: ShaderVariable )"); diff --git a/renderdoc/api/replay/vk_pipestate.h b/renderdoc/api/replay/vk_pipestate.h index 1191a58c6..4c1ff870a 100644 --- a/renderdoc/api/replay/vk_pipestate.h +++ b/renderdoc/api/replay/vk_pipestate.h @@ -593,8 +593,8 @@ value. bytebuf specializationData; DOCUMENT(R"(The specialization constant ID for each entry in the specialization constant block of -reflection info. This corresponds to the constantID in VkSpecializationMapEntry, while the offset -and size into specializationData can be obtained from the reflection info. +reflection info. This corresponds to the ``constantID`` in ``VkSpecializationMapEntry``, while the offset +and size into ``specializationData`` can be obtained from the reflection info. :type: List[int] )") @@ -857,7 +857,7 @@ and a fragment in none of them is discarded. )"); bool discardRectanglesExclusive = true; - DOCUMENT(R"(Whether depth clip range is set to [-1, 1] through VK_EXT_depth_clip_control. + DOCUMENT(R"(Whether depth clip range is set to ``[-1, 1]`` through ``VK_EXT_depth_clip_control``. :type: bool )"); @@ -1208,8 +1208,8 @@ Describes the setup of a renderpass and subpasses. .. data:: AttachmentUnused - Alias for VK_ATTACHMENT_UNUSED, for use by the UI to know when a value in colorAttachmentLocations - or colorAttachmentInputIndices is mapped to VK_ATTACHMENT_UNUSED. + Alias for ``VK_ATTACHMENT_UNUSED``, for use by the UI to know when a value in ``colorAttachmentLocations`` + or ``colorAttachmentInputIndices`` is mapped to ``VK_ATTACHMENT_UNUSED``. )"); struct RenderPass { @@ -1329,19 +1329,19 @@ If the list is empty, multiview is disabled and rendering is as normal. )"); rdcarray multiviews; - DOCUMENT(R"(If VK_QCOM_fragment_density_map_offset is enabled, contains a list of offsets applied + DOCUMENT(R"(If ``VK_QCOM_fragment_density_map_offset`` is enabled, contains a list of offsets applied to the fragment density map during rendering. -If the list is empty, fdm_offset is disabled and rendering is as normal. +If the list is empty, ``fdm_offset`` is disabled and rendering is as normal. :type: List[Offset] )"); rdcarray fragmentDensityOffsets; - DOCUMENT(R"(If VK_EXT_multisampled_render_to_single_sampled is enabled, contains the number of + DOCUMENT(R"(If ``VK_EXT_multisampled_render_to_single_sampled`` is enabled, contains the number of samples used to render this subpass. -If the subpass is not internally multisampled, tileOnlyMSAASampleCount is set to 0. +If the subpass is not internally multisampled, ``tileOnlyMSAASampleCount`` is set to 0. :type: int )"); diff --git a/renderdoc/driver/d3d11/d3d11_device.cpp b/renderdoc/driver/d3d11/d3d11_device.cpp index 1d968a75c..5afcd8464 100644 --- a/renderdoc/driver/d3d11/d3d11_device.cpp +++ b/renderdoc/driver/d3d11/d3d11_device.cpp @@ -1559,7 +1559,7 @@ RDResult WrappedID3D11Device::ReadLogInitialisation(RDCFile *rdc, bool storeStru GetReplay()->WriteFrameRecord().frameInfo.initDataSize = chunkInfos[(D3D11Chunk)SystemChunk::InitialContents].totalsize; - RDCDEBUG("Allocating %llu persistant bytes of memory for the log.", + RDCDEBUG("Allocating %llu persistent bytes of memory for the log.", GetReplay()->WriteFrameRecord().frameInfo.persistentSize); if(HasFatalError()) diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index bbb052526..d4922afd8 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -5710,7 +5710,7 @@ RDResult WrappedID3D12Device::ReadLogInitialisation(RDCFile *rdc, bool storeStru GetReplay()->WriteFrameRecord().frameInfo.initDataSize = chunkInfos[(D3D12Chunk)SystemChunk::InitialContents].totalsize; - RDCDEBUG("Allocating %llu persistant bytes of memory for the log.", + RDCDEBUG("Allocating %llu persistent bytes of memory for the log.", GetReplay()->WriteFrameRecord().frameInfo.persistentSize); if(m_FatalError != ResultCode::Succeeded) diff --git a/renderdoc/driver/d3d12/d3d12_resources.cpp b/renderdoc/driver/d3d12/d3d12_resources.cpp index 95149f9c1..c326d51d5 100644 --- a/renderdoc/driver/d3d12/d3d12_resources.cpp +++ b/renderdoc/driver/d3d12/d3d12_resources.cpp @@ -392,7 +392,7 @@ HRESULT STDMETHODCALLTYPE WrappedID3D12Resource::Map(UINT Subresource, map[Subresource].realPtr = (byte *)mapPtr; map[Subresource].refcount++; - // on the first map, register this so we can flush any updates in case it's left persistant + // on the first map, register this so we can flush any updates in case it's left persistent if(map[Subresource].refcount == 1) m_pDevice->Map(this, Subresource); } diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index 96c2b64ac..ca788672a 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -3634,7 +3634,7 @@ RDResult WrappedOpenGL::ReadLogInitialisation(RDCFile *rdc, bool storeStructured GetReplay()->WriteFrameRecord().frameInfo.initDataSize = chunkInfos[(GLChunk)SystemChunk::InitialContents].totalsize; - RDCDEBUG("Allocating %llu persistant bytes of memory for the log.", + RDCDEBUG("Allocating %llu persistent bytes of memory for the log.", GetReplay()->WriteFrameRecord().frameInfo.persistentSize); return ResultCode::Succeeded; diff --git a/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp index 2254657c6..509abdc67 100644 --- a/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp @@ -2254,7 +2254,7 @@ void WrappedOpenGL::glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GL * * * - * Persistant maps: + * Persistent maps: * * The above process handles "normal" maps that happen between other GL commands that use the buffer * contents. Maps that are persistent need to be handled carefully since there are other knock-ons