Commit Graph
14556 Commits
Author SHA1 Message Date
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
baldurk f00ab9dee8 Store descriptor type directly in shader resources for shader reflection 2024-04-10 18:58:51 +01:00
baldurk 292bb596dc Add GL input attribute dynamic binding information to pipe state 2024-04-10 18:58:51 +01:00
baldurk 2bbe1a8cd9 Update shader viewer and debugging with new reporting for shader binds
* This shifts from reporting from the old style bindset/bind to the new system
  of only referencing by shader interface and index (independent of binding
  model).
* The vulkan shader debugger re-uses the replay interface to cache descriptor
  access and descriptor contents in a fashion friendly to interface-index
  lookup.
2024-04-10 18:58:51 +01:00
baldurk f718e72ac9 Update texture viewer to use new pipeline helpers 2024-04-10 18:58:51 +01:00
baldurk d8fd03d60f Update shader message viewer to use new pipeline helpers 2024-04-10 18:58:51 +01:00
baldurk af6abd79c0 Update buffer viewer to use new descriptor/binding interface 2024-04-10 18:58:51 +01:00