baldurk
b4c659eb9a
Handle unrolling array-of-pointers for replay-time AS builds
2024-10-19 01:21:47 +01:00
baldurk
ac1a680b47
Redeclare bitfields in structs when declaring types
2024-10-19 01:21:47 +01:00
baldurk
c6c5702d74
Fix calculation of offsets with bitfields when aligning for pointers
2024-10-19 01:21:47 +01:00
baldurk
f0aecfbfa3
Add a log message when vkconfig is detected and warned about
2024-10-19 01:21:47 +01:00
baldurk
3bd65816cf
Add a demos test that uses RT with ASs
2024-10-19 01:21:47 +01:00
baldurk
60d2e30f43
Do indirect copy via EI to fetch array of instances layout
2024-10-19 01:21:47 +01:00
baldurk
cd2a432cb6
Identify new-barrier ASB flag as equivalent to old-barrier ASB state
2024-10-19 01:21:47 +01:00
Jake Turner
d7887ff1d9
DXIL Debugger support for switch instruction
2024-10-17 14:19:08 +01:00
Jake Turner
89526027d2
DXIL Debugger support for vector instructions
...
ExtractElement
InsertElement
ShuffleVector
2024-10-17 14:19:02 +01:00
Jake Turner
cd72381432
DXIL Debugger support for ptr cast instructions
...
PtrToI
IToPtr
2024-10-17 14:18:55 +01:00
Jake Turner
6a931a4082
DXIL Debugger handle different bit widths for logical operations
...
And, Or, Xor, ShiftLeft, LogicalShiftRight, ArithShiftRight
2024-10-16 16:48:47 +01:00
Jake Turner
bb87fef2cd
DXIL Debugger support for float cast instructions
...
FPTrunc
FPExt
2024-10-16 16:48:39 +01:00
Jake Turner
d987baff71
DXIL Debugger support for integer cast instructions
...
Trunc
ZExt
SExt
2024-10-16 16:48:25 +01:00
Jake Turner
605ff9d2d9
DXIL Debugger support for float/integer cast instructions
...
SToF
UToF
FToS
FToU
2024-10-16 16:47:42 +01:00
Jake Turner
62a737c713
DXIL Debugger support for Integer division and remainder instructions
...
Operation::UDiv
Operation::SDiv
Operation::URem
Operation::SRem
Remainder implemented using % which keeps the remainder having the same sign as the dividend
2024-10-16 10:16:37 +01:00
Jake Turner
8074aa4a89
DXIL Debugger support for FRem
...
Implemented using fmod() which keeps the remainder having the same sign as the dividend
2024-10-16 10:16:27 +01:00
Jake Turner
2bfbe81bde
DXIL Debugger support for Integer comparison instructions
...
Handle different bit widths to IEqual, INotEqual
Added support for:
UGreater
UGreaterEqual
ULess
ULessEqual
SGreater
SGreaterEqual
SLess
SLessEqual
2024-10-16 10:16:17 +01:00
Jake Turner
ca2138d283
DXIL Debugger extended support for Add, Sub, Mul instructions
...
Handle different bit widths
2024-10-16 10:15:51 +01:00
Jake Turner
98c1e6b12b
DXIL Debugger extended support for FAdd, FSub, FMul, FDiv instructions
...
Handle different bit widths
2024-10-16 10:15:27 +01:00
Jake Turner
514f45105a
DXIL Debugger extended support for FOrd*, FUnord* instructions
...
Added support (including half, float, double variants) for:
FOrdGreaterEqual
FOrdLess
FOrdLessEqual
FOrdNotEqual
FOrd
FOrdTrue
FUnord
FUnordEqual
FUnordGreater
FUnordGreaterEqual
FUnordLess
FUnordLessEqual
FUnordNotEqual
Extended existing support of FOrdEqual, FOrdNotEqual to handle half and double variants
2024-10-16 10:12:54 +01:00
Jake Turner
fa33bcfbfb
Add debug config variable D3D12_Experimental_EnableDXILShaderDebugging
...
When DXIL debugging is enabled, GetDebugStatus() matches currently supported LLVM instructions and DX.OP calls.
2024-10-16 10:10:40 +01:00
Jake Turner
d09235f30a
Change Mac github runner to MacOS13 instead of MacOS12
2024-10-15 17:25:39 +01:00
Jake Turner
019bf37a9b
Handle more scopes in DXIL Program::GetDebugScopeFilePath
...
If the scope tree does not end at a DIFile node then use the most recent non-NULL file metadata found when walking the scope tree
2024-10-15 15:55:32 +01:00
Jake Turner
9e747cd06b
D3D12_Sharing log any errors when creating shared handle
2024-10-15 12:09:09 +01:00
Jake Turner
e378267533
DXIL SettleIDs() assert that all instruction arguments have valid SSA Id
...
Move the check to its own pass after all instructions have been processed to properly handle loops and phi nodes
2024-10-15 09:37:46 +01:00
baldurk
781dfa47aa
Fix magic brew python commands to shut CI up
2024-10-09 14:30:33 +01:00
Jasmine Hansen
4e6cd9a0ae
Add shader debugging support for VkShaderEXT objects
...
Functions: DebugVertex, DebugPixel, DebugThread
2024-10-09 13:04:23 +01:00
baldurk
c00d498986
mark memory as BDA-containing for vkBindBufferMemory2
2024-10-09 13:03:37 +01:00
baldurk
f367dbdfc9
ignore BLASs with valid VAs but no created AS
2024-10-09 13:03:37 +01:00
baldurk
3a0dc4e50a
Fix crash if resizing buffer without previously submitted work
2024-10-09 13:03:36 +01:00
baldurk
7850861734
Handle completely empty TLASs
2024-10-09 13:03:36 +01:00
baldurk
763fbcf63d
Only set new dynamic states if pipeline uses them
2024-10-09 13:03:36 +01:00
baldurk
a59e0ffb21
Use correct type of heap for cached ASs
2024-10-09 13:03:36 +01:00
baldurk
987d08c301
Add some debug-tracked-only AS stats for overlay
2024-10-09 13:03:36 +01:00
baldurk
ea762adbfa
Fix warning in release
2024-10-07 11:26:31 +01:00
baldurk
18ba6e3230
Fix 32-bit compilation
2024-10-07 10:55:10 +01:00
baldurk
f6903d3d7d
Fix mac compilation
2024-10-07 10:55:04 +01:00
baldurk
8f88f1d125
Fix out of bounds array or iterator accesses
2024-10-04 10:32:32 +01:00
baldurk
cb1a2926fa
Fix pixel history potential use-after-free
...
* After resizing history events for overdraw the modification reference may no
longer be valid.
2024-10-04 10:31:56 +01:00
baldurk
5d0a85e8ca
Allow 'expected errors' in tests for RDResult returns
...
* This fixes the issue that tests of out-of-bounds and error behaviour trigger
debugbreaks. We don't apply this to RDCERR (currently) as it would generate
more code overall and it's easier to convert any new deliberate test errors.
2024-10-04 10:31:12 +01:00
baldurk
354dc784a4
Release both state object property interfaces
2024-10-03 16:59:49 +01:00
baldurk
b6c3707ee4
Cache AS builds and copy for initial states
2024-10-03 16:35:38 +01:00
baldurk
7bfa00db6a
Allow resource managers to mutate initial states
...
* This is useful for being able to cache data during apply, rather than during
serialise when we don't typically execute GPU work.
2024-10-03 16:35:09 +01:00
baldurk
d2ba9b793a
Serialise and recreate ASs via build data not API serialisation
2024-10-03 16:34:00 +01:00
baldurk
71329c617e
Duplicate and save parameters for AS builds
2024-10-03 16:33:19 +01:00
baldurk
f8aec0f890
Always report uncompacted AS size on D3D12
...
* Drivers can compact inconsistently so if we have a compaction that ends up
smaller during capture than replay we will end up with overlapping and invalid
AS locations on replay.
* We still allow compactions to happen in case there's a performance benefit,
the application will just not be able to exploit any memory savings.
2024-10-03 16:32:45 +01:00
baldurk
ae6bc1fd82
Enable RTP capture/replay feature on vulkan
2024-10-03 16:32:35 +01:00
baldurk
ca73392638
Step up through composite types when looking for file scope
2024-10-03 16:32:25 +01:00
baldurk
be3f2a65fb
Fix export lookup index being incorrect
2024-10-03 16:32:19 +01:00
baldurk
b49e2e607f
Add test of very short-lived RTV/DSV heaps
2024-10-03 16:32:09 +01:00