baldurk
bad01d25fb
Partial progress on wrapping/unwrapping objects correctly
...
* Still missing:
- Replay/analysis objects aren't wrapped on creation as they should be
- Wrappers aren't registered, so a handful of cases (like fetching
creation info or gathering pipeline state) that need to go real ->
wrapped (for the ID) can't at the moment.
- Doesn't yet create temporary creation info structures etc, to unwrap
the relevant members.
2016-02-07 18:40:07 +01:00
baldurk
250b59e07c
Move compile asserts out, as g++ can't use AllocByteSize in class def
2016-02-07 18:40:06 +01:00
baldurk
5bb681033d
Add a handful of unwrapping up to instance/physical device point
2016-02-07 18:40:05 +01:00
baldurk
7afd99aff5
Use instance tables fetch instead of ObjDisp in vkCreateDevice/Instance
2016-02-07 18:40:04 +01:00
baldurk
a6787430e8
Set up dispatch tables on creating wrapped resource, use ObjDisp
2016-02-07 18:40:03 +01:00
baldurk
93ad35e98a
Make WrappedVulkan compile with wrapped resources
2016-02-07 18:40:02 +01:00
baldurk
baba2a898b
Make GetID(WrappedVkRes *) public since it's quite useful
2016-02-07 18:40:02 +01:00
baldurk
3a85a5f75b
Add helper function to quickly get real from right place and cast
2016-02-07 18:40:01 +01:00
baldurk
ba2473f27a
Return new id from WrapResource
2016-02-07 18:40:00 +01:00
baldurk
302060bea6
ToStr function for VkResourceType
2016-02-07 18:39:59 +01:00
baldurk
4f744645e8
Add handy ObjDisp() function for dispatching via cached table
2016-02-07 18:39:58 +01:00
baldurk
bd3f1c3002
Split dispatchable and non-dispatchable types up, to preserve tables
2016-02-07 18:39:58 +01:00
baldurk
9ab07a0ebb
Add utility function for wrapping new resources
2016-02-07 18:39:57 +01:00
baldurk
55073df153
Refactor context record/id
2016-02-07 18:39:56 +01:00
baldurk
9b8431066a
Add a couple of helpful utility functions for resources
2016-02-07 18:39:55 +01:00
baldurk
52c07cb789
Remove VkResource, switch to WrappedVkRes*, update all but vk_core.cpp
2016-02-07 18:39:54 +01:00
baldurk
6fa9007c2f
Adjust pool counts/sizes
2016-02-07 18:39:53 +01:00
baldurk
2bbfa66d72
Add pool identification utility function
2016-02-07 18:39:53 +01:00
baldurk
585eba7c84
Add utility functions to unwrap, access ID or get record
2016-02-07 18:39:52 +01:00
baldurk
e9342a32e7
Add VkWrappedRes struct with wrapping allocated pools
2016-02-07 18:39:51 +01:00
baldurk
c5b3cf5849
Recompile text-rendering shaders to be LunarG sample driver friendly
2016-02-07 18:39:50 +01:00
baldurk
eaf31123f7
Remove old code
2016-02-07 18:39:49 +01:00
baldurk
442386b84a
Add text-rendering support for in-application renderdoc overlay
2016-02-07 18:39:48 +01:00
baldurk
ad185a4042
A couple of runtime fixes, and create renderpass & framebuffers in-app
2016-02-07 18:39:47 +01:00
baldurk
332a281291
spin off 'debug data' into separate class so it can be used in-app
2016-02-07 18:39:47 +01:00
baldurk
2a043d6125
Implement getting backbuffer screenshot on capture
2016-02-07 18:39:46 +01:00
baldurk
088c3e1c4c
Default to first swap image on replay output windows
2016-02-07 18:39:45 +01:00
baldurk
46d1d9c462
First pass at cleaning up resources. Remaining leak in mem initial state
2016-02-07 18:39:44 +01:00
baldurk
75a7a496f4
Release debug data (and wrap it up in its own struct)
2016-02-07 18:39:43 +01:00
baldurk
25cd48401b
Change replay ID resource ID offset to decimal instead of hex
2016-02-07 18:39:42 +01:00
baldurk
429a93b4a0
Demote a VKTODO from HIGH to MED
2016-02-07 18:39:41 +01:00
baldurk
5a0e900a61
Fetch or add a queue family index that matches what we need
2016-02-07 18:39:41 +01:00
baldurk
3addb43f06
Warn about different API version, but proceed and use RenderDoc's
2016-02-07 18:39:40 +01:00
baldurk
b14b149394
Dynamically allocate physical device array
2016-02-07 18:39:39 +01:00
baldurk
6d4cadf697
Remove VKTODOs about pNext/sType, it's handled in struct serialises
2016-02-07 18:39:38 +01:00
baldurk
1c0c09f4b9
Make sure to call vkResetCommandBuffer before re-begin'ing
2016-02-07 18:39:37 +01:00
baldurk
e5e8fa29f5
Fix problem that might go away with resource record shutdown order
2016-02-07 18:39:36 +01:00
baldurk
3b3053369c
Add frame references for current descriptor set bindings on queue submit
...
* We rely on the API-enforced lifetimes to be followed by the user,
which means all resources they care about (note, might be some stale
bindings) will be alive at queue submission time so we can just ref
them all.
2016-02-07 18:39:35 +01:00
baldurk
a675735499
Correctly query for backbuffer format and present mode from driver
2016-02-07 18:39:35 +01:00
baldurk
96e19cc4e9
List out descriptor set bindings and contents in vulkan pipeline state
2016-02-07 18:39:34 +01:00
baldurk
426aeb5a5e
Keep track of current descriptor set bindings on replay
2016-02-07 18:39:33 +01:00
baldurk
26f773684a
Track enough while READING to set drawcall topology/index width
2016-02-07 18:39:32 +01:00
baldurk
2eb87b804f
Giant hack to set up 'fake' device/instance dispatch tables, for replay
2016-02-07 18:39:31 +01:00
baldurk
9b0b6ef3b6
Get compiling on win32 (hacks, not final code).
2016-02-07 18:39:30 +01:00
GregF
5c8df903ef
Revert "Use layer specific dispatch table maps"
...
This reverts commit b445ecdaa2a7ae26b468439dbb0b79ad5f1fb78f.
2016-02-07 18:39:29 +01:00
GregF
a8dfd36525
Use layer specific dispatch table maps
2016-02-07 18:39:28 +01:00
GregF
e3f4a122fc
Fixes to enable capture of cube with layer mechanism.
2016-02-07 18:39:28 +01:00
GregF
872a312af0
Use Vulkan layer to generate trace file
2016-02-07 18:39:27 +01:00
baldurk
45d7b488d4
Typo fix - set handle to handle
2016-02-07 18:39:26 +01:00
baldurk
0bc36096f8
Track descriptor set updates and serialise out as initial states
2016-02-07 18:39:25 +01:00