1551 Commits

Author SHA1 Message Date
baldurk eb18acf224 Fix a crash opening performance counter viewer with capture open 2021-11-24 14:11:42 +00:00
baldurk 966ab0a738 Add command line option to qrenderdoc to run a script with the UI open 2021-11-17 15:52:52 +00:00
baldurk 888676ecc7 Fix crash reading D3D12 pipeline state from vulkan for compute selector 2021-11-17 13:07:12 +00:00
baldurk 9e5b81471c Clear shader message count cache when resetting event browser 2021-11-15 15:49:28 +00:00
Orson Baines 3e8eed172e Add Mesh Viewer axis mapping to vulkan, d3d11, and d3d12 drivers 2021-11-10 10:43:52 +00:00
John Kattukudiyil a2978dc33d readded custom axis mapping button and updated documentation 2021-11-08 11:39:28 +00:00
John Kattukudiyil 5ed073f395 address PR feedback
- create AxisMapping struct and fix camera location issue
- add more detail to axis mapping error message
- fix other minor issues
2021-11-08 11:39:28 +00:00
Orson Baines 35f4fad20e Issue 2322: Configure mesh coordinate system
- Add a new combo box and button to camera settings for mesh viewer
- Add a new dialog window for custom axis mappings
- Implement the axis mappings in gl driver (other drivers to come)
2021-11-08 11:39:28 +00:00
baldurk bb3343786b Add support for VK_KHR_dynamic_rendering 2021-11-05 14:15:01 +00:00
Mikkel Gjoel 41d39b58ce Pass range-min/max to ApplyCustomShader
Adding rangeminmax to globals, snippet support and updated docs to match

Fixes bug in replay_output.cpp, causing a crash due to missing texhandle
2021-11-03 20:26:18 +00:00
baldurk d4a5592780 Add functionality to reset an edited shader to original. Closes #2334
* We also add the ability to toggle on/off the replacement being active without
  needing to intentionally add a compile error (and this also makes it more
  explicitly clear when the shader replacement is enabled or not. This could be
  useful for quick A/B testing between the edited version and the original.
2021-11-02 14:09:50 +00:00
baldurk de38cf7b9c Require explicit debug information to support source debugging
* SPIR-V files currently can have source files, but not source debugging
  information, which is a distinction that didn't exist otherwise.
2021-11-02 12:27:42 +00:00
baldurk d00556dbb5 Support VK_EXT_dynamic_state2 & VK_EXT_vertex_input_dynamic_state 2021-10-22 16:22:42 +01:00
Steve Karolewics ec785ba167 Add ability to debug compute shaders by dispatch thread ID
In some cases it is easier to know the dispatch thread ID you want to
debug rather than the group/thread IDs. This change adds a new window
when the debug button is clicked, to allow you to specify which thread
to debug in the most convenient way.
2021-10-19 18:14:53 +01:00
baldurk c753655ef1 Optimise lookup of API event from action 2021-10-19 17:53:48 +01:00
baldurk 469221ab15 Add sorting options to resource inspector, including 'recently used' 2021-10-18 17:11:36 +01:00
baldurk 6dd63c6aec Convert counter viewer to item model, sync filter with event browser 2021-10-18 14:14:36 +01:00
baldurk 501b67bccf Further clang warning fixes 2021-10-06 19:17:15 +01:00
baldurk 484f25bb75 Linux compile fixes 2021-10-06 17:14:29 +01:00
baldurk b71b84374f Implement option to export current vulkan pipeline to fossilize db 2021-10-06 16:31:44 +01:00
baldurk c76c761bab Fix some crashes exporting HTML pipeline state on vulkan 2021-10-06 16:31:43 +01:00
baldurk fb912b4853 Add a recursive search function in SDObject 2021-10-06 16:31:43 +01:00
baldurk 73f78bd8a4 Ensure formatting tags aren't exported/put on the clipboard. Refs #2382
* When we're formatting text we want just the plain text version to be used.
2021-10-06 16:31:43 +01:00
baldurk c070dfd847 Clarify root signature index in D3D12 pipeline view
* Internally we split ranges, but for display we should use the original root
  signature index.
2021-10-04 18:39:33 +01:00
baldurk c24dd2e7aa Use shader stage to properly disambiguate entry points on vulkan
* It's possible to have two entry points in a SPIR-V module both named "main" as
  long as they have different stages.
2021-10-04 17:03:27 +01:00
baldurk 83da4cb471 Sanitise : in pipeline state vertex input names 2021-10-04 13:05:57 +01:00
baldurk bfbc9a3e48 Fix order of scrollbar update when texture scale changes. Closes #2377
* We need to update the scrollbar bounds first based on the current zoom level,
  then change the scroll position. Otherwise the scroll will be visually correct
  but the scrollbars won't match.
2021-10-04 12:10:56 +01:00
baldurk d386df55b9 Clarify requirement of a capture for device lost errors 2021-09-27 13:01:09 +01:00
baldurk 7700c2a80d Don't trust presence/absence of raw buffer flag on D3D12 descriptors 2021-09-24 13:23:32 +01:00
baldurk c3a93bf61b Fix potential crash reading empty descriptor array on D3D12 2021-09-17 12:50:05 +01:00
baldurk 8e1c6bb876 Fix error message accessing invalid tokens in filter 2021-09-16 12:40:11 +01:00
baldurk 2752008d13 Ensure consistency when saving the current capture. Closes #2358
* If we save the current capture from a connection window we want to do that via
  the main window so the UI can be properly updated and so we can save it
  properly through the replay manager, so the old one can be removed safely.
2021-09-14 13:25:02 +01:00
baldurk 90f3417039 Don't generate potentially unsupported vertex formats to ignore W
* When using VS In we want to ignore the W component, but that already happens
  explicitly for vulkan/GL in the shader. Mirror that same solution to D3D
  instead of trying to force a 3-component format which may not be supported
  (e.g. on AMD R16G16B16_*)
2021-09-13 19:11:28 +01:00
baldurk 2cd0bf593f Update copyright year in about dialog 2021-09-09 12:24:03 +01:00
baldurk 93238bf160 Add checks in event browser for when no capture is loaded 2021-08-30 15:55:46 +01:00
baldurk 4e58264035 Don't include inf/nan times in summation
* These can be generated by buggy drivers particularly on GL, so try to mitigate
  the effect of that.
2021-08-30 13:15:59 +01:00
baldurk 1ef790ab80 Update capture connections when an open capture is saved. Closes #2352 2021-08-27 11:33:40 +01:00
baldurk a21d245114 Remove show unused/show empty options from texture viewer 2021-08-26 09:51:37 +01:00
baldurk c820ea7735 When no draw action is selected in the mesh viewer, be explicit about it 2021-08-24 19:01:05 +01:00
baldurk 137893f508 When giving nodes an effective EID, ignore trailing PopMarker EID
* This applies when selecting a marker region, the effective EID is the one
  actually replayed to an represented in the UI. As-if it were directly
  selected.
2021-08-24 19:00:44 +01:00
baldurk fe50a5674a Fix a crash getting the event name of EID 0 2021-08-24 19:00:05 +01:00
baldurk dd8265bf9e Add extra protection against invalid buffers in buffer viewer 2021-08-24 17:09:28 +01:00
baldurk f32e8525f2 Only allow reports from builds with valid commit hashes 2021-08-24 16:29:03 +01:00
baldurk f8cf943c42 Fix problem where a new profile wouldn't have default event filter
* In v1.15 if you upgraded from a previous version and had a renderdoc config
  file then the persistent storage storing the filters would get loaded with an
  empty variant map, so the defaults could be set. However if you had no config
  file at all this wouldn't happen so no defaults would be set.
* We detect the case where we load an old profile and it has blank current
  filter or saved filters, and fill in the defaults now. If the filter has been
  customised or some saved filters exist, respectively, we don't touch them.
2021-08-24 10:57:36 +01:00
baldurk 9486cac1ca Fix mac compile error 2021-08-19 00:19:05 +01:00
baldurk 620e75c2a1 Add a system for backends to handle device lost/OOM errors and report it
* The UI will become non-functional and the backend will be replaced with a do-
  nothing one that keeps things alive without needing error bulletproofing
  everywhere in the real backend.
2021-08-18 20:12:07 +01:00
baldurk c319ac0234 Store API pipeline states in the replay controller
* Instead of storing the API pipeline states in the replay driver and returning
  pointers, we store them in the replay controller and write into it from the
  replay driver.
* This will allow us to remove the replay driver and still keep any previously
  obtained references/pointers to the pipeline state valid.
2021-08-18 20:12:06 +01:00
baldurk 0804ef63be Emulate bad vertex attribute casts on GL in mesh viewer
* On GL you can specify a vertex attribute that's stored as int but gets
  converted to float with glVertexAttribFormat instead of glVertexAttribIFormat.
  However if the shader accepts an int this is invalid and the value is
  undefined - we emulate this as the float bits being read as int directly, but
  that's not guaranteed behaviour.
* Normally we don't emulate this kind of mis-cast behaviour and just display the
  type of data passed to the shader, but in this case GL lets you specify three
  types (stored as int, cast to float, read as int) so our normal behaviour of
  just showing the input can be more misleading than normal.
2021-08-16 10:54:47 +01:00
baldurk c2e5d2a7fb Allow find text to be preserved when closed and reopened 2021-08-11 18:11:23 +01:00
baldurk b8fd1fce02 When finding in the event browser, respect the current filter
* This means we'll jump to the nearest _visible_ result, rather than just the
  next result whether or not it's visible. This also applies to EID searches,
  when doing a go-to on a particular EID we'll end up jumping to the next
  visible EID.
2021-08-10 13:53:25 +01:00