<commit_before>RenderDoc for Vulkan
========

These are the release notes for an early preview version of RenderDoc with Vulkan support. The intention is to have a reliable graphics debugger for 1.0 release of Vulkan, full details of the feature set are still to be determined.

This build is still quite early in development and is provided primarily for early feedback and awareness, to give an idea to Khronos and Vulkan Advisors of what is in the pipeline. A further release will be made in the near future when the debugger has been stabilised and is more ready to be stressed.

With the known issues listed below in mind, anyone can try the tool and report back bugs encountered or general feedback. Likewise feedback is welcome about where future work should be prioritised.

If you have any questions you can contact myself (<EMAIL>) or LunarG via LunarXchange.

Current Support
========

* A single VkInstance/VkQueue/VkDevice triple is supported.
* Capture and replay of single-frame captures.
* On replay you can step into each vkQueueSubmit call to see the command buffers submitted, and step into them to browse through the commands.
* The pipeline state will be displayed at each command, showing the data contained in each member of the pipeline createinfo struct, as well as dynamic state.
* Simple disassembly/reflection of SPIR-V to determine which descriptors to read for read-only resources and uniform buffers. The uniform buffers will be listed separately and the member variables filled out.
* Simple display of most 2D textures with mips in the texture viewer.
* Drawcall highlight and wireframe overlays
* Threading should be pretty efficient - no heavy locks on common paths (outside of creation/deletion)

Known Issues
========

On capture:

* Multiple VkQueues are untested and may likely not work.
* Memory/image barriers are as yet unverified, potentially could lead to bad capture or replay.
* Captures must be replayed on an identical GPU setup to where they were captured.
* Some API functions are not currently implemented. They will work while capturing but will not replay correctly.
* Unsupported or untested features:
	* GPU-GPU synchronisation with events.
	* Sparse resources

On replay:

* Stepping inside vkCmdExecuteCommands
* Only 2D non-array non-integer textures can currently be displayed.
* Auto texture range-fit or histogram display is not implemented.
* Debug overlays other than drawcall highlight and wireframe aren't implemented.
* Saving textures is not supported.
* Queue-level API events are not properly listed. API calls between draw-type vkCmd... are listed.
* Meshes are not rendered as a preview.
* No drawcall timings.

Future work, post 1.0
========

In no particular order, features that are not planned until after 1.0.

* Multiple VkDevices and multiple VkInstances
* Shader debugging
* Pixel history
* Custom visualisation shaders
* Linux support with Qt UI
* Shader edit & replace
* Mesh output data capture and visualisation<commit_msg>Remove sparse resources from unsupported features<commit_after>RenderDoc for Vulkan
========

These are the release notes for an early preview version of RenderDoc with Vulkan support. The intention is to have a reliable graphics debugger for 1.0 release of Vulkan, full details of the feature set are still to be determined.

This build is still quite early in development and is provided primarily for early feedback and awareness, to give an idea to Khronos and Vulkan Advisors of what is in the pipeline. A further release will be made in the near future when the debugger has been stabilised and is more ready to be stressed.

With the known issues listed below in mind, anyone can try the tool and report back bugs encountered or general feedback. Likewise feedback is welcome about where future work should be prioritised.

If you have any questions you can contact myself (<EMAIL>) or LunarG via LunarXchange.

Current Support
========

* A single VkInstance/VkQueue/VkDevice triple is supported.
* Capture and replay of single-frame captures.
* On replay you can step into each vkQueueSubmit call to see the command buffers submitted, and step into them to browse through the commands.
* The pipeline state will be displayed at each command, showing the data contained in each member of the pipeline createinfo struct, as well as dynamic state.
* Simple disassembly/reflection of SPIR-V to determine which descriptors to read for read-only resources and uniform buffers. The uniform buffers will be listed separately and the member variables filled out.
* Simple display of most 2D textures with mips in the texture viewer.
* Drawcall highlight and wireframe overlays
* Threading should be pretty efficient - no heavy locks on common paths (outside of creation/deletion)

Known Issues
========

On capture:

* Multiple VkQueues are untested and may likely not work.
* Memory/image barriers are as yet unverified, potentially could lead to bad capture or replay.
* Captures must be replayed on an identical GPU setup to where they were captured.
* Some API functions are not currently implemented. They will work while capturing but will not replay correctly.
* Unsupported or untested features:
	* GPU-GPU synchronisation with events.

On replay:

* Stepping inside vkCmdExecuteCommands
* Only 2D non-array non-integer textures can currently be displayed.
* Auto texture range-fit or histogram display is not implemented.
* Debug overlays other than drawcall highlight and wireframe aren't implemented.
* Saving textures is not supported.
* Queue-level API events are not properly listed. API calls between draw-type vkCmd... are listed.
* Meshes are not rendered as a preview.
* No drawcall timings.

Future work, post 1.0
========

In no particular order, features that are not planned until after 1.0.

* Multiple VkDevices and multiple VkInstances
* Shader debugging
* Pixel history
* Custom visualisation shaders
* Linux support with Qt UI
* Shader edit & replace
* Mesh output data capture and visualisation
{'fraction_non_alphanumeric': 0.04462508294625083, 'fraction_numerical': 0.0026542800265428003, 'mean_word_length': 4.5618081180811805, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4843560', 'n_tokens_mistral': 1488, 'n_tokens_neox': 1413, 'n_words': 882}