Commit Graph

14725 Commits

Author SHA1 Message Date
baldurk c0b992f643 Don't try to disassemble textures that are declared as struct members
* These are dummy members are not really contained in cbuffers or other structs,
  but dxc emits them anyway.
2024-05-27 16:21:32 +01:00
baldurk b93f23e2fc Process snorm/unorm input or output variables from shaders 2024-05-27 16:21:32 +01:00
baldurk 0df08e20b4 Handle mesh payloads not coming from global variables 2024-05-27 16:21:32 +01:00
Jake Turner 7362f51b58 RD DXIL Disassembly improvements
Handle internal functions which are not in the entry point interfaces i.e. hull shader patch constant helper function

Hand decode SM 6.6 resource handle DX OpCodes: CreateHandleFromHeap, AnnotateHandle
2024-05-27 15:01:28 +01:00
baldurk 12fc6a9835 Use dxc-faithful intrinsic signatures for dxc disassembly 2024-05-27 13:51:56 +01:00
baldurk 170ba62bcf Handle calling GetDevice for a dxgi device on a swapchain 2024-05-27 10:13:58 +01:00
baldurk 8b1d0956a2 Fix vulkan capture/replay physical device names in message 2024-05-27 10:13:58 +01:00
baldurk 0e61e7a307 Revert 19701205 with race condition, use existing identical helper 2024-05-27 10:13:58 +01:00
baldurk a5332bc764 Don't try to patch empty TLAS builds 2024-05-27 10:13:58 +01:00
baldurk c59f46e8dc Don't treat missing BLASs as fatal
* It's possible to create a TLAS referencing a BLAS, destroy the buffer backing
  the BLAS, and we won't know the TLAS is invalid and will try to serialise it.
2024-05-27 10:13:57 +01:00
baldurk 9332bd34f9 Fix handling of AS copies 2024-05-27 10:13:57 +01:00
baldurk 7e8aa58ea1 Fix alignment issues with heap lookup data 2024-05-27 10:13:57 +01:00
baldurk 0497e2d226 Defer creating RT internal resources until after creation
* This will allow us to wrap the resources which can be useful for self-
  introspection
2024-05-27 10:13:57 +01:00
baldurk b715cce04f Report original GPU VA to UI on D3D12
* In theory this was useful for interpreting execute indirect buffers previously
  but it will be more common.
2024-05-27 10:13:57 +01:00
baldurk 176a0909fa Save buffer formats immediately on change 2024-05-27 10:13:57 +01:00
Louis de Carufel 0e64cc5368 Added shader viewer bookmarks and find shortcuts. 2024-05-24 10:35:06 +01:00
José Roberto de Souza 02854e6b95 Add paranoid checks and debug messages for Xe KMD
Xe is the new KMD driver for Intel GPUs on Linux, replacing i915
on LNL and newer.

So here just checking if '/proc/sys/dev/xe/perf_stream_paranoid' is also
set to 0 and printing debug messages when it is set to 1.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
2024-05-23 11:25:30 +01:00
Cam Mannett 18256e19d6 Android hardware buffer handling tweaks
* Calling vkGetImageMemoryRequirements on AHB-backed images before binding is out-of-spec, so that is now deferred until bind
* Calling vkCreateImage with an undefined format will cause an error to be returned
2024-05-22 17:02:53 +01:00
Jasmine Hansen 0dcd19c43d Add support for binding shader object state in replay.
Co-authored-by: James Sumihiro <james.sumihiro@ntd.nintendo.com>
2024-05-22 11:30:20 +01:00
yudong 4725b73181 use NoTitleBar style to prevent crash on HarmonyOS devices 2024-05-22 11:29:51 +01:00
baldurk 4a481edd32 Tweak label naming to be more C-like and demangled 2024-05-20 15:14:40 +01:00
baldurk 02781658c8 Add ; for conditional branches in RD DXIL disassembly 2024-05-20 14:51:44 +01:00
baldurk c475053489 Move demangling function to utility helper in DXBC 2024-05-20 14:51:22 +01:00
baldurk 54b425e92e Fix crash disassembling library with dummy entry point 2024-05-20 14:51:03 +01:00
baldurk 38a7c7b338 Don't print inner type for ASs in DXIL disassembly 2024-05-20 14:50:47 +01:00
baldurk ddb0c9532e Remove fairly spammy debug log 2024-05-20 13:54:08 +01:00
baldurk 3d4ec46dc1 Always update shadow storage even on first allocation on GL 2024-05-19 23:56:01 +01:00
baldurk 1ad23f64ca Use hack to customise expander colour in treeview branches. Closes #3319 2024-05-17 11:41:53 +01:00
baldurk 1019b7f2cb Fix unwrapping and replay of AddToStateObject 2024-05-17 11:39:51 +01:00
baldurk 4ba41dae23 Add [allow_uav_condition] tag to compile on older versions of fxc 2024-05-17 11:39:51 +01:00
baldurk 4af980f8d4 Handle a stride of 0 in shader record tables 2024-05-17 11:39:51 +01:00
baldurk 0124a3d661 Fix D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS serialisation 2024-05-17 11:39:51 +01:00
Firestar99 db553fc6a6 fixed assert if task and mesh shader entrypoint name differed 2024-05-16 18:15:09 +01:00
Jasmine Hansen 5eac79c19c Remove the setting of rasterization samples in vkCmdSetSampleMaskEXT 2024-05-16 10:55:11 +01:00
Jake Turner d176e98fd5 RD DXIL Disassembly use DxOp enum values instead of string comparison
Added "dxOpFunctionNames" array to assert that the function name is as expected
2024-05-15 07:08:20 +01:00
Jake Turner 2e2e09097c Extended DXIL::DXOp with all the known enum values
Changed enum names to follow DXC convention
2024-05-14 17:44:58 +01:00
Jake Turner bd6da14c7a RD DXIL Disassembly initial value for m_DisassemblyInstructionLine 2024-05-14 14:58:32 +01:00
Jake Turner 78a548ad2b DXIL::Program header clarified IDebugInfo interface boundary 2024-05-14 12:45:25 +01:00
Jake Turner 080c0b052e DXIL::Program added function to ProcessFunctions via callback
void ProcessFunctions(std::function<bool(const Function *)> callback) const;
2024-05-14 12:45:21 +01:00
Jake Turner 2329e68f26 RD DXIL Disassembly refactoring to support DXIL Debugging
Added:
  void Parse(const DXBC::Reflection *reflection);
  void ParseReferences(const DXBC::Reflection *reflection);
  const ResourceReference *GetResourceReference(const rdcstr &handleStr) const;
  rdcstr GetResourceReferenceName(ResourceClass resClass, const BindingSlot &slot) const;

Changed:
  void FetchEntryPointInterfaces(rdcarray<EntryPointInterface> &entryPointInterfaces);
to
  void FillEntryPointInterfaces(); and store the entry point interface data in new member variable "m_EntryPointInterfaces"

To get the SSA names for handles that are referenced by createHandle calls

Added DoStringise() for DXIL::ResourceClass
2024-05-14 10:00:58 +01:00
Jake Turner fde1a19cb7 D3D12 Shader Debug only call FillTraceLineInfo for DXBC debugging
DXIL debugging will generate the line info data during DXILDebug::BeginDebug()
2024-05-14 08:41:55 +01:00
baldurk 22ffd90382 Fix shader editing being broken on compute pipelines by 3b2bb46 2024-05-13 16:35:55 +01:00
baldurk 0aa7cdda17 Set informational chunkIndex attribute on XML export
* This is useful to be able to tie a particular chunk when replaying to its
  location in the XML, where event IDs are hard to come by.
2024-05-13 16:35:55 +01:00
baldurk b9806addb1 Clamp RT tier to 1.0 until ExecuteIndirect support is done 2024-05-13 16:35:55 +01:00
baldurk 53b21a1072 Don't patch hitgroup/callable tables if not present
* The runtime seems to complain about an invalid address if it's at the end of a
  buffer even if the size is 0 bytes
2024-05-13 16:35:55 +01:00
baldurk 96da861a40 Patch root GPUVA parameters during replay 2024-05-13 16:35:55 +01:00
baldurk 464016bc29 Fix unwrapping of collection objects during capture 2024-05-13 10:50:56 +01:00
baldurk 369cc37446 Ignore NULL BLAS pointers 2024-05-13 10:50:55 +01:00
baldurk 729fa04136 Don't release ASs on replay
* These resources are destroyed on capture shutdown and possibly out of order
  between ASs and ASBs. The ownership tracking is not needed on replay so only
  do this during capture.
2024-05-13 10:50:55 +01:00
baldurk 72491cb9b2 Reset root signature elements when tracking during capture 2024-05-13 10:50:55 +01:00