baldurk
090e4e5e9a
Handle stale descriptors hanging around referencing re-used resources
2016-10-31 01:01:53 +01:00
baldurk
5890316f22
Implement DeviceContextStates from D3D11.1 as needed by D2D. Refs #402
...
* This should at least support the swapping of the current pipeline
state but it probably won't support all the weird 'emulate different
D3D versions' stuff.
2016-10-31 01:01:53 +01:00
baldurk
212467a9c5
Inherit from the correct interface to be implemented
...
* Without this, a cast from WrappedID3D11DeviceContext to
ID3D11DeviceContext3 will not properly adjust the vtables so the
returned pointer will be invalid.
2016-10-31 01:01:53 +01:00
baldurk
a5e6158996
Forward QueryInterface call for ID3D11InfoQueue from context to device
2016-10-31 01:01:53 +01:00
baldurk
4dc75a69fe
Return a dummy ID3D10Multithreaded to stop D2D from whining. Refs #402
2016-10-31 01:01:53 +01:00
baldurk
8852b5f739
Track resources to flush in deferring dynamic descriptor updates
...
* During the frame we don't update our internal descriptor tracking, we
just record the updates on the CPU timeline.
* However, it's possible that one of those copies or writes references a
resource that is persistently mapped, so we need to know about that so
we can flush it at the next execute.
2016-10-31 01:01:53 +01:00
baldurk
21b4f94379
Don't try and hook into child processes that failed to create
2016-10-31 01:01:53 +01:00
baldurk
29388362a3
Make sure to delete records when resources are destroyed.
...
* If we're capturing, the frame references will keep the resource alive
and the application has to at least keep resources alive until after
GPU execution is finished.
2016-10-31 01:01:53 +01:00
baldurk
7903c78f6c
Unmap all current maps when a resource is deleted
2016-10-31 01:01:53 +01:00
baldurk
f46cf932d2
Implement D3D12.1 - ID3D12Device1 and pipeline library
2016-10-31 01:01:53 +01:00
Dominik Witczak
aaba987953
Fix for glBindBuffersRange() impl.
2016-10-30 20:51:56 +01:00
baldurk
b8cee9f530
Add missing break statements, thanks to report from @RCalocaO!
2016-10-29 21:28:27 +02:00
baldurk
6b5a2d4b66
Fix OwnerView not propagating to child nodes. Thanks @RCalocaO!
2016-10-29 21:25:55 +02:00
baldurk
23da9ac149
Add a pop-up tooltip over event names that are truncated
2016-10-28 21:21:05 +02:00
baldurk
1ceb9ee6e7
Don't crash if no RTVs are set with SingleHandleRT true
2016-10-28 17:42:11 +02:00
baldurk
420d653085
Release temporary SRVs created during copy MS <-> Array. Refs #406
2016-10-28 17:41:48 +02:00
baldurk
cdbcc7f301
Print a message when running a process
2016-10-27 22:17:42 +02:00
baldurk
385b719883
Make warning on inject screen much more obvious
2016-10-27 21:22:46 +02:00
baldurk
886d49fd2a
Don't crash if we try to refresh a non-host node, just skip it
2016-10-27 20:35:52 +02:00
baldurk
b36b120638
Don't store bound descriptors in a set, just a vector with duplicates
2016-10-27 19:35:46 +02:00
baldurk
37e56e91b0
Only emit debug text in non-RELEASE
2016-10-27 19:35:45 +02:00
baldurk
f7c155acd3
Unwrap presentation queues passed to ResizeBuffers1
2016-10-27 19:35:44 +02:00
baldurk
3c222af4e2
Make sure to frame-reference the contents of descriptor copy sources
2016-10-27 19:35:43 +02:00
baldurk
b796669909
Print size of each individual command list, not total size
2016-10-27 19:35:42 +02:00
baldurk
58ecabc7c4
Make sure persistent map check includes resources in bound descriptors
2016-10-27 16:23:09 +02:00
baldurk
95f955a5bb
Put whole of ExecuteCommandLists processing in cap transition lock
...
* This is needed because processing of flushing persistent maps and
using shadow memory needs to happen before it's deallocated at the end
of the frame.
2016-10-27 15:43:39 +02:00
baldurk
ff547fa24f
Only allocate DSVs for output windows with depth.
2016-10-27 15:42:37 +02:00
baldurk
3357898855
Unwrap resource to discard on replay
2016-10-27 14:01:16 +02:00
baldurk
07c9b3697b
Check for truncated reads when decompressing
2016-10-27 12:40:19 +02:00
baldurk
edcce279d2
Don't write debug text string all in one fwrite call
2016-10-27 12:39:47 +02:00
baldurk
c49496bc16
Don't overwrite sampler types during writing
2016-10-27 12:39:17 +02:00
baldurk
88939d1f21
Only add wrapped resources to list on replay (which is single threaded)
2016-10-27 11:35:03 +02:00
baldurk
0832bff675
Use command queue that created a swapchain for writing to backbuffers
2016-10-27 11:34:17 +02:00
baldurk
909d82cc1e
Disable barrier logging/assertions by default
2016-10-26 23:14:17 +02:00
baldurk
f26876adf3
Only ask for virtual address of buffers
2016-10-26 23:14:17 +02:00
baldurk
e1c0400e40
Lock around access to GPUAddressRange vector
2016-10-26 23:14:16 +02:00
baldurk
a396713f3c
Increase size of initial pipeline state pool
2016-10-26 23:14:16 +02:00
baldurk
51ba0000ed
Increase MAX_NUM_BACKBUFFERS
2016-10-26 23:14:15 +02:00
baldurk
ab9ada685a
Add basic serialisation of bundle execution, without stepping-in support
2016-10-26 23:14:14 +02:00
baldurk
dd0a68c9c9
Sync on all queue fences to ensure work is done before shutdown
2016-10-26 23:14:14 +02:00
baldurk
a69012e50d
Signal dummy fences on all queues to keep debug layers happy
2016-10-26 23:14:13 +02:00
baldurk
2f2da067b0
Account for range start when reading from map ptr to serialise map data
2016-10-26 23:14:12 +02:00
baldurk
939f1102e3
Add SINGLE_FLUSH_VALIDATE single execution of lists and syncing
2016-10-26 23:14:12 +02:00
baldurk
95c2863ab2
When GPU syncing, check that it's successful & wait long enough for TDR
...
* This means if we're trying to track a TDR by SINGLE_FLUSH_VALIDATE we
will definitely catch it failing here.
2016-10-26 23:14:11 +02:00
baldurk
451203187d
Handle nested Map/Unmap calls by refcounting
2016-10-26 23:14:10 +02:00
baldurk
e8e7ad711a
Don't set stale table root signature entries for non-current heaps
...
* The problem is we need to keep current state for both graphics and
compute because while setting a root signature invalidates bindings,
setting compute doesn't invalidate graphics and vice-versa.
* However it can be invalid to try and re-apply in one go if we're only
drawing and not dispatching and some of the compute elements are
invalid.
* Rather than try to figure out which one *should* be valid, instead we
just skip invalid binds that don't have matching heaps.
2016-10-26 23:14:10 +02:00
baldurk
447b64fd14
Wrap DXGI 1.5 passthrough, to ensure the wrapping ecosystem isn't broken
2016-10-26 17:10:05 +02:00
baldurk
2c7791c7bd
Don't wrap each DXGI interface individually, wrap most derived
...
* This lets naughty applications downcast e.g. from an IDXGIAdapter to a
IDXGIAdapter1 without QueryInterfacing (I'm looking at you, ROTTR).
2016-10-26 13:20:07 +02:00
baldurk
0178ea6bb9
Handle setting empty RTs list even if RTsSingleHandle.. is set
2016-10-26 13:17:49 +02:00
baldurk
8acd5ab27d
Capture and replay commands executed on multiple queues
2016-10-26 10:48:03 +02:00