Commit Graph

12546 Commits

Author SHA1 Message Date
baldurk cfd6ed0e98 Hash any unhashed incoming shaders on D3D12
* This is possible when capturing a program that uses experimental feature to
  allow unhashed shaders. We don't replay this so it would fail. We could enable
  the feature, but this is just as easy and means it works even when
  ""development mode"" isn't enabled.
2021-09-09 12:28:54 +01:00
baldurk 587c411833 Add some new undocumented reflection values 2021-09-09 12:24:54 +01:00
baldurk 0af73f58d3 Ignore RDAT chunk 2021-09-09 12:24:42 +01:00
baldurk 5471bf2519 Handle new type of patch constant signature, and new interpolator types 2021-09-09 12:24:32 +01:00
baldurk 90a6e2b425 Specify file handles as explicitly non-inheriting on windows
* We never want to inherit these, and e.g. Qt process launches are hardcoded to
  always inherit handles so these need to be excluded so files don't stay open.
2021-09-09 12:24:17 +01:00
baldurk 2cd0bf593f Update copyright year in about dialog 2021-09-09 12:24:03 +01:00
baldurk 67e0623d33 Fix some DXIL disassembly issues 2021-09-09 10:39:20 +01:00
Dylan Barrie 1b19208323 Fixes for GS output in the Mesh Viewer in D3D12
- Ensure there is space for the Stream Out counters at the beginning of the SO buffer
- Fix use-after-Unmap of the SO statistics data
- Reset the state correctly after syncing every 1000 instances
- Unmap the SO buffer when no output instances are found
2021-09-02 01:06:27 +01:00
baldurk 6659fae944 Don't use sudo in docker prepare script 2021-08-31 09:04:57 +01:00
baldurk 7d1cc7a6b8 Fix ubuntu docker build failing due to packages moving URLs 2021-08-31 08:54:34 +01:00
baldurk 037f05f3b4 Fetch vulkan shader printf messages from a pristine replayed state
* For draws/dispatches that aren't pure - i.e. modify state that they read from
  - we need to be sure we don't replay the action before running it to fetch
  feedback. For that reason we need to replay up to the action first, then fetch
  feedback.
2021-08-30 17:09:04 +01:00
baldurk ad1aba9632 Use the right attachment to calculate mip/slice for glClear destination 2021-08-30 16:51:06 +01:00
baldurk afa7723efc Don't iterate samplers in SPIR-V GL shaders, they should not be mutable 2021-08-30 16:50:43 +01:00
baldurk 6953aacbbe Mark importants properly in glDispatchCompute 2021-08-30 16:50:25 +01:00
baldurk 93238bf160 Add checks in event browser for when no capture is loaded 2021-08-30 15:55:46 +01:00
baldurk a4ba2e671c Only populate input variables declared in the interface for an entry
* This prevents us from trying to fill in e.g. vertex shader inputs when
  debugging a pixel shader if a module contains multiple entry points
2021-08-30 15:25:54 +01:00
baldurk b50a99113b Remove all entry points properly when debugging pixel shaders 2021-08-30 15:25:16 +01:00
baldurk 241587a231 Offset image operands is only valid for gather operations 2021-08-30 14:41:54 +01:00
baldurk 107077fde2 Patch image view usage to match framebuffer usage
* This is all a result of us adding extra usage to images - for imageless
  framebuffers the usage needs to match so we need to patch the framebuffer
  usage at create time. Then if image views are used that have specified usage
  subset we need to patch that too.
2021-08-30 14:34:28 +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 b1ec61acc7 Reduce image acquire timeout down to 2 seconds to be safe 2021-08-27 13:59:53 +01:00
baldurk 9e52554495 Wrapped swapchain textures should be tracked in resource manager 2021-08-27 13:14:13 +01:00
baldurk 2fd1b75270 Fix copy-paste error in resource naming 2021-08-27 12:40:43 +01:00
baldurk 1ef790ab80 Update capture connections when an open capture is saved. Closes #2352 2021-08-27 11:33:40 +01:00
baldurk cd65e5beee Ignore unused attachments being cleared 2021-08-26 15:49:11 +01:00
baldurk 69a27aea40 Handle MakeResident/Evict being refcounted, and handle placed resources
* Placed resources aren't directly resident or non-resident, it's the underlying
  heap that needs to be made resident or evicted.
2021-08-26 12:06:25 +01:00
baldurk a21d245114 Remove show unused/show empty options from texture viewer 2021-08-26 09:51:37 +01:00
baldurk 3bb4e8c22c Avoid crash if no pipeline is bound for D3D12 shader feedback 2021-08-26 09:51:37 +01:00
baldurk 3f2f74bba4 Fix backwards check on upload buffer being available 2021-08-26 09:51:37 +01:00
Jake Turner 833a63e639 Add missing renderdoccmd .h file to sources
Helpful for IDE project generation from CMake ie. xcode project
2021-08-24 21:33:51 +01:00
Jake Turner 01a1549628 Add missing renderdoc/driver .h file to sources
Helpful for IDE project generation from CMake ie. xcode project
2021-08-24 21:33:51 +01:00
Jake Turner ae118264c5 Add some missing renderdoc .h files to sources
Helpful for IDE project generation from CMake ie. xcode project
2021-08-24 21:33:51 +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 f258261a21 Add a couple of extra protection checks in D3D12 code against crashes 2021-08-24 18:59:45 +01:00
baldurk f45f8eac43 Don't do anything in PickVertex if there are no vertices 2021-08-24 17:46:00 +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 341478a3da Don't try to enable debug exts for internal android vulkan instance
* We create an instance during early android startup to force our library to
  stay loaded, but we shouldn't try to enable any debug extensions because on
  some android devices that can cause problems.
2021-08-24 15:43:58 +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 8ddc6eaa10 Fix docstring reference 2021-08-18 23:18:14 +01:00
baldurk aa26252a77 Update key before looking up bindless slot lookup on D3D12 2021-08-18 20:12:07 +01:00
baldurk 3d168b3836 Fix a crash for buffer views in descriptors 2021-08-18 20:12:07 +01:00
baldurk cd6df12f8b Fix assert to properly use expected state 2021-08-18 20:12:07 +01:00
baldurk a76aa1dede Update RGA devices list to include RDNA2
* We also drop everything gfx804 to keep the device list from being too bloated,
  as well as AMD planning to remove support for these devices soon.
2021-08-18 20:12:07 +01:00
baldurk cab76389c7 Add fatal (device lost/out of memory) error checking to backends
* We check for errors to try to catch them as soon as possible, and early-out
  return even in the middle of functions. The idea being even if this leaves us
  in a weird state we won't get called again as the replay controller will
  detect the error and substitute out a dummy driver.
2021-08-18 20:12:07 +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 dc955079ab Fix RELEASE define on linux
* This fixes some debug text appearing in the resource inspector, and lets linux
  users submit manual bug reports from release builds.
2021-08-18 20:12:07 +01:00