1825 Commits

Author SHA1 Message Date
baldurk f0389a6ccc Fix crash if opening D3D11 cbuffer view with no shader bound 2024-09-24 14:14:13 +01:00
baldurk 1ca4b70bf9 Display quad overdraw as disabled when MSAA is enabled on vulkan
* No API supports the quad overdraw with MSAA, but on other APIs it's feasible
  to downgrade and render the overlay at single sampled. On Vulkan with
  renderpasses this is not possible.
2024-09-09 14:45:30 +01:00
baldurk 109a6a427f Allow executables to launch to be found via PATH. Closes #3403 2024-08-08 13:25:46 +01:00
baldurk c75f1a1499 Clamp element size to avoid divide by 0 2024-07-15 16:44:23 +01:00
baldurk cb46ec9c51 Set correct stage for fake copy descriptors in texture viewer 2024-07-13 22:30:08 +01:00
Jake Turner 51612fdc94 Vulkan PipelineState search for vertex attributes by register location
Closes #3379
2024-07-10 13:34:30 +01:00
Jake Turner 1307393836 D3D11 PipelineStateViewer use UAV tag for CS UAV resources
Fixes problem that going to a compute shader UAV Buffer would not show the correct format for the buffer
2024-07-02 13:49:44 +01:00
baldurk 41adeb65b1 Add UI to manage the list of ignored PDBs for callstacks. Closes #3329 2024-06-27 13:54:41 +01:00
baldurk 6990a6b046 Show - for byte offset when displaying specialisation constants 2024-06-27 13:54:41 +01:00
Jasmine Hansen cb951ba689 UI support for shader objects
Info queries for pipeline state viewer and descriptor sets
Shader editing
2024-06-25 17:55:10 +01:00
baldurk 0943d8882f Harden descriptor access handling on both sides of the replay API
* Avoid generating bad descriptor accesses in the first place, and make the
  pipeline state more robust in that case so that it doesn't crash.
2024-06-25 17:25:16 +01:00
Cam Mannett 381ece60c6 Non-local child removal fix
The frontend compares the registered child PIDs against the locally running ones, any that aren't in the list are removed - this is how dead procs are removed.  Unfortunately this causes any children from a remote context to be immediately removed.

After discussion with upstream, the agreed solution was to prevent child removal entirely for remote contexts as long as clicking on dead children does nothing.
2024-06-20 11:40:26 +01:00
Louis de Carufel 71ac13e9bf Bookmarks are now listed in menu. 2024-06-13 10:27:41 +01:00
Jake Turner b7b5ec0c14 Remove device scaling factor from margins in the UI
Makes ShaderViewer, Capture Comments and Python Shell margins look correct for non-unit system scaling
2024-06-12 16:37:02 +01:00
baldurk 9741bacc7b Fix wrong number of shader stages in fixed array 2024-06-07 10:40:41 +01:00
baldurk 341f9a689b Fix shader viewer bookmarks to work with editing and viewing shaders
* Previously it was only applied for debugging shaders.
2024-05-31 15:26:07 +01:00
Louis de Carufel 0e64cc5368 Added shader viewer bookmarks and find shortcuts. 2024-05-24 10:35:06 +01:00
baldurk 47c5773d08 Fix crash in vulkan pipeline state viewer 2024-04-30 09:50:34 +01:00
baldurk 7e7bbf58a8 Reflect multiple entry points & ray properties from DXIL shaders 2024-04-26 13:55:19 +01:00
baldurk bdc06af0de Add reflection of acceleration structures in DXIL & new descriptor type 2024-04-19 10:04:26 +01:00
Jake Turner 4b9284ed8f PixelHistory UI: improve detection of depth targets
Use the same logic as TextureViewer to determine if the target is a depth target
Fixes issue of pixel history on typeless target cast to UNORM and used as depth i.e. shadow map
2024-04-15 16:54:53 +01:00
baldurk 431c11feb6 Fix warnings identified by clang 2024-04-10 22:17:14 +01:00
baldurk 1194531fc5 Add a descriptor viewer for showing all of a heap, root sig, or set 2024-04-10 18:58:53 +01:00
baldurk 153cd2aa16 Expose queries for descriptor stores and D3D12 root signature range
* This will allow a UI viewer or consumer of the replay API to more easily query
  'all' descriptors for a given store.
2024-04-10 18:58:53 +01:00
baldurk 12a17b12f4 Display push descriptor sets in vulkan pipeline state viewer 2024-04-10 18:58:52 +01:00
baldurk 0284d551ea Switch from specific Attachment structs to using Descriptor for outputs 2024-04-10 18:58:52 +01:00
baldurk 6194d5a5a0 Rename resType to textureType in ShaderResource to be more accurate 2024-04-10 18:58:52 +01:00
baldurk 205ed0e6fa Remove old shader bindpoint mapping handling entirely 2024-04-10 18:58:52 +01:00
baldurk acc533ec60 Update Vulkan pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk 5d13456a65 Update D3D12 pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk 317c670fd5 Update GL pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk e08107ebe8 Update D3D11 pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk f4e3087177 Update common pipeline state viewer code to not use bindpoint mapping 2024-04-10 18:58:51 +01:00
baldurk 292bb596dc Add GL input attribute dynamic binding information to pipe state 2024-04-10 18:58:51 +01:00
baldurk 2bbe1a8cd9 Update shader viewer and debugging with new reporting for shader binds
* This shifts from reporting from the old style bindset/bind to the new system
  of only referencing by shader interface and index (independent of binding
  model).
* The vulkan shader debugger re-uses the replay interface to cache descriptor
  access and descriptor contents in a fashion friendly to interface-index
  lookup.
2024-04-10 18:58:51 +01:00
baldurk f718e72ac9 Update texture viewer to use new pipeline helpers 2024-04-10 18:58:51 +01:00
baldurk d8fd03d60f Update shader message viewer to use new pipeline helpers 2024-04-10 18:58:51 +01:00
baldurk af6abd79c0 Update buffer viewer to use new descriptor/binding interface 2024-04-10 18:58:51 +01:00
Jake Turner 922ef9814f Stop crash in BufferViewer if buffer size is less than fixed length
i.e. a zero sized buffer
2024-04-10 10:29:06 +01:00
Jake Turner 3a8fecf08e Prevent Shader Editor tooltip showing multiple "(F5)" 2024-04-10 08:20:56 +01:00
William Pearson ec74c13465 Fix typo in AndroidAPKInstallFailed message
This message can be seen if the USB cable connecting the device is
removed while the `adb install` command is running. (I ran into this
by accident due to a low-quality cable.)

The previous message was this:

> Failed to install Android remote server for unknown reasons: Couldn't install APK(s). stderr: adb.exe: device '00000a740f4e6d93' not found
> .
>
> lease check that your device is connected and accessible to adb, and that installing APKs over USB is allowed.

This does also include a newline before a period, which looks a bit
strange but I don't see a quick fix for that while keeping stderr,
and the stderr output is fairly useful.
2024-04-09 09:45:14 +01:00
Jake Turner 1fe8601769 Pixel History UI background swatch fix for R, RG formats
Set unused components to black (0.0 after range scaling).
2024-04-02 10:01:53 +01:00
Jake Turner 8d9cf9fdce Pixel History UI always show alpha for Shader Out 2024-04-01 19:15:46 +01:00
baldurk fc238ab9da Add a copy entry to the debug messages right-click menu 2024-04-01 16:04:58 +01:00
Louis de Carufel 4c4b2a32ae New bookmark context menu to rename and delete.
Missing forward declaration.
Fixed Linux compilation.
Added a context menu to Bookmark buttons for renaming and deleting.
2024-03-27 12:23:21 +00:00
Jake Turner 3cb8998841 Vulkan DebugPixel support for multiview debugging
Output "ViewIndex" into the pixel shader hits array
Select the pixel shader input which matches the viewIndex to the passed in view
Ignore the view parameter if set to ~0U (rd.ReplayController.NoPreference)
Ignore the view parameter if any subpass has empty multiviews
2024-03-13 07:58:48 +00:00
Jake Turner 7934d1d16e Change DebugPixel() to take a DebugShaderInputs struct
DebugShaderInputs struct contains existing the parameters:

sample
primitive

and a new parameter

view

Default constructor for DebugShaderInputs sets the parameters to NoPreference (~0U).
2024-03-13 07:58:48 +00:00
baldurk b9fd432d11 Report and handle source-level entry point name from exported name
* The compiler could compile an entry point "foo" into an export "bar". We use
  the exported name in most places as that's guaranteed to be unique by the API
  and used for cross-referencing, but when recompiling we pass the original
  source name as in the debug info.
2024-03-05 11:38:19 +00:00
baldurk 3e2340fe16 Add identified support for slang (the language and the tool) 2024-03-01 12:11:37 +00:00
Jake Turner 5b55188260 Pixel History UI draw background colour for UINT and SINT targets 2024-02-29 06:47:14 +00:00