Commit Graph

1816 Commits

Author SHA1 Message Date
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
Jake Turner 893142d7f0 In Pixel History always shaderOut for depth targets
Including when there is no pixel shader bound
2024-02-13 17:27:05 +00:00
Jake Turner e254e66ae4 In Pixel History View do not force shaderOut to show four components
Matches the formatting used for "Tex Before" and "Tex After"
2024-02-13 17:27:05 +00:00
baldurk 874920bc38 Fix potential crash on capture close accessing bad data
* Also added some conservative error checking on looking up chunk names.
2024-02-13 12:37:05 +00:00
baldurk 9f4f0e6aa1 Update copyright years to 2024 2024-02-12 11:04:52 +00:00
Jake Turner f938afee2c PipelineStateViewer support right-click copy of stencil values
Having NoSelection caused nothing to be copied to the clipboard

Examples of copied data

D3D12 `Front Greater Keep Keep Replace FF FF 55`
D3D11 `Front Greater Keep Keep Replace`
GL `Front Greater Keep Keep Replace FF FF 55`
Vk `Front Always Keep Keep Replace FF FF 01`

Closes #3240
2024-02-06 05:45:52 -08:00
Jake Turner 03ab274252 Fix off by one error in the slice range tooltip 2024-02-01 15:43:36 +00:00
Jake Turner 0a330ef593 Add slice information to the Pixel History Window Title 2024-02-01 15:43:24 +00:00
Jake Turner 0bfca6eeb3 Fix warning about duplicate 'label_4'
../../qrenderdoc/Windows/Dialogs/SettingsDialog.ui: Warning: The name 'label_4' (QLabel) is already in use, defaulting to 'label_41'.
2024-01-11 10:47:27 +00:00
baldurk 928de11118 Make pipeline flowchart more 'sticky' between mesh and normal draws
* It won't be as quick to revert to the normal pipeline, but stay showing the
  mesh pipeline.
2024-01-10 14:03:31 +00:00