Commit Graph

13720 Commits

Author SHA1 Message Date
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
baldurk 45369d7f94 On python 3.8+ call os.add_dll_directory in documentation build
* This nonsense is needed to load the renderdoc.dll from the python module,
  because python broke normal windows DLL loading behaviour.
2023-02-02 13:14:04 +00:00
baldurk ca4d79c0a3 Really fix compile error
* I'm having a good day today.
2023-02-02 11:46:19 +00:00
baldurk 3090960d73 Fix compile error 2023-02-02 11:32:01 +00:00
baldurk 4475454e80 Avoid remapping queues when an identical match is available. Refs #2837
* This avoids unnecessary remapping in the case of unknown queue flag bits or
  properties, e.g. if two queues look like transfer queues because one has a new
  bit. If the user picks the second 'transfer' queue we shouldn't try to remap
  it to the first 'transfer' queue.
2023-02-02 11:10:33 +00:00
baldurk a9affea030 Fix some cases that didn't remap queue family indices. Closes #2837 2023-02-02 11:10:33 +00:00
Le Philousophe 7d05d545d2 Create a clone context with the same profile as the shared one
This matches behaviour of WGLPlatform
2023-02-02 10:36:38 +00:00
baldurk 2283cdc06d Bump version to v1.26 2023-02-01 21:10:42 +00:00
baldurk d47e79ae07 Update copyright years to 2023 v1.25 2023-02-01 12:23:32 +00:00
baldurk 080b3dbb75 Add license note for nvidia nsight perfsdk redistributable portions 2023-02-01 11:22:22 +00:00
Z Guan b68381598b Fix sampler-only slots with immutable samplers in vulkan shader debug 2023-01-30 17:46:00 +00:00
baldurk 9eaabe516a Fix calculation of mip co-ordinates. Closes #2836
* Also adds a unit test to verify these helpers
2023-01-27 14:13:21 +00:00
baldurk 2dab264dee Disable print to stderr from nvperf 2023-01-27 10:24:34 +00:00
Roman-Skabin bb80255925 Replaced checking android version with ckecking SDK version.
Also some code refactoring based on review remarks. (+3 squashed commit)

Squashed commit:

[6aad908e4] Review refactoring

[19e4ef6b9] Formatting fix.

[49c852081] Android 13 fix
2023-01-26 19:08:47 +00:00
baldurk b72fe1d503 Sync all queues after fetching counters on D3D12 2023-01-25 11:25:01 +00:00
baldurk c6c5c147dd Pick unorm as default type for 1-byte textures
* Normally we rely on a query from the driver, but not all drivers return valid
  data here unfortunately so we want a better fallback.
2023-01-25 11:05:27 +00:00
baldurk 2e0b872592 Don't query seamless cubemap state per texture
* This has been broken for a long time, but this state is only global there is
  no per-texture query.
2023-01-25 11:04:05 +00:00
baldurk b8b9fff7f0 Fix order, update texture before fetching histogram. Closes #2828
* This is only relevant when using a custom shader since otherwise nothing is
  'updated', though could also affect overlays potentially. If we don't then the
  custom shader texture may not have been re-rendered before we fetch the
  histogram data and we'll get stale information.
2023-01-25 10:38:16 +00:00
Jonathan Glines 4e02449617 Fix errors from NvPerfUtility displayed when no library present
Errors from NvPerfUtility do not need to be displayed if the Nsight Perf SDK
library is not installed.
2023-01-19 23:59:17 +00:00
baldurk 0042f6dfd9 Handle inlined shader modules created for compute PSOs. Closes #2826 2023-01-19 17:09:51 +00:00
baldurk 653028fa0d Fix compile error, oops! 2023-01-18 14:39:54 +00:00
baldurk 6b734708cf Store enabled extensions during capture at vkCreateDevice time 2023-01-18 14:07:05 +00:00
baldurk a45f1f929f Don't clamp array stride to 16-bit in shader reflection
* Looks like this was leftover from some refactors where the stride was going to
  be packed into 16-bit but never was.
2023-01-18 13:34:50 +00:00
baldurk b1efc1ea8f Fix D3D12 if MSAA is disabled on output windows 2023-01-18 12:57:01 +00:00
Leonard Tsai f578e62684 Allow multiple depth targets to be viewable in the TextureViewer 2023-01-18 12:56:47 +00:00
Jonathan Glines 588d205279 Show errors from NvPerfUtility in the RenderDoc UI
Errors related to collecting NVIDIA hardware counters are now shown in the
"Errors and Warnings" window of the Renderdoc UI. Previously, these errors were
only visible in stderr. This includes errors for device compatibility, resource
availability, and insufficient privileges.
2023-01-18 10:45:03 +00:00
Jonathan Glines a362e42124 Add custom logging callback mechanism to NvPerfUtility
This is needed to send log messages to the RenderDoc UI rather than to stderr.
2023-01-18 10:45:03 +00:00
baldurk fce1920d5b Strip new kind of dxil type mangling from typenames 2023-01-17 20:09:34 +00:00
baldurk 82f205ead6 Add support for VK_EXT_image_view_min_lod 2023-01-17 18:39:06 +00:00
baldurk 823103e111 Add support for VK_EXT_depth_clamp_zero_one 2023-01-17 18:39:06 +00:00
baldurk a440fa2a23 Add support for VK_EXT_non_seamless_cube_map 2023-01-17 18:39:06 +00:00
baldurk caa2ede2b1 Add support for VK_EXT_border_color_swizzle 2023-01-17 18:39:06 +00:00
baldurk 1ab648c3fa Always show DebugValue in SPIR-V disassembly. Closes #2823
* These were previously hidden by default since they generate a fair amount of
  noise in the disassembly which is not neccessarily directly useful.
* The problem is that DebugValues are steppable and so will generate an
  instruction in the debugging, but without a disassembly line you can have two
  different 'instructions' on the same disassembly line but with different
  source lines:
   > DebugLine 100
   > DebugValue ...
   > DebugLine 101
   > OpSomething ...
   In this case the DebugValue and OpSomething will both have the same disassembly line, but different source lines. This means it is impossible to reliably place a disassembly breakpoint and know which instruction to stop on, and produces some odd effects when stepping in asm (it will step to the DebugValue then the OpSomething and not visibly move).
* Overall the reduction in readability is worth this fix, especially considering
  that when debug info is present is exactly when people are least likely to be
  using the disassembly at all.
2023-01-17 18:39:05 +00:00