Commit Graph

13752 Commits

Author SHA1 Message Date
Orson Baines fd12fdb84b Set Primitive ID to ~0u in error case 2023-03-07 08:46:46 +00:00
Orson Baines 578c963bb2 Fix a few OpenGL Pixel History Bugs
- Filter out events that affect a mip layer that is not selected
- Fix an off by one replay error causing weird behaviour
- Fix framebuffer blitting when attached textures change during frame
2023-03-07 08:46:46 +00:00
baldurk 4439d50aeb Fix handling of dynamic rendering shading rate attachments. Closes #2877 2023-03-06 15:14:05 +00:00
baldurk 5d90500530 Expand GPU readback of memory to integrated GPUs. Closes #2868
* Integrated GPUs with non-host-cached memory should also be handled with a GPU
  readback, similar to all device-local memory on full GPUs.
2023-03-06 15:14:05 +00:00
baldurk 802199da65 Expand use of -Wno-implicit-fallthrough on 3rdparty sources 2023-03-06 15:14:05 +00:00
baldurk 6cb927d638 Fix race removing forced reference on buffer delete 2023-03-06 15:14:05 +00:00
baldurk 00e8bd7d8b When forcing WARP, force all heaps created to be L0 to comply with rules 2023-03-06 15:14:05 +00:00
baldurk 9a30ca304e Only initialise AMD extensions when replaying on AMD
* The driver module may be loaded but that doesn't mean we should try to
  initialise the extensions.
2023-03-06 15:14:05 +00:00
baldurk 61ef550344 add extra GL extension declare to work around Intel driver issue 2023-03-06 15:14:05 +00:00
baldurk 6a7df564fc Handle secondary command buffers with no inheritance info RP 2023-03-06 15:14:05 +00:00
baldurk 0433795378 Disable another buggy vulkan layer 2023-03-06 15:14:04 +00:00
baldurk 6af4d895d8 Recalculate root if fake markers are present. Closes #2870 2023-03-06 15:14:04 +00:00
John Cortell ac302d7a48 APIProperties serialization missing field
The field APIProperties::rgpCapture was added years ago but
renderdoc_serialize.inl wasn't updated. One of those edge cases
where the size check failed to flag the oversight due to the
field appearing prior to other subsequent (conditional) fields.
End result is that the RGP Capture menu option is always disabled,
even when the target supports it.
2023-03-03 11:24:33 +00:00
Orson Baines c8b011344d Remove feature toggle for OpenGL Pixel History 2023-02-25 10:52:53 +00:00
baldurk 52e9404961 Fix reflection of structure sizes in DXIL 2023-02-22 11:09:09 +00:00
baldurk 9c71e9db02 Speculative fix for race during performance counter selection
* If the window is closed while counter enumeration is happening and that takes
  long enough this might break, so keep a QPointer around.
2023-02-22 10:14:17 +00:00
baldurk f05c4efde8 Tweak and extend handling of DWARF debug metadata 2023-02-16 13:04:04 +00:00
baldurk 9c09f2879c Improve dxc-only disassembly annotations 2023-02-16 13:04:04 +00:00
baldurk 57239207a5 Argument values come before function constant values
* We start counting value IDs for value-less first instructions (like calls)
  starting just from the constants, not including arguments
2023-02-16 13:04:04 +00:00
baldurk 62f4b3cd25 Encode functions with internal linkage correctly 2023-02-16 13:04:04 +00:00
baldurk 35f2ad0658 Use the correct type list for calculating number of types to abbreviate 2023-02-16 13:04:04 +00:00
baldurk e50eab747a Format null pointers as 'null' rather than 'zeroinitializer' 2023-02-16 13:04:04 +00:00
baldurk d1c2fc3a49 Correctly print the type for pointer-to-function
* We implicitly treat function types as just function types, llvm makes them
  into pointer-to-function on load.
2023-02-16 13:04:04 +00:00
baldurk e816e6e39f Tweak some cases disassembling attributes 2023-02-16 13:04:04 +00:00
baldurk 62aa7b49a5 Assign type IDs recursively for constants
* In case a type is only referenced via e.g. bitcast -> gep we need to recurse
  to assign type IDs in this case.
2023-02-16 13:04:04 +00:00
baldurk 5efe9bc0b2 Fix some edge cases on DXIL function disassembly 2023-02-16 13:04:04 +00:00
baldurk cc1709d16c Arguments are allowed to be unnamed in DXIL 2023-02-16 13:04:03 +00:00
baldurk f73a61a294 Handle recursively empty structs in DXIL with no type annotations 2023-02-16 13:04:03 +00:00
baldurk 807a398126 Handle COMDAT entries in DXIL 2023-02-16 13:04:03 +00:00
baldurk 1f80c0643d Silently handle unsupported resources in DXIL reflection if encountered 2023-02-16 13:04:03 +00:00
baldurk 843972395b Display internal linkage functions in disassembly 2023-02-16 13:04:03 +00:00
baldurk 39bb522d93 Match dxc disassembly for partially-undef compounds 2023-02-16 13:04:03 +00:00
baldurk deeb7fe3eb Handle non-void return instructions properly in DXIL 2023-02-16 13:04:03 +00:00
baldurk 953e702e47 DXIL type annotations byte size is unreliable so don't use it
* We also need to be sure not to recurse into 'structs' that are matrices, since
  they don't have type annotation info.
2023-02-16 13:03:38 +00:00
baldurk f5058dc292 32-bit compile fix 2023-02-14 20:36:31 +00:00
baldurk 6abbd83e6a Set callstack on first instruction when debugging DXBC. Closes #2855 2023-02-14 19:36:10 +00:00
baldurk b42a1f9d1d Refactor DXIL parsing and handling to more closely mimic LLVM
* This file format is so obtuse that it enforces a code structure almost by
  design. This makes sense since it was never intended to be used anywhere
  outside of LLVM internals, so it makes sense that it maps precisely to LLVM's
  code structure and is hard to handle otherwise.
2023-02-14 19:36:10 +00:00
Orson Baines 073f3c770a Address PR nitpick feedback 2023-02-14 10:07:07 +00:00
Orson Baines d7042643ce Address Pixel History PR feedback
- change mscopy compute shader to use same as vulkan
- default to sample 0 when average value is selected
2023-02-14 10:07:07 +00:00
Orson Baines d87f505a26 OpenGL Pixel History Multisampling support
- Read pixel value from the selected sample
- Support the average value for multisampled textures
- Mark events that fail sample mask
2023-02-14 10:07:07 +00:00
baldurk 076beab650 Intercept EGL query and remove unsupported extensions. Closes #2830
* Since EGL is an Android API and highly likely to have
  unstable/unsupported/internal extensions, and also because we for the most
  part pass through the API apart from a couple of functions that we intercept
  but don't need to fully understand or process the attributes of, we take the
  approach of removing problematic extensions rather than only allowing
  extensions we know are safe.
2023-02-06 15:06:07 +00:00
baldurk 559179556a Don't unmute debug output on capture, only on replay 2023-02-06 15:01:28 +00:00
baldurk 0cec1f2b96 Don't set name of resources that may have failed to create 2023-02-06 11:55:15 +00:00
baldurk ed548d4a45 Use SAFE_RELEASE for destroying command lists in case of device removed 2023-02-06 11:28:24 +00:00
baldurk ab653e7063 Don't process completions in widget if completion is not enabled 2023-02-06 11:28:10 +00:00
baldurk c3a7afb7c2 Don't remap special queue family indices 2023-02-03 17:08:22 +00:00
baldurk eab5314af8 Allow SV_PrimitiveID in PS inputs mixed with non-SV inputs
* Sometimes fxc gives an error about this -
  error X4576: Non system-generated input signature parameter () cannot appear after a system generated value.
* There doesn't seem to be a documented way to know how/when this is important,
  but unfortunately in some cases SV values can take up registers and affect
  register packing so we can't always omit them. Here for primitive ID as long
  as it was previously declared mid-inputs, we allow it to be declared there as
  normal to preserve interface matching.
2023-02-03 16:02:24 +00:00
KenLee 2eddf80770 MiniQtHelper: Add getteer and setter for CollapseGroupBox; 2023-02-03 16:02:13 +00:00
baldurk d20fa1c17d Increase server timeout to 5s because Android is terrible. Closes #2843 2023-02-03 11:05:53 +00:00
baldurk 4a7dea43dc Emit a resized event on the resource preview when thumbnail resizes
* If the overall preview widget doesn't resize but the thumbnail does because
  the preview text label has changed in size, we should emit a resize event so
  the thumbnail can be redrawn.
2023-02-02 13:14:57 +00:00