Commit Graph

2903 Commits

Author SHA1 Message Date
Jake Turner 47c64f607d ShaderVariable UI consistency check for duplicated variable change
Detect if a ShaderVariable has multiple changes per step
2025-05-14 16:28:37 +01:00
Jake Turner 370334ca6e Do not do ShaderViewer UI consistency checks in RELEASE builds 2025-05-09 13:27:10 +01:00
Jake Turner 6b39f8de88 ShaderViewer UI error checks for consistency in ShaderVariableChanges
Step Forwards: first appearance of a variable must have "before" = {}
Step Forwards: not-first appearance of a variable "before" must equal currently known value

Step Backwards: first appearance of a variable must have "after" = {}
Step Backwards: not-first appearance of a variable "after" must equal currently known value
2025-05-08 16:06:35 +01:00
baldurk 2288237723 Early detect and error when launching reserved filenames for capture
* This is a safety measure to ensure we never add hooks to system processes, so
  we should detect this case earlier and error for the user.
2025-05-05 10:49:42 +01:00
baldurk 9673a5571c Don't silently drop working directory, print error if it doesn't exist 2025-05-05 10:49:01 +01:00
baldurk 0f019eafb9 Add option to make shader search paths non-recursive
* For very large shader symbol stores especially those on network drives, the
  bad behaviour that PIX has to recursively search all possible subdirectories
  and enumerate all files can be really slow. Most of the time a file is
  identified by its hash filename and looked up directly - if that isn't a hit,
  in many cases users would rather a fast exit to having no symbols.
2025-04-16 17:39:51 +01:00
baldurk e4af8bcf39 Only close texture goto when focus is lost
* Previously this closed as soon as the mouse left the bounds.
2025-03-28 17:09:51 +00:00
baldurk 2d006eaa7b Ensure newlines are stripped from command line input
* These can be inserted via copy-paste even though Qt says that QLineEdit only
  does single line editing :(
2025-03-24 13:05:59 +00:00
Tristan Ritchie 2eade4650b Add support for VK_KHR_maintenance5 2025-03-19 15:43:08 +00:00
baldurk 2322e165de Update copyright years to 2025 2025-03-14 18:54:37 +00:00
baldurk 86e8909b1e Display colour swatch when showing cbuffer values as RGB. Closes #3533 2025-03-06 16:07:49 +00:00
baldurk 959d330488 Treat RGB display of float values as in linear space always. Refs #3533 2025-03-06 16:07:49 +00:00
Jake Turner f9adb41bc3 Changed tool tip display for Shader array types to be { ... }
Matches the display for struct types
2025-03-06 10:54:00 +00:00
baldurk 5e03c30684 Properly initialise and teardown replay during qrenderdoc unit tests 2025-03-05 09:50:48 +00:00
baldurk 5b2ec79df3 Fix missing handling of dynamic offsets. Closes #3547 2025-03-04 13:14:55 +00:00
baldurk fc8c806dd6 Silence function cast warning on clang-19. Closes #3551 2025-03-04 11:11:02 +00:00
baldurk 81268dc79a Try to preserve selected pipeline stage as much as possible
* When switching between mesh/normal pipeline keep the same stage selected if
  it's a common stage even if the index has changed.
2025-02-25 11:42:56 +00:00
baldurk 46f83c15a4 Ensure replay loop is cancelled before window is hidden
* See also f56a989e4f - we don't want to make the replay loop always on
  top though
2025-02-21 14:38:54 +00:00
baldurk 31d29fcea1 Add python function to clear replay cache 2025-02-21 14:19:12 +00:00
baldurk a9cc63904e Catch and print errors properly if unregister() fails 2025-02-21 13:46:59 +00:00
baldurk 783e7d47a5 Make python extension loading more robust to missing register/unregister 2025-02-21 13:46:59 +00:00
baldurk 875cd36f9d Detect up to python 3.15
* Future proofing I guess
2025-02-21 13:46:59 +00:00
baldurk 1a6f62cecf Workaround new windows SDK not compiling on VS2015 2025-02-19 13:35:51 +00:00
baldurk 26e575f4e0 Improve display of root buffers in D3D12 pipeline state view
* When they're 'structured' but with no structure, still prefer the basic type
  declared in the shader reflection over the descriptor (which can't do better).
2025-02-19 13:35:51 +00:00
baldurk 08d2ad0294 Update vulkan headers to 1.4.307
* Trivial promotion of these extensions:
  - VK_KHR_depth_clamp_zero_one
  - VK_KHR_compute_shader_derivatives
2025-02-13 18:32:21 +00:00
baldurk 2c5fee7c07 Set mesh viewer tables to always have a scrollbars
* This can prevent a very rare resize loop
2025-02-07 11:28:25 +00:00
baldurk b691f2421e Update vkconfig check 2025-02-06 17:55:07 +00:00
baldurk fb5a6a6133 Fix regression that all D3D11 output targets were considered used
* This would lead to them showing up as 'red' if they are unbound.
2025-02-05 16:36:55 +00:00
Stefano Bonicatti a0e52feba1 Fix stack-use-after-scope reading QT_QPA_PLATFORM env var
Setting QT_QPA_PLATFORM with putenv from a local variable
causes the environment to later still refer to it when it's out of scope.
Use setenv instead, as it copies the values provided.
2025-02-05 15:40:15 +00:00
Faith Ekstrand 876212c4da Add special cases for Fossilize encoding of mutable descriptors
When mutable descriptor sets are used, Fossizlie needs the
VkMutableDescriptorSetCreateInfoEXT. However, instead of taking it raw
like some other inputs, it uses a simplified version that is just a list
of lists. If we give it full structs, Fossilize will crash. In order to
do this, we need a couple special cases.
2025-01-28 23:31:30 +00:00
baldurk 62a89fcf22 Quote newline entries for matrix CSV exports. Closes #3520 2025-01-16 12:04:15 +00:00
baldurk 74a6e28f5a Improve ability to redeclare buffer formats from struct definitions 2025-01-07 16:11:32 +00:00
baldurk 7edcbfbdbc Fix bitfields not being resolved before structure uses 2025-01-07 15:10:44 +00:00
baldurk 79be74a8ec Only modify bitfield properties if bitfields are active 2025-01-07 14:43:19 +00:00
baldurk 73b52dafb8 Resolve pending bitfield packing before applying specified field offsets 2025-01-07 13:19:28 +00:00
baldurk 55d939cdd8 Respect bitfield packing when generating format string for struct 2025-01-07 13:19:28 +00:00
baldurk 6261cb42d3 Fix missing indent for declared buffer structures 2025-01-07 13:19:28 +00:00
Jake Turner f3bb7523b5 Reset the controlType current index to 0 in the BufferViewer constructor
This keeps the UI display in sync with the code internal settings for camera choice i.e. FlyCam/ArcBall. During the constructor, the UI setup for the different axis mappings will call on_resetCamera_clicked() and that can change the controlType current index value to be different from the expected/desired default value of 0.

Closes#3509
2025-01-02 09:44:54 +00:00
Jake Turner 5cda9752e0 Display the D3D12 IA indexStripCutValue in UI control "Restart Idx"
Previously "Restart Idx" was hardcoded to 0xFFFFFFFF
Show "Disabled" if the indexStripCutValue is D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED (0)

Similar UI behaviour to the GL pipeline state viewer

Closes#3508
2025-01-02 09:44:10 +00:00
baldurk 4b527239ae Fix making QTreeView function public in RDTreeView 2024-12-19 15:46:42 +00:00
baldurk c9a621a812 List registers last in shader viewer tables 2024-12-19 15:13:52 +00:00
baldurk 5c73842332 Fix source variables not properly propagating updateID 2024-12-19 14:08:02 +00:00
baldurk 663ae9bc94 Update tip about attaching to running instances 2024-12-17 17:36:27 +00:00
baldurk 69324f8e07 Group apply button with format text box in buffer formatter
* The apply button used to be below the text box but now can be hard to see with
  the saved formats also in the way.
2024-12-13 16:48:16 +00:00
baldurk 7d6ecd1b3d On main UI interface classes add a back-link at where they are retrieved
* E.g. this documents on the ExtensionManager that it's retrieved from
  CaptureContext.Extensions()
2024-12-13 16:48:16 +00:00
baldurk 0880f7b0be Remove unused help window button from extension manager 2024-12-13 16:48:16 +00:00
baldurk e189c0efd0 Manually link to callback types in docstrings
* The auto-type in parameters does not get linked, but we can manually link it
  in the docstring text.
2024-12-13 16:48:16 +00:00
baldurk 0e406b0e4d Fix some issues with descriptor display with inline UBOs 2024-12-09 16:19:20 +00:00
Jake Turner 11870b184a ShaderViewer support for ShaderDirectAccess shader resources
i.e. D3D12 SM6.6 HLSL Dynamic resources which index directly into the resource/sampler heap and not via shader bindings.
2024-12-04 13:40:17 +00:00
baldurk d37b0ee00b Fix issue with iterating actions via previous/next in python
* We keep parent references when returning child objects via reference/python
  object wrappers rather than copying. But when iterating a linked list like the
  actions this can produce an incredibly long parent chain and then on
  destruction we can stack overflow if the chain is long enough.
2024-12-03 15:01:58 +00:00