baldurk
3366b25f0d
Add appropriate barriers for indirect RT arguments during patching
2024-12-05 13:31:23 +00:00
baldurk
dcf9ef00dc
Fix missing flag to indicate that indirect count buffer is unused
2024-12-05 13:31:23 +00:00
baldurk
e2f67eb9f6
Ignore a couple of DXBC chunks without processing or warning
2024-12-05 13:31:23 +00:00
baldurk
a26e599c02
Rebase addresses to current form in indirect ray dispatches
2024-12-05 13:31:23 +00:00
baldurk
9d698acbf4
Reset lod bias on GL when rendering textures internally
2024-12-05 13:31:23 +00:00
baldurk
4bc41a6296
Fix nv aftermath include order
2024-12-05 13:31:23 +00:00
baldurk
9bc648cf3b
Fix fetching DRED contexts
...
* Though these are broken as they are not properly processing BeginEvent strings
which are not packed/encoded
2024-12-05 13:31:23 +00:00
baldurk
72fffe4cf2
Run patching for indirect RT executes while auditing, but don't execute
2024-12-05 13:31:23 +00:00
baldurk
bd286fce81
Sort resources with identical start VAs by size
...
* This helps us when looking up a resource by VA to identify the largest one,
though does not handle all cases :(.
2024-12-05 13:31:22 +00:00
Jake Turner
fc31fb377e
DXIL Debugger support for DXOp::CalculateLOD
2024-12-04 15:19:56 +00:00
Jake Turner
c2f752aa29
DXIL Debugger support for CreateHandleFromHeap
2024-12-04 14:55:34 +00:00
Jake Turner
11870b184a
ShaderViewer support for ShaderDirectAccess shader resources
...
i.e. D3D12 SM6.6 HLSL Dynamic resources which index directly into the resource/sampler heap and not via shader bindings.
2024-12-04 13:40:17 +00:00
Jake Turner
2bd74fea8e
DXIL Debugger copy the type data from the Phi argument as well as values
...
To support the case when the Phi node argument is storing the result from a Handle operation i.e. CBufferLoad, Sample
2024-12-04 09:51:50 +00:00
Jake Turner
81816cc2f9
DXIL D3D12APIWrapper added GetShaderDirectAccess()
...
Creates ShaderDirectAccess structure from a DescriptorCategory and DXDebug::BindingSlot
2024-12-04 09:51:50 +00:00
Jake Turner
2d8930d88e
Added D3D12APIWrapper::GetResourceReferenceInfo()
...
Gets the resource details for a direct heap access binding
2024-12-04 09:51:49 +00:00
Jake Turner
8d24385f15
D3D12ShaderDebug support for direct heap access bindings
...
Added:
D3D12Descriptor FindDescriptor(WrappedID3D12Device *device, const DXDebug::HeapDescriptorType heapType, uint32_t descriptorIndex);
2024-12-04 09:51:49 +00:00
Jake Turner
8e69038ebc
Extend DXDebug::BindingSlot to support direct access heap bindings
...
Add new members
HeapDescriptorType heapType;
uint32_t heapIndex;
2024-12-04 09:51:49 +00:00
Jake Turner
140c681e66
DXIL Debugger new struct ResourceReferencceInfo for resource details
...
Replaces previous use of DXIL::ResourceReference* which is only available for direct bindings
2024-12-04 08:37:21 +00:00
Jake Turner
dbe18fc7fe
Added ShaderDirectAccess helper struct and ShaderVariable set/get
...
ShaderDirectAccess is used to reference resources which are accessed directly from the Shader (not via a direct binding). Shader resource references using direct binding are stored in ShaderBindIndex.
2024-12-04 08:37:21 +00:00
baldurk
61a559a944
Expand cases where we don't hook an already loaded module
...
* Some nv libraries like to do this a *lot* for nvapi.dll.
2024-12-03 17:11:21 +00:00
baldurk
d37b0ee00b
Fix issue with iterating actions via previous/next in python
...
* We keep parent references when returning child objects via reference/python
object wrappers rather than copying. But when iterating a linked list like the
actions this can produce an incredibly long parent chain and then on
destruction we can stack overflow if the chain is long enough.
2024-12-03 15:01:58 +00:00
baldurk
8d04479d20
Add additional check on index buffer values being out of bounds
2024-12-03 15:01:58 +00:00
Jake Turner
3de21cd16f
DXIL Debugger sort unimplemented DXOp's into three lists
...
1. Likely to implement when required
2. Don't know if needs to be implemented
3. No plans to implement
2024-12-03 06:20:36 +00:00
Jake Turner
dc1a7c57db
Update DXIL Global Shader Flags to latest version SM6.8
...
For the future display any unknown global shader flags as hex value
Make sure the DXIL debugger line numbers match the disassembly output if there are unknown global shader flags
2024-12-03 06:20:36 +00:00
Jake Turner
8b3a5ee826
DXIL Debugger helper methods to clear/set/get AnnotatedHandle property
2024-12-03 05:47:38 +00:00
Jake Turner
9abacbf6ea
DXIL Debugger removed unused method DebugAPIWrapper::IsResourceBound()
...
Also removed associated private helper methods IsUAVBound(), IsSRVBound()
2024-12-03 05:45:50 +00:00
Jake Turner
4532b888ed
Add SM 6.2 and StructuredBuffer<int16_t> to D3D12 Shader Debug Zoo test
2024-12-03 05:21:41 +00:00
Jake Turner
56fffb5dc2
D3D12 Tests add uint32_t compileOptions to Compile()
...
Current options are:
SkipOptimie : the default
Enable16BitTypes
2024-12-03 05:21:41 +00:00
baldurk
6d3e08a285
Don't check for transient file's existence
2024-12-02 13:57:41 +00:00
baldurk
06bc5818c2
32-bit compile fix
2024-12-02 13:54:52 +00:00
baldurk
537a19f639
Verify callable shaders (assuming anyone ever uses them)
2024-12-02 13:54:45 +00:00
baldurk
8ed3ff4db3
Increase D3D12 text rendering ring size
...
* The RT overlay can use a lot of lines per frame
2024-12-02 13:39:28 +00:00
baldurk
9d3d253642
Don't encode PNG extended thumbnail by default
2024-12-02 13:39:28 +00:00
baldurk
9af1de5d35
Avoid O(N^2) cascade removing many AS builds at once
2024-12-02 13:39:28 +00:00
baldurk
4fa0532719
Use transient self-deleting file handles for AS cache
...
* This avoids the problem where an application exits so fast on shutdown that we
don't have time to execute any cleanup functions to delete cached ASs.
* To avoid opening a huge number of file handles we also collate cached ASs into
batched files
2024-12-02 13:39:28 +00:00
baldurk
097ac429f6
Don't process separate debug info during capture
2024-12-02 13:39:28 +00:00
baldurk
e3a3a502bc
Serialise AS initial contents before all others
...
* This will be important for replay-time reallocation, so their VAs can be
remapped before any serialised descriptor heaps look them up.
2024-12-02 13:39:28 +00:00
baldurk
aa242a5be7
Do disk caching on background thread
2024-12-02 13:39:28 +00:00
baldurk
514e0b0d78
Reduce time searching for suballocs
2024-12-02 13:39:28 +00:00
baldurk
1f2855a4ea
Stringise D3D12_FEATURE
2024-12-02 13:39:28 +00:00
baldurk
6a75b73e1f
Don't sync for each capture text overlay render
2024-12-02 13:39:28 +00:00
baldurk
a19b7ea3c4
Use more efficient storage for forced references on D3D12
2024-12-02 13:39:27 +00:00
baldurk
f6f4bc9558
Add stat tracking of GPU overhead during capture
2024-12-02 13:39:27 +00:00
baldurk
9bff5fe29f
Disallow compaction entirely
...
* Although we intercept size queries to return the current size instead of
compacted size, this size can still leak out if a compacted AS is used as the
source of a subsequent update-build. Also in theory an application could just
compact then query the current size (possibly for defrag? though you'd expect
that size to be cached on the CPU from the original compact).
2024-12-02 13:39:27 +00:00
baldurk
3c3ff89e06
When auditing verify that known AS sizes are not exceeded
2024-12-02 13:39:27 +00:00
baldurk
671cca2a98
Remove unused code
2024-12-02 13:39:27 +00:00
baldurk
a77c8fc13b
Rename and group RT debug options
2024-12-02 13:39:27 +00:00
baldurk
250c448ebc
Add verification of AS init contents
2024-12-02 13:39:27 +00:00
baldurk
7e3bbcc7a3
Add verbose logging for audit mode
2024-12-02 13:39:27 +00:00
baldurk
081345fccf
Add verification of TLAS build inputs
2024-12-02 13:39:27 +00:00