Commit Graph

884 Commits

Author SHA1 Message Date
baldurk 045192bf9d Invoke renderdoccmd as root on linux to install vulkan layer, not Qt UI
* On linux sometimes you can't invoke a GUI application as root. To work around
  this, we use renderdoccmd to register the layer if it's available, or fail if
  it isn't.
2018-10-05 18:17:00 +01:00
Adam Sawicki 6b101335e6 StatisticsViewer::AppendShaderStatistics: Fixed typo. 2018-10-05 14:57:37 +01:00
baldurk 91ac88d6b5 Add an '(Active)' suffix on active APIs to be clearer about it 2018-10-04 16:07:36 +01:00
baldurk 995caa2636 Implement empty-marker hiding options for event browser 2018-10-04 16:07:36 +01:00
baldurk ad5cfcd290 Pass through and display VAO object in GL pipeline state 2018-10-01 18:27:44 +01:00
baldurk 66e8c6f9ff Don't set invalid zoom level when no previous texture size is set 2018-09-28 15:03:12 +01:00
baldurk 3893fc2567 Make sure to trim off filename for windows paths, or if there's no path 2018-09-26 13:26:11 +01:00
baldurk 4ac54ac554 Add VirtualFileDialog fall back if initial directory is invalid 2018-09-26 13:24:18 +01:00
baldurk cd1d87daa1 Disable IA bytecode button when no capture is open 2018-09-25 18:39:59 +01:00
baldurk fcb74d2f7c Don't try to display vertex buffer if we should be using generics 2018-09-25 18:20:27 +01:00
baldurk d0b650778b Handle D3D12 register spaces with high values without full array size
* Technically register space values are arbitrary so the array should not be
  resized to account for all space indices, in case one is very large.
2018-09-25 17:24:01 +01:00
baldurk 73ec1e1d37 Don't assume text output byte buffer is null terminated 2018-09-25 10:39:59 +01:00
baldurk 684e814eb7 Protect access to TextureViewer from custom shader editor
* This means we don't crash if the custom shader editor is kept open even when
  the texture viewer is closed.
2018-09-18 12:46:23 +01:00
baldurk 5a475211f5 Don't use QFileInfo to get directory part of remote path. Refs #1094
* QFileInfo implicitly converts the path to the local OS's representation, and
  we want to preserve the native path format.
2018-09-07 14:25:55 +01:00
baldurk 6bfb426ab1 Allow specifying {stdin} to specify that input is in stdin. Closes #709 2018-09-07 14:24:45 +01:00
baldurk 553a68de19 Add 'No to All' button when closing a capture connection. Closes #1101 2018-09-07 14:22:47 +01:00
baldurk 8a927f847c Make warning about process injection restrictions more clear 2018-09-06 13:45:57 +01:00
baldurk 296050e298 Add copy progress bar for copies over target control connections 2018-09-06 13:17:12 +01:00
baldurk 0fbb717803 Allow hitting enter with a selected filename to enter a directory 2018-09-06 12:32:30 +01:00
baldurk cca4d364bf Save last capture path per remote host. Closes #1094 2018-09-06 12:30:03 +01:00
baldurk 5145478d19 Remove unused config variable LastCaptureExe
* In the .NET UI this was used to pre-fill the executable selection dialog, but
  it's unnecessary and hasn't been missed.
2018-09-06 10:59:15 +01:00
baldurk a4e125f961 Fix thumbnails being drawn over whole resource preview 2018-09-05 09:58:16 +01:00
baldurk 6df1edaa10 Remove unused lambda capture variable 2018-09-03 14:12:20 +01:00
baldurk 5406227152 Call CreateWindowingData on the main UI thread
* This allows mac to patch-up the widget to be renderable, and has to happen on
  the UI thread.
2018-08-31 22:14:12 +01:00
baldurk 76d9ddd584 Improve highlighting of unbound vertex/index buffers in pipeline state 2018-08-28 18:23:57 +01:00
baldurk 5024f80ee9 Make code more robust if indexed draw has unbound ibuffer. Closes #1085 2018-08-28 18:23:57 +01:00
baldurk a05d63852e Fix label for shader processing tools in disassembly dropdown 2018-08-28 18:23:57 +01:00
baldurk babe36bf7e Preserve stdout/stderr from external shader tools and display to user 2018-08-15 13:40:21 +01:00
baldurk 1ee6ea3916 Make sure messages with bold tag are detected as HTML 2018-08-14 17:43:07 +01:00
baldurk 9b7581011e Add a per-capture API to target control protocol
* This means that if an application uses more than one API, the correct API is
  listed for each capture.
2018-08-13 18:27:26 +01:00
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