336 Commits

Author SHA1 Message Date
baldurk ab4f22f107 Ensure buffers are deleted if async processing is aborted 2026-02-20 13:38:49 +00:00
baldurk 856c838def Update copyright years to 2026 and fix copyright ranges
* In a previous update in 2021 many copyright ranges were truncated
  accidentally, and some files have been copy-pasted with wrong years. These
  dates have been fixed based on git history and original copyright messages.
2026-01-05 14:17:28 +00:00
Jake Turner 411cb89106 Default current stage to VSIn when viewing Vertex Shaders 2025-12-22 07:49:09 +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 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 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
Hans-Kristian Arntzen 814d764df7 Fix exporting large raw buffers at an offset. 2025-08-20 00:05:29 +09:00
baldurk 9bad0c5ec0 Remove some memset calls on non-POD types 2025-06-06 12:16:54 +01: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
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 62a89fcf22 Quote newline entries for matrix CSV exports. Closes #3520 2025-01-16 12:04:15 +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
Honeybunch 3ea9735866 Mesh Shader Debugging 2024-11-20 10:50:14 +00:00
baldurk ef1c633df3 Offset per-primitive data correctly when meshlet filtering 2024-10-31 12:47:18 +00:00
baldurk 6990a6b046 Show - for byte offset when displaying specialisation constants 2024-06-27 13:54:41 +01:00
baldurk 205ed0e6fa Remove old shader bindpoint mapping handling entirely 2024-04-10 18:58:52 +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 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
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
Dan Hawson 442b48bb77 Mesh exploder
New 'Exploded' visualisation mode in BufferViewer with new exploder controls
hidden when not in 'Exploded' mode.

Change 'solidShading' and 'solidShadeMode' to 'visualisation' and
'visualisationMode'.

Hide the 'highlightVerts' widget when using 'Exploded' vis for both
real-estate and practical implementation reasons.
2023-12-09 11:40:30 +00:00
baldurk 4bccf2dac3 For indirect mesh shaders fetch up-to-date dispatch arguments
* This doesn't work for whole-pass mesh fetch, but and will cause
  inconsistencies between single draws due to non-determinism, but should avoid
  crashes.
2023-12-07 12:18:43 +00:00
Jake Turner 216fb0dc01 Offset and Size consistency display in BufferViewer UI
Use Formatter::HumanFormat() to get consistent formatting and to apply the UI formatting configuration mode for Offsets and Sizes i.e. Auto, Decimal, Hexadecimal.
2023-12-06 17:19:05 +00:00
baldurk 92e0fab686 Clarify that buffer viewer displays a single subresource. Closes #3149
* Since the physical layout of subresources is not generally defined, the buffer
  viewer only displays one subresource at a time.
2023-12-05 12:37:09 +00:00
baldurk 118aa4b61d Hide widgets not used for raw buffer viewer 2023-12-05 12:35:30 +00:00
baldurk d52f97c225 Make sure buffer viewer panels can't be closed 2023-12-01 13:00:08 +00:00
baldurk 1df386847f Compile fix 2023-11-28 16:49:58 +00:00
baldurk be372cde46 Improve mesh viewer UI for task/mesh shaders range filtering 2023-11-28 16:19:05 +00:00
baldurk 400e712deb Fix crash opening task shader context menu with no task shader 2023-11-28 16:18:47 +00:00
baldurk 41d2e69d00 Remove unused lambda captures 2023-11-17 02:00:20 +00:00
baldurk 07b1c3f857 Add options to filter and correlate between task and mesh invocations 2023-11-17 00:47:55 +00:00
baldurk 1df7c1ae81 Implement mesh viewer support for task/mesh shaders 2023-11-17 00:47:55 +00:00
baldurk 69dcb42a05 Add enums and API-agnostic handling for new task and mesh shader stages
* The enums are given after compute, to preserve indices for the normal vertex
  pipeline.
* Mesh dispatches are considered a new action type, rather than being bundled
  into the `Drawcall` type. This will allow them to be distinguished by API
  backends as needed. The UI treats them as drawcalls
* We apply this universally even though it's not relevant to D3D11/GL. It means
  a couple of empty array entries but it should not cause any significant
  issues.
* Shader messages will be identified by group and thread as with compute
  shaders. For mesh shaders there is an additional subdivision to identify them
  by task group, since each task group can submit a grid of mesh groups.
2023-11-16 18:20:23 +00:00
Er2 86cb3ebf80 Add FreeBSD operating system support. 2023-11-06 14:42:45 +00:00
baldurk 9d39b8e1a8 Reformat code for clang-format 15 2023-09-05 11:02:08 +01:00
baldurk d36d23ab21 Fix access to reserved columns for tooltips 2023-03-08 16:55:22 +00:00
baldurk 760bfdcb40 Disable find-as-you-type keyboard searches in buffer viewer
* This will cause the model to evaluate every data item to search it, which is
  the exact thing we're trying to avoid with lazy item views.
2023-03-08 14:06:02 +00:00
baldurk d47e79ae07 Update copyright years to 2023 2023-02-01 12:23:32 +00:00
baldurk 338541cf3f Handle streams properly in vulkan GS output fetch. Closes #2745
* We only display the rasterized stream in the mesh output view.
2022-10-12 16:08:59 +01:00
baldurk bc5aef5447 Add a separate PanelMenu item for extensions in non-mesh buffer viewers 2022-09-19 11:24:38 +01:00
baldurk b375efdb3c Use selected range of buffer not total object length when exporting
* Same fix as #2703 but with a fix not to be limited by the pagination size
2022-09-15 13:36:16 +01:00
baldurk 6643687ac6 Revert "Export correct CSV range and fixup element counts."
This reverts commit 033bcb2a11.
2022-09-15 13:26:47 +01:00