Commit Graph

854 Commits

Author SHA1 Message Date
baldurk e2c6dc0317 Remove unused function 2018-08-10 18:12:29 +01:00
baldurk b539eca0f6 Don't delete QProcess early if qrenderdoc takes too long to run 2018-08-10 18:12:28 +01:00
baldurk 197a279e31 Add missing override specifier 2018-08-09 17:53:50 +01:00
baldurk 3c7b420e59 Expand SPIR-V disassemblers to general shader processing tools
* Instead of just configuring SPIR-V disassemblers and picking only the first
  one when we need to edit SPIR-V, we allow setting up any shader processor that
  goes between two shader encodings.
* When editing, the default will still be to use embedded source, and then after
  that the first tool that goes from the native shader format to a text format,
  but the drop-down allows you to pick any of them.
* Similarly in the shader viewer you can configure the compilation options and
  method, to choose the compiler you want to use. Embedded command line
  parameters in the shader are automatically appended.
2018-08-09 16:56:53 +01:00
baldurk a81e4a2b45 Pass through and allow different source shader encodings when editing
* This means e.g. the D3D11 back-end can accept DXBC directly if the UI can
  provide it, or compile from HLSL as before.
* More importantly, the Vulkan back-end can take SPIR-V compiled from any
  source, or compile from GLSL as before as a fall-back.
2018-08-09 16:56:52 +01:00
baldurk 24a5375133 Disable shader buttons when no shader is bound 2018-08-09 16:56:52 +01:00
baldurk a4dfad6e82 Add a backend query to check shader encodings BuildTargetShader allows
* This will allow the backend to specify both the native format (e.g. SPIR-V,
  DXBC) as well as a language it might be able to internally compile (GLSL or
  HLSL).
* The caller will then able to decide for itself whether it wants to compile to
  native format and pass that down, or pass the language down and let it be
  built internally.
* Currently BuildTargetShader still only accepts shader source.
2018-08-09 16:56:51 +01:00
baldurk de59556c3b Don't allow HTML pipeline export with no capture loaded 2018-08-09 16:56:49 +01:00
baldurk 2fc67467e2 Don't add empty API name to analytics - indicates failure to load 2018-08-09 16:56:47 +01:00
baldurk d7e4060698 Make sure we don't open a shader viewer with an unbound shader 2018-08-07 12:42:52 +01:00
baldurk 4e6c3ead41 Nudge users reporting bugs on old builds to update to the latest version 2018-08-07 12:42:51 +01:00
baldurk feee30c15e Set UI value of CaptureAllCmdLists from settings 2018-08-07 12:42:50 +01:00
baldurk 9e3147d021 Save treeview expansion state while browsing. Closes #678, Closes #1034
* This is supported currently in the API inspector, constant buffer previewer, and resource inspector.
* The saved expansions are only saved while the capture is open, and will be reset each time.
2018-08-06 16:23:03 +01:00
baldurk 74528c4d15 Allow saving state internally by key as well as externally 2018-08-06 16:23:03 +01:00
baldurk edc5815463 Move expansion saving to RDTreeView so it can be used in more places. 2018-08-06 16:23:02 +01:00
baldurk 7d55ecbc48 Add 'capture frame immediately' button
* This should be more obvious especially on e.g. android where there's no
  overlay and key shortcut.
2018-08-06 16:23:02 +01:00
baldurk 889904e155 Make message about closing android studio even more explicit 2018-08-06 16:23:02 +01:00
baldurk 03c2507a25 Linux compile fix 2018-08-03 17:35:57 +01:00
baldurk cbcfe85d97 Use natural human sort for resources in resource inspector. Refs #1034 2018-08-03 16:52:13 +01:00
baldurk d79ead308f Make a little more room in VTX/IDX columns in buffer viewer 2018-08-03 14:47:15 +01:00
baldurk 27de5beb76 Remove dos newline characters from comments edited in UI 2018-08-03 11:16:23 +01:00
baldurk 196daacfb4 Don't clear selection when clicking on an item. Closes #1061 2018-08-01 17:29:35 +01:00
baldurk df1a494fa7 Add friendlier error if trying to use Android < 6.0 device. Closes #1060 2018-07-31 14:37:38 +01:00
baldurk 6e9d8cb1a8 Initialise adb on another thread
* Otherwise the first adb access will stall heavily starting the daemon.
2018-07-26 17:24:29 +01:00
baldurk b470141322 Denote updates to prevent wasteful repeated work adding usage entries 2018-07-13 20:06:57 +01:00
baldurk 201dd1c9b4 Don't sort while inserting data into performance counter viewer table 2018-07-13 20:06:57 +01:00
baldurk 10b82e6255 Fix possible race condition with capture loading
* The event browser called SetEventID from OnCaptureLoaded, which would then
  call OnEventChanged on all viewers, which if they kicked off work could happen
  at the same time as the later call to OpCaptureLoaded for them.
* In the mesh viewer this seemed to lead to a race condition and had a chance to
  corrupt memory.
2018-07-13 15:43:55 +01:00
baldurk 650a80db47 When searching start at selected not current event. Closes #1030
* When selecting a marker region, the more intuitive search is to find children
  of the marker first before searching onwards, even if the 'current event' is
  at the end of the marker region.
2018-07-09 16:28:03 +01:00
baldurk 8c93750b00 Fix crash if texture tabs were open when restoring state. 2018-07-09 16:28:00 +01:00
Dzmitry Malyshau 9c9e61a95e Remove unused this in lambdas of ShaderViewer 2018-07-03 22:08:28 +01:00
baldurk f0c8efe24d Change colors on timeline bar pips to be color blind friendly. 2018-06-23 10:10:49 +01:00
baldurk 89637d8b35 32-bit compile fix 2018-06-22 21:36:06 +01:00
baldurk 286446b008 Fix threading memory corruption with remote host probe 2018-06-22 19:28:35 +01:00
baldurk ec2806df06 Add context menu for manipulating watch panel 2018-06-22 19:28:34 +01:00
baldurk fc3e527181 If D3DCOMPILE_SKIP_OPTIMIZATION is set, prefer source-level debugging 2018-06-22 19:28:34 +01:00
baldurk 04f214c768 Add toolbar button to switch between HLSL and assembly debugging
* This hopefully makes the HLSL debug mode more obvious to people.
2018-06-22 19:28:34 +01:00
baldurk c5689827a9 Allow clicking anywhere in rX.xyzw to highlight register 2018-06-22 19:28:34 +01:00
baldurk c0317855f8 Show tooltips for known local variables and constants 2018-06-22 19:28:34 +01:00
baldurk 2a6a0f0f95 Support local variables in watch expressions 2018-06-22 19:28:34 +01:00
baldurk 1761f5ab36 Highlight variables/registers that have changed 2018-06-22 19:28:33 +01:00
baldurk 5b3a12cd0c Save and restore tree expansion state when repopulating locals widget 2018-06-22 19:28:33 +01:00
baldurk cb0df2c844 Combine together structs/arrays in HLSL locals panel 2018-06-22 19:28:33 +01:00
baldurk 880f529fda Change mapping representation to be gather-based per variable
* Instead of having an N:N mapping of parts of variables to parts of registers,
  instead we gather everything together under each variable and it has a list of
  registers that comprise it.
* Any gaps are represented as undefined register mappings, for components that
  aren't available in any register.
2018-06-22 19:28:33 +01:00
baldurk 8b5ab06da7 Rename variables panel to registers 2018-06-22 19:28:32 +01:00
baldurk 06b7e39c26 Don't crash if stepping back from last instruction 2018-06-22 19:28:32 +01:00
baldurk 377715a61f Don't create tabs for completely empty files in shader viewer 2018-06-22 19:28:32 +01:00
baldurk 2b7d9aea38 Create a line-to-instruction map to allow breakpoints/cursor-run in HLSL 2018-06-22 19:28:30 +01:00
baldurk 52e9a6c01d Pass through line-mapping information for each instruction to UI
* This lets the UI highlight the source line as stepping happens, as well as
  allowing stepping purely in HLSL.
2018-06-22 19:28:30 +01:00
baldurk ff9f5675e9 Display high-level language locals corresponding to registers 2018-06-22 19:28:30 +01:00
baldurk e2dcd902cd Gather and display callstack information during shader debugging 2018-06-22 19:28:30 +01:00