Commit Graph

14562 Commits

Author SHA1 Message Date
Jake Turner 07ce326ce3 Added DXIL EntryPoint meta-data parsing 2024-04-18 16:29:00 +01:00
Jake Turner 22b0d53c42 Add DXIL enums for MatrixOrientation, SamplerFeedbackType 2024-04-18 16:12:05 +01:00
Jake Turner 9b88a7e933 Add extra DXIL struct member annotations
FieldWidth
VectorSize
SemanticName
2024-04-18 16:12:05 +01:00
Jake Turner 92a060ee70 Divide DXIL disassembly into two passes
First pass to settle the IDs common between disassembly styles
Second pass to display the disassembly
Divide existing MakeDXCDisassemblyString() method into helper methods to be shared
2024-04-18 16:12:05 +01:00
Jake Turner 3db925fd7a Add option for DXIL toString() helpers to use dxcStyle (default) 2024-04-18 16:03:58 +01:00
Jake Turner 62d3cd5f43 Ground work for RenderDoc specific DXIL disassembly view
Currently not exposed to the UI and code uses the existing DXC compatibile DXIL disassembly

Add bool parameter to DXBC::GetDisassembly()
Add bool parameter to DXIL::GetDisassembly()
Add void DXIL::MakeDXCDisassemblyString()
Add void DXIL::MakeRDDisassemblyString()
2024-04-18 15:46:39 +01:00
baldurk 70b7b770e8 Fix patching of BLAS addresses in TLAS build during replay 2024-04-17 15:32:23 +01:00
baldurk 1bd2b3976e Add forced references for ASs and mark all ASBs referenced 2024-04-17 15:32:23 +01:00
baldurk 5025304905 Add handling for AS SRV descriptors
* We treat these just as buffers for now.
2024-04-17 15:32:23 +01:00
baldurk 09a662c2e2 Add simple API-serialised initial states for acceleration structures 2024-04-17 15:32:23 +01:00
baldurk 258ab0a229 Record a fake creation for D3D12 AS objects to create them at load time 2024-04-17 15:32:23 +01:00
baldurk abbfe59b79 Add ray dispatch execute indirect argument serialisation 2024-04-17 15:32:23 +01:00
baldurk e0327b6c60 AS rebuilds are considered successful and shouldn't throw an error 2024-04-17 15:32:22 +01:00
baldurk b2d07cb56e Call serialise function for AS builds 2024-04-17 15:32:22 +01:00
Jake Turner bd0c961b94 D3D12: RenderMesh use the correct size for Vertex, Index Buffers
Fixes debug errors "exceeds end of the virtual address range of Resource" i.e.

D3D12 ERROR: ID3D12CommandList::IASetVertexBuffers: 0x0000023B9A746190 + SizeInBytes - 1 (0x000000010c36bffe) exceeds end of the virtual address range of Resource (0x0000023B9A746190:'PostVS vsoutBuffer for 162', GPU VA Range: 0x000000000c36c000 - 0x000000000c36c29f).  [ EXECUTION ERROR #726: SET_VERTEX_BUFFERS_INVALID]
D3D12 ERROR: ID3D12CommandList::IASetIndexBuffer: pDesc->BufferLocation + SizeInBytes - 1 (0x000000010c36affe) exceeds end of the virtual address range of Resource (0x0000023B9A7479B0:'PostVS idxBuf for 162', GPU VA Range: 0x000000000c36b000 - 0x000000000c36b00b).  [ STATE_CREATION ERROR #725: SET_INDEX_BUFFER_INVALID]
2024-04-17 11:44:06 +01:00
baldurk 78e84aa544 Don't crash on empty descriptor sets with no bindings 2024-04-16 20:03:54 +01:00
baldurk d4b8504bdc Add instructions to documentation on enabling the Nsight perf SDK 2024-04-16 11:04:58 +01:00
Jake Turner b72e506cf5 D3D12 PixelHistory: improve detection and handling of depth targets
Use D3D12_RESOURCE_DESC Flags to detect depth target (D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL).
Use GetDepthTypedFormat() to get correct depth copy format.
Use Pixel History IsDepthFormat() internal method instead of using DXGI_FORMAT helper function "IsDepthFormat".
Fixes issue of pixel history on typeless target cast to UNORM and used as depth i.e. R16_TYPLESS, cast to UNORM used as a shadow map
2024-04-15 16:54:53 +01:00
Jake Turner 4b9284ed8f PixelHistory UI: improve detection of depth targets
Use the same logic as TextureViewer to determine if the target is a depth target
Fixes issue of pixel history on typeless target cast to UNORM and used as depth i.e. shadow map
2024-04-15 16:54:53 +01:00
baldurk ade34bb59d Disallow dedicated memory on external images where memory reqs change 2024-04-15 16:23:08 +01:00
luckyxxl 3c265b8ad0 Add missing Indirect resource usage for indirect draw count buffers
The buffer containing the `uint32` draw count value for indirect draws with count was not marked as used for the respective events for the following API calls: glMultiDrawArraysIndirectCount, glMultiDrawElementsIndirectCount, vkCmdDrawIndirectCount, vkCmdDrawIndexedIndirectCount, vkCmdDrawMeshTasksIndirectCountEXT.
2024-04-15 16:20:18 +01:00
Jacob Thomas 7e976c04a8 Fix 'android-<version>.jar' search path on MacOS
The renderdoccmd android build assumes all files in '${ANDROID_SDK_ROOT_PATH}/platforms' are valid 'android-<version>.jar' platform libraries. Unfortunately because MacOS litters its directories with metadata files called .DS_Store, that file actually wins this sorting logic and is incorrectly selected.
This fixes the lib search logic to only consider android libraries.
2024-04-15 16:18:15 +01:00
Jake Turner bea0621625 Metal updates for MacSDK 14.4
Add MTLResource::setOwnerWithIdentity to ObjCBridgeMTLTexture and ObjCBridgeMTLBuffer
2024-04-13 16:17:57 +01:00
Jake Turner 1a85fcffba Sync demos copy of metal-cpp.h to match RenderDoc version 2024-04-13 07:31:58 +01:00
baldurk abfe1d4894 Filter shader debugging access to only those for the debugged stage 2024-04-11 15:23:42 +01:00
baldurk 943d11dace Add forward declare of MTL class in MTL namespace 2024-04-10 22:49:10 +01:00
baldurk 040b3ffeef Use cmake property to set C++17 for metal 2024-04-10 22:37:01 +01:00
baldurk 431c11feb6 Fix warnings identified by clang 2024-04-10 22:17:14 +01:00
baldurk 334611fa88 Fix some docstring errors 2024-04-10 21:49:18 +01:00
baldurk d3dac4dfc0 Add missing documentation entries for descriptor viewer & root sig 2024-04-10 21:33:19 +01:00
baldurk 2f9f3cd6a0 Fix GL reflection unit tests
* GL no longer reflects out fixed bindings and relies purely on queried
  uniforms.
2024-04-10 21:28:48 +01:00
baldurk b7f2e8a178 Add documentation explaining use of new descriptor abstraction in python 2024-04-10 18:58:53 +01:00
baldurk 1194531fc5 Add a descriptor viewer for showing all of a heap, root sig, or set 2024-04-10 18:58:53 +01:00
baldurk 153cd2aa16 Expose queries for descriptor stores and D3D12 root signature range
* This will allow a UI viewer or consumer of the replay API to more easily query
  'all' descriptors for a given store.
2024-04-10 18:58:53 +01:00
baldurk 9a18e871e5 Add testing of aliased bindings with descriptor feedback. Refs #3288 2024-04-10 18:58:53 +01:00
baldurk ca144ab818 Remove magic specialisation constant and push constant set numbers 2024-04-10 18:58:53 +01:00
baldurk 474a991419 Update documentation to reference new descriptor APIs 2024-04-10 18:58:53 +01:00
baldurk 9de4a79859 Update tests to new descriptor interface 2024-04-10 18:58:52 +01:00
baldurk fbed56ac55 Don't report descriptor access for non-stage-visible descriptors
* If these are actually used it's an application error.
2024-04-10 18:58:52 +01:00
baldurk 12a17b12f4 Display push descriptor sets in vulkan pipeline state viewer 2024-04-10 18:58:52 +01:00
baldurk 0284d551ea Switch from specific Attachment structs to using Descriptor for outputs 2024-04-10 18:58:52 +01:00
baldurk 6194d5a5a0 Rename resType to textureType in ShaderResource to be more accurate 2024-04-10 18:58:52 +01:00
baldurk 205ed0e6fa Remove old shader bindpoint mapping handling entirely 2024-04-10 18:58:52 +01:00
baldurk acc533ec60 Update Vulkan pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk 5d13456a65 Update D3D12 pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk 317c670fd5 Update GL pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk e08107ebe8 Update D3D11 pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk f4e3087177 Update common pipeline state viewer code to not use bindpoint mapping 2024-04-10 18:58:51 +01:00
baldurk 2c170df588 Fetch D3D12 dynamic feedback directly as descriptor accesses 2024-04-10 18:58:51 +01:00
baldurk 5e759b7fc9 Fetch vulkan dynamic feedback directly as descriptor accesses 2024-04-10 18:58:51 +01:00