Commit Graph

6957 Commits

Author SHA1 Message Date
baldurk b12475f808 Style scintilla to work on dark as well as light themes. Refs #862 2018-02-09 17:51:19 +00:00
baldurk f6ccd537b6 Change shader edit controls from Ctrl-S / save to F5 / Refresh
* This is a bit less ambiguous and less confusing in the case where
  someone is expecting a "compile" type button instead of "save changes"
  type button.
2018-02-09 17:19:29 +00:00
baldurk 8622471277 Reset android vulkan layer property as late as possible
* We can't reliably know when we can safely remove the layer property
  at capture time because it's impossible to know if an android app will
  use vulkan or not. So instead we fall back to unsetting it whenever we
  need to - before opening a capture or when shutting down the remote
  server (in case after capturing, no frame capture was actually opened)
* This means that if the UI crashes without unsetting it, we will poison
  the state, but this seems unavoidable.
2018-02-09 14:02:31 +00:00
baldurk 634c63637f Make sure *all* bindings are available to compute, not just vertex
* This fixes a problem where dynamic offsets would be wrong because we
  only opted-in to the vertex bindings in the layout, not the fragment
  bindings.
2018-02-09 13:06:35 +00:00
baldurk 360b37b1a7 Re-order any variables that we point to new pointer types to the end
* As explained in the code, if we repoint an input variable to refer to
  a previously declared private type, it might start referencing forward
  in the SPIR-V which is invalid. So to fix this and be safe, we just
  move the variable to the end.
2018-02-09 13:05:54 +00:00
baldurk 0f38dda951 Use a state machine for tracking SPIR-V sections and add nops to pad
* We want to make sure every section always has at least one word in it
  so we can unambiguously tell which section we're appending to. If the
  debug section is empty, it's hard to tell the difference between
  appending to the entry point section and inserting into the debug
  section, so we add a nop that will get stripped out later.
2018-02-09 12:18:40 +00:00
baldurk 6944f6f728 Don't allow direct == or != on SPIRVIterator, use <
* The reason is if comparing directly against the end of a section, we
  could skip over it if the section ends in a nop and the next section
  starts in a nop. Instead < will always work as expected.
2018-02-09 12:17:40 +00:00
baldurk f2bd4b0351 Detect ls errors that appear on stdout instead of stderr 2018-02-09 10:51:45 +00:00
baldurk 4f59cdb23d Linux compile fix 2018-02-09 09:08:11 +00:00
baldurk 1f0fdcacce Update window title after fetching shader stage 2018-02-09 01:32:50 +00:00
baldurk e20a31d23f Add friendlier error message when overwriting current file. Refs #862
* Only the currently open capture can save over its file, other captures
  cannot overwrite it while it's in use.
2018-02-09 01:32:49 +00:00
baldurk 66d1157e3a Save config immediately after setting last opened capture filename
* This means that even if we crash while opening the capture it's set
  for the crash reporter to pick up.
2018-02-09 01:32:48 +00:00
baldurk f044719b9a Add file size limit of 2.25GB for uploaded captures 2018-02-09 01:32:46 +00:00
baldurk 7352ffb557 Tweak RDStyle to darken link colours on the light theme 2018-02-07 16:07:18 +00:00
baldurk 9f87e6e013 Add a function to reveal a file in the platform's external file browser 2018-02-07 16:07:08 +00:00
baldurk 8374e2f01f Add license notes about OpenSSL distribution 2018-02-07 16:06:53 +00:00
baldurk c1da9af62a Copy OpenSSL DLLs into windows build, if available 2018-02-07 15:57:30 +00:00
baldurk fc37a4fa54 Check that we have openssl available in crash report dialog 2018-02-07 15:57:17 +00:00
baldurk 0c89fac9b5 Make adb devices execute silently because otherwise it spams the log 2018-02-07 14:20:00 +00:00
baldurk fd344b2803 Rename JDK browse button slot to properly get picked up 2018-02-07 12:09:30 +00:00
baldurk a2e0bc82e9 Allow double-click & other shortcuts to inject into processes. Refs #862 2018-02-06 21:25:07 +00:00
baldurk 55397e7295 Fix path checks on PySide2 file copies 2018-02-06 18:20:01 +00:00
baldurk effbed2222 Fixes for D3D12 structured export 2018-02-06 17:41:59 +00:00
baldurk 9614ee89c2 Use correct resource ID to fetch name in texture viewer status bar 2018-02-06 15:00:20 +00:00
baldurk 01a6b67404 Reduce initial wait time for fetching socket out of new process 2018-02-06 00:21:10 +00:00
baldurk ccffa7656a Specify byte range for cbuffers in D3D12 pipeline state 2018-02-06 00:21:10 +00:00
baldurk 6fd9b47d04 Compile fix on 32-bit or non-windows with analytics enabled 2018-02-06 00:21:10 +00:00
baldurk dfe5bbe4c0 Enable anonymous analytics by default
* If you have any questions about the analytics please contact me
  directly at baldurk@baldurk.org
* Enabling this now to give realistic usage for anyone testing over the
  next month, and also to pre-populate stats for the time 1.0 comes out.
2018-02-06 00:21:10 +00:00
baldurk 2b64d6dfa7 Add options to change analytics settings after initial prompt
* We are also more explicit in code about disabling the analytics when
  the opt-out is selected.
2018-02-06 00:21:09 +00:00
baldurk 18786451df Update toolwindowmanager to 33e2545d3f3086435eb6b15d2790956d3e5d677c 2018-02-06 00:21:09 +00:00
baldurk bdb8c21c81 Give state objects their own resource records
* If we don't track their lifetimes specifically, then we can end up
  with the situation where an application makes more state objects over
  the course of its rendering than is legal (there can only be a max
  4096 unique state objects of each time). This could happen if an
  application creates state objects each frame with slight variances,
  but then releases them again.
2018-02-06 00:21:09 +00:00
baldurk e75b9f95b0 Consider a present the same as a copy for fetching output target 2018-02-06 00:21:09 +00:00
baldurk 55ebe38044 Fix replay of ID3D11Device::CreateInputLayout with no input elements
* ID3D11Device::CreateInputLayout will fail if we pass a NULL descriptor
  array pointer, even though 0xdeadbeef will work so it doesn't actually
  use the pointer at all.
2018-02-06 00:21:09 +00:00
baldurk cf317fcd24 Fix pyside compilation when present on windows 2018-02-06 00:21:09 +00:00
Cory Bloor 9c7ec619ca Speed up linux process connection
There's no need to wait for exponential backoff to satisfy
waitTime > MAX_WAIT_TIME if we already found the result.
2018-02-06 00:20:57 +00:00
baldurk 768e812e45 Commit binary dependencies necessary for compilation on windows
* On windows it's strongly desired to be able to compile straight out of
  a clean checkout or source download. This means anyone can download
  the source and investigate something quickly, without having to worry
  about the hassle of figuring out how the project downloads 3rd party
  dependencies, fetching them, getting them registered in the right
  place.
* This can't be put in a submodule as git submodules don't get
  downloaded by default so people new to git will get confusing
  compilation messages, and someone downloading the source from github
  directly without cloning via git won't get submodules included.
* It does add some extra size to a fresh download/checkout which is
  unfortunate, but absolutely worth the cost. Shallow checkouts still
  aren't unfeasibly large, and it's only a one-off cost at clone time.
2018-02-02 20:49:35 +00:00
baldurk 469957abf2 On windows expect Qt include path outside of platform subfolder 2018-02-02 20:47:23 +00:00
baldurk c1ceb3b02a Make PySide2 optional on windows
* It's already optional on linux due to distributions not necessarily
  carrying packages for it yet. We also make it optional on windows
  since by the same measure it's not a huge problem if it's missing, and
  official builds will include it. This means we don't have to ship the
  binary dependencies
2018-02-02 20:47:19 +00:00
baldurk bbb4fed8e1 De-prioritise our bundled android tools unless there's no other option
* This prevents our adb from fighting a system adb if it's used outside
  of renderdoc.
2018-02-02 18:40:29 +00:00
baldurk 66198cf200 Fix missing serialise of shader bytecode encoding enum 2018-02-02 18:40:28 +00:00
baldurk 13dd17d6f2 Always 'release' the preview window even if it wasn't created.
* This helps on android where we might fail to create the preview window
  if our app isn't in the front, but we still want to let the base loop
  know that we're done previewing and let it go back to the generic
  splash screen.
2018-02-02 18:40:28 +00:00
baldurk 3b94095201 Handle differences between EXT_debug_label and KHR_debug
* In particular they have different behaviour for what length value
  indicates that the length should be fetched from the NULL
  terminated string.
2018-02-02 18:39:46 +00:00
baldurk 96c487c8c0 Use absolute dimensions of viewport to calculate aspect ratio. Refs #856
* On vulkan the viewport height could be negative to flip the NDC, but
  we don't care about its sign only its magnitude to calculate the
  aspect ratio.
2018-02-02 17:29:12 +00:00
baldurk 4e830b247c Fix cases on vulkan, assuming PostVS index buffer was already a live ID 2018-02-02 16:09:30 +00:00
baldurk 6c64c2bfae Ignore errors from truncated RDC file as long as we get the thumbnail 2018-02-02 16:09:29 +00:00
baldurk efb0143333 Create public CBuffers during capture, as they're needed for MSAA2Array 2018-02-02 16:09:28 +00:00
baldurk b1dbab6ce1 Add dependency on renderdoc_libentry, needed to link renderdoc 2018-02-02 16:09:27 +00:00
baldurk 7cb221f5e2 Reset resource IDs in views if there is no view bound 2018-02-02 16:09:27 +00:00
baldurk cee7da9dc7 Handle formatting typeless 'special' format names: BCn and Depth-Stencil 2018-02-02 16:09:26 +00:00
baldurk ec68f9ec0e Only print real bools as True/False, not anything that can convert 2018-02-02 16:09:25 +00:00