baldurk
fa600dbb34
Fix small typos processing queue/list chunks
2016-07-10 18:09:48 +02:00
baldurk
8a5ee99b42
Set up descriptor type properly when serialising in
2016-07-10 18:09:47 +02:00
baldurk
5a68bbf3a7
Don't serialise bytecode buffer if size is 0 - leave pointer as NULL
2016-07-10 18:09:47 +02:00
baldurk
ba9321e796
Use macro for extracting swizzle components
2016-07-10 18:09:47 +02:00
baldurk
37811402b3
Create factory independently, rather than obtaining from device
2016-07-10 18:09:46 +02:00
baldurk
a7f3ea725d
Handle enabling debug layer while reading, when hooks aren't initialised
2016-07-10 18:09:46 +02:00
baldurk
621a2c984d
Fix initial state serialisation/application
...
* Store return code from mapping resource so we don't think it's always
failed.
* Use the correct unwrapped descriptor handle increment.
* Serialise directly into created upload buffer, and actually upload
data.
* Do a manual CPU-side copy if destination buffer is in upload heap,
otherwise ensure proper resource transition barriers happen
2016-07-10 18:09:45 +02:00
baldurk
5a4c22e291
Implement descriptor creation, post-serialise
2016-07-10 18:09:45 +02:00
baldurk
ade23cc7a0
Minor formatting improvements
2016-07-10 18:09:44 +02:00
baldurk
5c963fc6a6
Add mostly stubbed D3D12 replay interface, and 2 core chunk replay loops
2016-07-10 18:09:44 +02:00
baldurk
89f40fb0df
Fetch, serialise, and apply initial contents of buffer resources
2016-07-10 18:09:43 +02:00
baldurk
e1fcde1d71
Track resource states for initial states, apply barriers while recording
2016-07-10 18:09:43 +02:00
baldurk
3a3c2abd8a
Fixup RDCDriver out of date string-ify
2016-07-10 18:09:42 +02:00
baldurk
97e36a8def
Track initial contents, with things treated as default dirty.
...
* For now, only descriptor heap initial contents are tracked.
2016-07-10 18:09:42 +02:00
baldurk
297fe80b79
Add remaining parent and dependency tracking to serialise frame
2016-07-10 18:09:41 +02:00
baldurk
4d394bcdce
Serialise ID3D12Resource* as ResourceId properly
2016-07-10 18:09:41 +02:00
baldurk
ae29c41e67
Add putting together an actual capture file. Give resources records
2016-07-10 18:09:40 +02:00
baldurk
a7f6b62bcf
Inline some functions that don't need to be separate
2016-07-10 18:09:40 +02:00
baldurk
d177d5e3c8
Remove unused stuff from D3D12ResourceRecord
2016-07-10 18:09:40 +02:00
baldurk
e043ab6cd6
Serialise the 'this' pointer for command list chunks
2016-07-10 18:09:39 +02:00
baldurk
723c6e065e
Minor ToStr fixes
2016-07-10 18:09:39 +02:00
baldurk
f56d3e7779
Add text log every second until overlay is implemented
2016-07-10 18:09:38 +02:00
baldurk
4160f3a776
Wrap virtual address and descriptor handles, serialise as heap ID + idx
...
* This lets us track descriptor contents too.
2016-07-10 18:09:38 +02:00
baldurk
9f7dd21f1b
Wrap remaining interfaces for HelloWorldD3D12.
...
* We can disable the wrapping checking etc, everything from now on
should be correctly wrapped.
2016-07-10 18:09:37 +02:00
baldurk
a0983b64a4
Serialise the command list/queue functions HelloWorldD3D12 uses
2016-07-10 18:09:37 +02:00
baldurk
f3216b38f5
Tweak string name of ResourceId to be all one word for easier searching
2016-07-10 18:09:36 +02:00
baldurk
983e8f57c0
Include min/max depth in string format of D3D11_VIEWPORT
2016-07-10 18:09:36 +02:00
baldurk
34755927b9
Add a packed descriptor structure for storing into
2016-07-10 18:09:35 +02:00
baldurk
11823a306d
Intercept, serialise and wrap pipeline state creation
2016-07-10 18:09:35 +02:00
baldurk
3a65091b3c
Wrap and intercept command lists and queues, and add a couple of unwraps
...
* At this point the HelloD3D12 sample runs with RenderDoc injected, and
renders properly.
2016-07-10 18:09:34 +02:00
baldurk
f8fa72c305
Add safety code for now, to handle unwrapping non-wrapped resources
2016-07-10 18:09:34 +02:00
baldurk
d656511d0f
Don't register callback while still running global constructors
2016-07-10 18:09:33 +02:00
baldurk
c1f4a01b1b
D3D12 object passed to CreateSwapChain and friends is a command queue
2016-07-10 18:09:33 +02:00
baldurk
6ce0ea37dc
Set up pass-through implementations for D3D12 device/command list
2016-07-10 18:09:32 +02:00
baldurk
b387f8e7f1
Add file for non-wrapped command list/queue functions
2016-07-10 18:09:32 +02:00
baldurk
d980da3b60
Rename file for wrapped functions
2016-07-10 18:09:32 +02:00
baldurk
fae1212ea0
Add support for IAT hooking imports via ordinal. Needed for D3D12
2016-07-10 18:09:31 +02:00
baldurk
72006dbfcd
Make sure to cast to the correct return type.
...
* Some of these already worked via the first inherited interface being
the right one, but it's better to be safe. When writing to void* the
right vtable must be sitting in place.
2016-07-10 18:09:31 +02:00
baldurk
e2cec61cb0
Add skeleton wrappers for the remaining D3D12 interfaces
2016-07-10 18:09:30 +02:00
baldurk
3407d4744e
Rename two D3D11 classes to avoid link collisions with D3D12 classes
2016-07-10 18:09:30 +02:00
baldurk
66524a7330
Move common code into DXGI out of D3D11, to share with D3D12
2016-07-10 18:09:29 +02:00
baldurk
b505cfaceb
Add initial skeleton of D3D12 support
...
* This includes changes to DXGI to remove hard dependency on D3D11 code
and support multiple D3D versions initialising through DXGI.
* Basically all of the D3D12 interception is unimplemented/stubbed out
and only the ID3D12Device interface is present.
2016-07-10 18:09:20 +02:00
baldurk
9a3c3961dd
Remove unused debug lock
2016-07-09 20:39:00 +02:00
baldurk
990210feda
Fix a clang-format issue that snuck through
2016-07-05 12:13:26 +02:00
baldurk
5bdde0c74f
Travis: Re-enable clang-format checks with restored LLVM apt repo
2016-07-05 12:02:51 +02:00
baldurk
c7f2391d10
Just in case, handle histogram or minmaxtile pipelines being missing
2016-07-04 13:01:41 +02:00
baldurk
7df7f5fa3c
Skip drawcalls that have numInstances == 0 from PostVS
2016-07-04 13:01:29 +02:00
baldurk
3e171f7f79
Remove top-most windows, we shouldn't have any (just above-rest-of)
2016-07-04 10:59:11 +02:00
baldurk
92d2fe0db9
Add temporary glslang warning fixes
2016-06-28 19:10:04 +02:00
baldurk
2b80776d5c
Add -Wno-unknown-warning-option for older clang versions
2016-06-28 19:09:38 +02:00