baldurk
f96be406d2
Remove ShutdownSwapchain - redundant vs ReleaseSwapchainResources
2016-07-10 18:10:06 +02:00
baldurk
60e11f1802
Implement checkerboard rendering on D3D12
2016-07-10 18:10:05 +02:00
baldurk
1a4ccf775c
Release swapchain resources when shutting down swapchain
2016-07-10 18:10:05 +02:00
baldurk
8fd872525a
Identify backbuffer textures properly and set to non-typeless format
2016-07-10 18:10:04 +02:00
baldurk
5420ab3256
Reset allocator after GPU sync to avoid excessive leaking
2016-07-10 18:10:04 +02:00
baldurk
0f6f06c5ec
Add and release live resources properly during replay
2016-07-10 18:10:03 +02:00
baldurk
f39b3e727e
Set viewport and scissor rects properly when rendering
2016-07-10 18:10:03 +02:00
baldurk
7ccd3fe98f
Don't cast command list/queue to TrackedResource - not inherited
2016-07-10 18:10:03 +02:00
baldurk
b12dcbb869
Return texture and buffer information on replay, mark unimplemented fns
2016-07-10 18:10:02 +02:00
baldurk
4268d8f58f
Remove structure size and redundant 32-bit length field from FetchBuffer
2016-07-10 18:10:02 +02:00
baldurk
b9600e6f28
Fix refcounting around swapchain resizing on D3D12
2016-07-10 18:10:01 +02:00
baldurk
1f1467b06b
Fix DXGI hooking for D3D11
2016-07-10 18:10:01 +02:00
baldurk
2fec42b3f2
Disable multisampling for now
2016-07-10 18:10:00 +02:00
baldurk
7d50aad4d7
Implement RenderTexture() (in a hacky way)
2016-07-10 18:10:00 +02:00
baldurk
ad998a4e8b
Keep a list of resources
2016-07-10 18:09:59 +02:00
baldurk
a09ac13f36
Unwrap heaps for SetDescriptorHeaps
2016-07-10 18:09:58 +02:00
baldurk
758933bb73
Set most texture display properties before searching texture list
2016-07-10 18:09:58 +02:00
baldurk
57fe3e4fd5
Make internal command list etc wrapped, support multiple record lists
2016-07-10 18:09:57 +02:00
baldurk
14591e6a00
Move pixel debug pixel cbuffer to slot 1 so it doesn't overlap in D3D12
2016-07-10 18:09:57 +02:00
baldurk
f975b7e92f
Return frame record by reference
2016-07-10 18:09:56 +02:00
baldurk
cd7c751e2c
While we only have one command list, sync after each execution
2016-07-10 18:09:55 +02:00
baldurk
b956568215
Can't wrap virtual addresses - they can be byte offsetted.
...
* We need to pass them through unwrapped and use a lookup table to get
the resource's ID from them when necessary
2016-07-10 18:09:55 +02:00
baldurk
84e5bf3a7e
Use flip model for swapchain, render to intermediate target then copy
2016-07-10 18:09:54 +02:00
baldurk
9d9c90456b
Only create debug manager once
2016-07-10 18:09:53 +02:00
baldurk
6d2343cb29
Register D3D device DXGI callback on replay too
2016-07-10 18:09:53 +02:00
baldurk
8f1bad6de4
Fix typo - don't try to use wrong device pointer
2016-07-10 18:09:52 +02:00
baldurk
9cd6b1ead2
Close list immediately after creation, so it can always be reset on use
2016-07-10 18:09:52 +02:00
baldurk
15aaf56781
Create fake backbuffer texture
2016-07-10 18:09:51 +02:00
baldurk
54c45355f7
Set up serialise user data and replay device pointers properly
2016-07-10 18:09:50 +02:00
baldurk
295a315840
Only get command list IDs when writing
2016-07-10 18:09:50 +02:00
baldurk
925445c8b0
Don't reset newly created command lists (it's not valid)
2016-07-10 18:09:49 +02:00
baldurk
48e52c12f7
Mark signalled fences as referenced
2016-07-10 18:09:49 +02:00
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