baldurk
074eab464f
Update to latest header (2016-05-07) with VK_EXT_debug_marker extension
2016-05-07 09:59:10 +02:00
baldurk
6437137aba
[Coverity] Fix uninitialised members in replay API structures
2016-05-06 23:15:42 +02:00
baldurk
2486936742
Remove assert that fires often when descriptor sets are unbound
2016-05-05 16:15:31 +02:00
baldurk
5361654bbf
Add problems noticed during reading to debug messages list
2016-05-05 16:15:31 +02:00
baldurk
38cb1d796a
Use the right (updated during reading) set of descriptor sets
2016-05-05 16:11:43 +02:00
baldurk
396e31850a
Get the proper filename for windows callstacks (currently unused)
2016-05-05 15:44:21 +02:00
baldurk
188779e298
Add debug message catching & serialising to all relevent chunks
...
* i.e. any chunk that could actually become an EID and where we can get
the debug messages before serialising (which excludes vkUnmapMemory)
2016-05-05 15:44:21 +02:00
baldurk
d200af4995
Re-arrange draw functions so draw, dispatch, copy, clear are together
2016-05-05 15:44:20 +02:00
baldurk
6d73a12118
Rearrange some code for tidiness
2016-05-05 15:44:20 +02:00
baldurk
774340edf5
Save debug messages per-call in per-thread storage and serialise out
...
* In each entry point we declare a local variable that stays in scope
while we call the real function, in the report callback we fill it up
with any messages, then when serialising that function we save those
messages and on replay restore it out and filter it all back up.
2016-05-05 15:44:19 +02:00
baldurk
b3114bd21d
Modify vkCreateInstance requested extensions to add DEBUG_REPORT
...
* This only happens if we have DebugDeviceMode enabled, but it lets us
listen to anything the validation layers report.
2016-05-05 12:45:22 +02:00
baldurk
c1651e6362
Process capture options when first setting env vars for vulkan
2016-05-04 22:11:53 +02:00
baldurk
274dbcd4ef
Remove unnecessary double-calls of OnLogfileLoaded(). Refs #267
2016-05-04 21:52:31 +02:00
baldurk
abca888524
Make sure to add WSI extensions needed for replay - app may not use WSI
2016-05-04 21:00:21 +02:00
baldurk
75b2f9e8a0
Make sure there's a log line at minimum whenever an API is initialised
2016-05-03 22:52:15 +02:00
baldurk
4f61d27821
Don't advance attribs pointer until after checking for profile bit
2016-05-03 00:34:01 +02:00
baldurk
cda850ea51
Ensure frame counter has sane values even if Present() isn't called
...
* This means when someone has no swapchain and is doing off-screen
rendering, the frame number won't just stick at 0, but it will at
least be 1 for the first capture, 2 for the second, etc.
2016-05-02 00:51:00 +02:00
baldurk
d98c29b1d5
[Coverity] Fix some duplicate defects that I didn't notice
2016-05-01 15:24:39 +02:00
baldurk
faa385647d
[Coverity] Fix some possible NULL-pointer dereferences
2016-05-01 14:40:02 +02:00
baldurk
40fef75750
[Coverity] Rejig converted argv/argc into vector<string> to free memory
2016-05-01 14:37:50 +02:00
baldurk
bdee617d80
[Coverity] Fix some resource leaks
2016-05-01 14:37:28 +02:00
baldurk
e2d2ff80e3
[Coverity] Fix mismatched size (bytes vs. wchars)
2016-05-01 14:27:51 +02:00
baldurk
2d3c79c86e
[Coverity] Fix resource leaks in pdblocate
2016-05-01 14:27:13 +02:00
baldurk
855c7179b7
Only filter & print debug messages on read
2016-04-30 17:18:46 +02:00
baldurk
7ad5f66671
If debug mode is enabled on vulkan, try and create debug report callback
2016-04-30 17:18:46 +02:00
baldurk
73b97148ce
Expand the vulkan env var callback to enable validation layers
2016-04-30 17:18:45 +02:00
baldurk
20625eeeba
Add a LibraryHooks callback when capture options are changed
2016-04-30 17:18:45 +02:00
baldurk
9dfb8a0cb5
Print name when extension spec versions mismatch
2016-04-30 17:18:44 +02:00
baldurk
10ba54e1fd
Allow setting environment variables with modifications added at runtime
2016-04-30 17:18:44 +02:00
baldurk
375747654d
Replace LoadVulkanLibrary() with an extern const char *VulkanLibraryName
2016-04-30 17:18:43 +02:00
baldurk
0929923e9d
Prevent float divide by zero error if average framerate isn't set
2016-04-29 22:33:44 +02:00
baldurk
6bd906ac2b
Update installed registry key to latest version number after an update
2016-04-28 21:54:10 +02:00
baldurk
6884fc6c2f
Demote a log to just debug
2016-04-28 20:42:33 +02:00
baldurk
3d69ece39a
Display custom glObjectLabel for shaders, programs and pipeline
2016-04-27 23:18:56 +02:00
baldurk
05f1b2344c
Compile fix for x64
2016-04-27 22:54:51 +02:00
baldurk
32114f947f
When saving textures, update the filename if type changes and vice-versa
2016-04-27 22:51:59 +02:00
baldurk
31b892b2b7
Strip validation layers out on replay (even if the app used them)
2016-04-27 20:55:58 +02:00
baldurk
b1570a32c0
Linux compile fix
2016-04-27 08:39:38 +02:00
baldurk
176a4f8ddf
Filter out unsupported vulkan ICD extensions before they reach the user
2016-04-26 23:02:44 +02:00
baldurk
c329fb0770
Update to vulkan header version 11
2016-04-26 23:02:44 +02:00
baldurk
e9bd02dd74
Remove some fatal errors that don't really need to be fatal
2016-04-26 23:02:43 +02:00
Baldur Karlsson
ecb22d5fdc
Merge pull request #256 from michaelkvance/more-stats
...
Add additional sections of API covered in statistics.
2016-04-26 12:36:23 +02:00
Baldur Karlsson
f08b237a27
Merge pull request #261 from neilogd/master
...
Fix for #259
2016-04-26 12:21:33 +02:00
Neil Richardson
2d4b8ebd6d
OpenGL: m_CreatingContext is left as true, causing subsequent CreateContextAttribs to fail if one fails.
2016-04-26 20:10:32 +10:00
baldurk
766ab41663
Don't call GetByteSize() if format is unknown, just assume 1 byte
2016-04-26 08:37:52 +02:00
baldurk
09238f515f
Make things less Fatal if GetByteSize() is called with unknown format
2016-04-26 08:37:40 +02:00
baldurk
8af9ee634c
Handle VK_WHOLE_SIZE in vkFlushMappedMemoryRanges
2016-04-26 08:17:01 +02:00
baldurk
cdd7ab2487
Compile fix for official release builds. Didn't show up in nightlies!
v0.28
2016-04-25 23:40:31 +02:00
baldurk
c6145ff2db
Check both the return value and the value in VkPresentInfoKHR struct
2016-04-25 19:11:42 +02:00
Michael Vance
04936f08a9
Add additional sections of API covered in statistics.
...
Notes
======
- Added statistics recording for shader sets, blend state sets, depth/stencil state sets, rasterization state sets, and output merger/UAV sets.
- Some muddling of things like UAVs into the outputs set... additional "null" sets will be recorded and things, will clean that up in a future change.
- Added missing CS SRV set to the resources statistics.
- Added GetFrameStats() helper to simplify some prolog boilerplate.
- Hoist some of the histogram code out into a helper method, also hoist out the API summary to try to clean that messiness up.
- Change how the API call numbers are calculated--it's now just the API calls as distinct from draw/dispatches. Additionally the ratio is gainst the "pure" API call number, not with draws/dispatches included.
TODO
======
- Figure out where the missing ~4k API calls are in my game captures vs the numbers I'm seeing.
2016-04-25 13:08:17 -04:00