Commit Graph

14733 Commits

Author SHA1 Message Date
Jake Turner 44fdde8b3e DXIL Disassembly tweaks to getelementptr, RawBufferLoad, RawBufferStore
Fixed getelementptr showing raw type and converted type
Improved RawBufferLoad, RawBufferStore display when displaying byteOffset
2024-05-29 07:28:33 +01:00
Jake Turner 1a36875bc0 Do not include immutable sampler-only descriptors in initial state 2024-05-29 06:01:28 +01:00
baldurk 45db4fef33 Handle getting descriptor access at EIDs where root params are unbound 2024-05-28 15:09:11 +01:00
baldurk 11463be8a7 Update stale mentions of Vulkan 1.2 2024-05-28 15:09:11 +01:00
Jake Turner 666c248b3a RD DXIL Disassembly : don't show "unknown" cbuffer member data
Fallback to show the cbuffer load i.e.

_dx.types.CBufRet.i32 _50 = cbuffer1.Load(byte_offset = 80);
2024-05-28 11:49:59 +01:00
Jake Turner 322722feba RD DXIL Disassembly handle non 32-bit cbuffer loads
Use the byte size of the return struct to determine how to iterate over the cbuffer members and choose which ones to display.
Cbuffer members which don't fit into the return struct element size are displayed as "<padding>"
2024-05-27 18:09:05 +01:00
Jake Turner e84eed56ff RD DXIL Disassembly support for "CreateHandleFromBinding" 2024-05-27 17:01:41 +01:00
baldurk 10be601839 Disassemble empty struct definitions as {} to match dxc 2024-05-27 16:21:32 +01:00
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