Commit Graph

2980 Commits

Author SHA1 Message Date
baldurk f333d08bb4 Rename function to not use automatic-slot naming 2025-12-28 11:48:26 +00:00
Jake Turner 411cb89106 Default current stage to VSIn when viewing Vertex Shaders 2025-12-22 07:49:09 +13:00
Jake Turner 3c407eee51 GetParentMarker: Search children if first child is less than eventId
Handle case where action->eventId > eventId but the action contains the event being searched for
2025-12-20 07:26:26 +13:00
Jake Turner c14d404f2c Add warning text to CrashDialog if capture contains embedded files
"Warning: The capture file includes data from <N> embedded files."
2025-12-11 11:13:29 +13:00
Jake Turner 8c25651162 Add Tools Menu Option for externally referenced dependent files
"Embed external files into Capture"
"Remove external files from Capture"
2025-12-11 11:13:29 +13:00
Jake Turner cf4e8b15fc ICaptureContextx APIs for externally referenced dependency files
void EmbedDependentFilesIntoCapture();
void RemoveDependentFilesFromCapture();
2025-12-11 11:13:29 +13:00
Jake Turner a9d98f9526 Compute BBOX correctly when viewing Mesh Shader draw 2025-12-09 07:58:59 +13:00
Jake Turner f42e03b079 Set current stage to TaskOut instead of VSIn when viewing Mesh Shaders 2025-12-09 07:58:27 +13:00
baldurk a059764b74 Fix default identification of raster out stage 2025-12-08 18:24:19 +00:00
baldurk 188007eb46 Exclude modifier/toggle keys from key bindings 2025-12-08 18:24:19 +00:00
baldurk bae6f79dee Catch conflicting binds and warn to ensure no duplicates 2025-12-08 18:24:19 +00:00
baldurk f86aa4a2b7 On windows/linux convert known native scancodes to default keys
* This lets us have more helpful behaviour for default keys rather than being
  all-or-nothing, and display which keys are which.
2025-12-08 18:24:19 +00:00
baldurk dbb8b2d022 Fix flycam and arcball not having same reset parameters
* Both were centring around the AABB but arcball had a scale applied to the
  distance
2025-12-08 18:24:19 +00:00
baldurk 45eabffb54 Update mesh viewer to allow better customisation. Closes #1811 2025-12-08 18:24:19 +00:00
baldurk 5b1b57d703 Add a dialog for configuring unprojection parameters 2025-12-08 15:50:17 +00:00
baldurk b0b14c1b7b Add a dialog for customising camera controls in mesh viewer 2025-12-08 15:50:17 +00:00
baldurk 7e518e813c Add support for fully customised mesh viewer controls 2025-12-08 15:50:17 +00:00
Jake Turner c2015de391 Resource Usage UI changes
Add a column that shows the parent marker for the event range (by default the end event ID)
Add an option to prevent combining resource usage across markers (group by marker)
The tooltip for a resource usage entry contains the full marker path
2025-12-03 11:20:23 +13:00
baldurk 0a15153330 Add a compute debugging UI selector to the GL pipeline state view 2025-12-02 12:17:36 +00:00
baldurk ddf19304b7 Handle resources encountered in the SPIR-V debugging that don't exist
* It is common for drivers to dead-code eliminate resources and they will not
  show up in reflection at all and will not have a binding. For these we will
  still encounter them when debugging so need to ensure we handle that case.
* This unfortunately makes a previously illegal/error-checked case silently
  continue, so we add API-specific asserts.
2025-12-02 12:17:35 +00:00
Jake Turner ccbb516610 Simplify DXIL Disassembler/Debugger SSA ID name strings and aliases
Store SSA ID name strings in a container which is shared between the disassembler and the debugger.
The SSA ID name strings are guaranteed to be unique by appending the SSA ID value.

Do not use resource names for SSA ID names, only show resource names when a DXIL handle is created i.e. DXOp::CreateHandle, DXOp::CreateHandleFromBinding & DXOp::CreateHandleFromHeap

This means the debugger now has a unique name for each ShaderVariable generated.

Revert the ShaderViewer consistency changes which were only required because the DXIL debugger did not generate unique names for ShaderVariables.
2025-11-13 13:10:44 +13:00
Jake Turner c534b41eb6 Tune the ShaderVariable consistency checks for resources
Do not check before/after equals existing value for ReadOnlyResource and ReadWriteResource
In the DXIL debugger for resources the same SSA ID might have different names
2025-11-11 10:53:15 +13:00
baldurk 48088ac07e Add handling of D3D shaders which declare no output value 2025-10-27 11:50:36 +00:00
baldurk 2f6bb02347 Fix some sizing issues with CS labels in D3D11 pipeline state view 2025-10-21 23:31:22 +01:00
baldurk 466a11100c Add new checks for vkconfig, and detect after startup
* We check every couple of seconds for the vkconfig file (and then stop checking
  after warning) so that users are more likely to see the warning.
2025-10-21 23:31:22 +01:00
baldurk 4db8616ec4 Fix double click on FBO entry in GL pipeline state not opening texture 2025-10-21 23:31:22 +01:00
baldurk 824c8c1345 Don't match builtin inputs to vertex input attributes 2025-10-09 12:31:58 +01:00
baldurk 9e0d6f18d6 Display a message when we can't debug a pixel shader and show a history 2025-10-08 22:34:53 +01:00
Jake Turner 39c7dc1027 Fix python message handling reading out of bounds read 2025-09-24 15:47:14 +01:00
baldurk 26cf7d3d7f Ensure shader reflection information is stored as const
* Avoids accidental modifications
2025-09-22 11:58:56 +01:00
baldurk baecdd85ca Improve arrow key nudging behaviour on NPOT mips in texture viewer 2025-09-19 14:13:01 +01:00
baldurk fd86ca4ddc Allow editing zoom level text when fit-to-window is enabled
* We need to disable it before changing the zoom level.
2025-09-19 11:01:12 +01:00
baldurk 998b1c7ee0 Don't offer option to debug pixel on events that are not draws 2025-09-17 17:09:39 +01:00
baldurk 7734a36228 Fix shader clears to properly reset all labels 2025-09-17 11:26:08 +01:00
baldurk 86e6941265 Use device independent scaling for height calculation 2025-09-17 11:25:59 +01:00
baldurk 1df4a75a97 Remove shader controls frames to allow full flow layout wrapping 2025-09-17 09:58:50 +01:00
baldurk 157941e31f Split shader/program labels in pipeline state views up to wrap better
* If program or shader names are very long then combining them can cause
  problems with how wide the widgets get. Splitting each element into a label
  that can wrap around and be truncated individually produces better behaviour.
2025-09-16 16:30:53 +01:00
baldurk b9b8fe4b1b Claim proper contents margins for height of RDLabels with rich text 2025-09-16 16:29:57 +01:00
baldurk 511c33c52a Handle Expanding policies in flow layouts 2025-09-16 16:29:25 +01:00
baldurk f37b4ee631 Set correct array size 2025-09-10 20:58:19 +01:00
baldurk 5957a2710b Enforce that all docstrings of members have a :type: 2025-09-09 18:57:35 +01:00
baldurk fff4e0d5e4 Improve displayed sorting of descriptor buffer sets in pipeline state 2025-09-09 18:57:34 +01:00
baldurk b4615dbd18 Add a delayed callback helper for python 2025-09-09 18:57:34 +01:00
baldurk b3cec5a4cf Add a helper to clear the set of debug messages from python 2025-09-08 17:29:08 +01:00
baldurk bb2ac5ee27 Fix variable advance for packed 10:10:10:2 and 11:11:10. Closes #3685 2025-09-08 16:35:41 +01:00
baldurk 2702bb1469 Update old copyright years in about dialog and module metadata 2025-09-08 16:35:40 +01:00
baldurk d4c907faa1 Fix sorting of bindings in vulkan pipeline state with descriptor buffers 2025-09-03 10:01:48 +01:00
baldurk ffa70fabdc Auto-break on NonSemantic.DebugBreak instructions
* This is almost completely worthless as it seems at least NV and amdvlk both
  actually crash the GPU on this instruction, meaning there's no way to get it
  to the shader debugger. But on other drivers like radv, or maybe if this is
  fixed in future, this will be useful.
* For this reason it also can't be tested automatically.
2025-08-21 16:09:40 +01:00
baldurk 52c1cae925 Follow symlinks when iterating extension folders on linux 2025-08-20 10:24:44 +01:00
Hans-Kristian Arntzen 814d764df7 Fix exporting large raw buffers at an offset. 2025-08-20 00:05:29 +09:00