baldurk
d081efe65c
GetLiveHandle / GetCurrentHandle should return wrapped object
2016-02-07 18:40:24 +01:00
baldurk
2559907c17
Resource tidy up isn't practical while writing as device is already dead
2016-02-07 18:40:23 +01:00
baldurk
2f8530b10b
Tidy up destruction so all resources and records are deleted by shutdown
...
* This is assuming the app tidies up after itself - not sure if that's
guaranteed or not.
2016-02-07 18:40:22 +01:00
baldurk
1abe5c2c0d
Handle releasing a NULL resource
2016-02-07 18:40:22 +01:00
baldurk
9260bfd0be
Don't double-delete now that ReleaseWrappedResource does it all
2016-02-07 18:40:21 +01:00
baldurk
fe9f89cb47
Only mark resources as frame referenced when actually frame capturing
2016-02-07 18:40:20 +01:00
baldurk
9aacd2ed5b
Release baked commands when destroying command buffer
2016-02-07 18:40:19 +01:00
baldurk
c1eecb28f0
Don't serialise initial states for debug-only objects
2016-02-07 18:40:18 +01:00
baldurk
4af3d1c00c
Unwrap swapchain present info structure
2016-02-07 18:40:17 +01:00
baldurk
ae0aef85c2
Fix small bugs
2016-02-07 18:40:16 +01:00
baldurk
7ba885fddd
Use parent object when wrapping to fetch dispatch table
...
* The created object's dispatch table pointer is only valid after it
gets back to the loader - after our layer has run. So at create time
it's invalid, we just look to the parent which has the same value.
2016-02-07 18:40:15 +01:00
baldurk
f3da5478fc
Copy and unwrap any structures that contain object handles
2016-02-07 18:40:15 +01:00
baldurk
4254f54d92
Fix some more wrapping/unwrapping issues
2016-02-07 18:40:14 +01:00
GregF
4816bcfa7b
use layer specific dispatch table maps
2016-02-07 18:40:13 +01:00
baldurk
bc2dca08ba
Fix linux compile issues with some temporaries
2016-02-07 18:40:12 +01:00
baldurk
a00688a86a
Add a little utility function so that code can get IDs from real objects
2016-02-07 18:40:11 +01:00
baldurk
a6626ab31b
Debug and replay properly wrapping and unwrapping everything
2016-02-07 18:40:10 +01:00
baldurk
3522ce25d5
Put 'real' handle into tiny struct similar to one in vulkan.h
...
* This lets us have a more type-safe 'generic vulkan handle' struct, and
we can give that to the resource manager when specifying what type
we're wrapping.
2016-02-07 18:40:09 +01:00
baldurk
9dfcf7826b
Fix 32-bit build
2016-02-07 18:40:08 +01:00
baldurk
725847e636
Move WrapResource in-place util function to manager
...
* This way code that wants to wrap resources (ie. replay/debug code)
doesn't have to depend on the driver.
2016-02-07 18:40:08 +01:00
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