baldurk
82faf93a27
Fetch and store array stride with each constant block variable
2016-02-07 18:50:27 +01:00
baldurk
a37f9d5242
Add proper image layout transitions for CmdClearColorImage
...
* Images must be in VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
2016-02-07 18:50:26 +01:00
baldurk
078bd67bec
Add a heavy weight global memory barrier around frame restart
...
* This is reaaaally conservative, but will avoid bugs.
2016-02-07 18:50:26 +01:00
baldurk
9fc96e398a
Handle basePipelineIndex correctly (-1 means don't use it)
2016-02-07 18:50:25 +01:00
baldurk
73818e2f87
Explicitly NULL and ignore parts of descriptor writes that aren't used
2016-02-07 18:50:24 +01:00
baldurk
9eed8ff6be
Add workaround for current sdk-0.10 loader
2016-02-07 18:50:23 +01:00
baldurk
397f313336
Never mark samplers as write referenced
2016-02-07 18:50:22 +01:00
baldurk
f05b32afae
Slightly improve automagic pass markers
2016-02-07 18:50:21 +01:00
baldurk
b4237f900c
Set readwrite/readonly parameters more accurately
2016-02-07 18:50:20 +01:00
baldurk
49a821a7b3
Handle disassembling arrays and unknown ops in parameter to vector shuf
2016-02-07 18:50:20 +01:00
baldurk
83c2ecd77c
Check sampled on images before indirecting to the base type.
2016-02-07 18:50:19 +01:00
baldurk
b80ea399a3
DbgCreateMsgCallback doesn't need wrapping
...
* When validation layers & RenderDoc play nicely together, then we can
just create our own callback for serialising any debug messages.
2016-02-07 18:50:18 +01:00
baldurk
6efabefb43
Better handling of pipeline cache data
...
* On get we return valid but basically empty caches.
* We prevent any caches making it to the driver.
* Also our UUID is a bit more sane, it's "rdocTIMESTAMP" instead of
just random numbers. Still not going to clash and still unique every
run to prevent valid apps from trying to reuse a cache.
* This is better as VK_INCOMPLETE is actually the wrong error code to be
returning.
2016-02-07 18:50:17 +01:00
baldurk
c915f80675
Hopefully proper extension handling now for WSI extensions too
2016-02-07 18:50:16 +01:00
baldurk
3999dcdf73
Make sure device and queue are referenced as they're required on replay
...
* Helps with niche corner cases like empty frames with just a present.
Without this, the queue isn't included and we get crashes on replay.
2016-02-07 18:50:15 +01:00
baldurk
2107b2fe55
Handle push/pop markers when inserting via queuesubmit
...
* This allows push/pop regions to cross command buffers, as long as they
are submitted in the right order etc.
2016-02-07 18:50:14 +01:00
baldurk
69409f9ea4
Properly unwrap parameters to vkResetCommandPool
2016-02-07 18:50:13 +01:00
baldurk
5b2806f573
Add check for vulkan
2016-02-07 18:50:13 +01:00
baldurk
e22d62dabd
Add formatting of complex buffers when opening viewer
2016-02-07 18:50:12 +01:00
baldurk
a41104bbd0
Display/report compute resources correctly
2016-02-07 18:50:11 +01:00
baldurk
d98a9ef4ae
SPIR-V should fill out read only and read write resources separately
2016-02-07 18:50:10 +01:00
baldurk
85858da14d
Use the right slot number for opening constant buffers
2016-02-07 18:50:09 +01:00
baldurk
8e089a8768
Mark dispatches as drawcalls and fixes for CS pipeline state
2016-02-07 18:50:08 +01:00
baldurk
f93f5c8d89
Disassemble SSBOs separately from UBOs in SPIR-V
2016-02-07 18:50:07 +01:00
baldurk
a06bd1de5e
Fix for not replaying individual dispatch properly.
2016-02-07 18:50:06 +01:00
baldurk
6959d45d44
Tweak resource usage menu to group things a little more aggressively
2016-02-07 18:50:06 +01:00
baldurk
c8436d3646
Implement resource usage tracking
2016-02-07 18:50:05 +01:00
baldurk
c746957fb2
linux compile fixes
2016-02-07 18:50:04 +01:00
baldurk
55f866bfd5
Add hook skip checks for AMD's and Intel's dlls
...
* Although it's not been a problem until now like NV's, best to be safe
rather than sorry!
2016-02-07 18:50:03 +01:00
baldurk
43c9782d44
Delete unused variable
2016-02-07 18:50:02 +01:00
baldurk
8eac6d9265
Remove rule for .spvo in Makefile that isn't used anymore
2016-02-07 18:50:01 +01:00
baldurk
19e30f3bdc
Update json name to linux Makefile-generated json file
2016-02-07 18:50:00 +01:00
baldurk
de082c5c9f
Update build scripts and distribution to package json and layer regkey
2016-02-07 18:50:00 +01:00
baldurk
258e08f740
Add a UI to prompt the user to install the vulkan implicit layer
...
* I don't like the fact that it doesn't "just work" but this is mostly
limited by design decisions on the side of the vulkan loader.
* There is no good way with the loader to say 'please also include this
layer in the enumerated lists'. There is an all-or-nothing override of
layer searching, but that would break any layers the application might
actually rely on.
* On balance I've decided to go with this method, as it's a one-off
interruption for the user (unless someone is constantly switching
between installs).
2016-02-07 18:49:59 +01:00
baldurk
514967ccd2
Win32 compile fixes (and some replay proxy fixups)
2016-02-07 18:49:58 +01:00
baldurk
9ac8c365ee
Refactor env var handling, to handle layer as implicit
2016-02-07 18:49:57 +01:00
baldurk
1398b9fb56
Rejig extension handling and implement VK_LUNARG_DEBUG_MARKER support
...
* The WSI extensions should probably route through this method too
2016-02-07 18:49:56 +01:00
baldurk
52afa614c8
No longer true I think
2016-02-07 18:49:55 +01:00
baldurk
31502b0186
Drawcall timings now mostly supported
2016-02-07 18:49:54 +01:00
baldurk
e1a37d4616
Reorganise hierarchy so that vkQueueSubmit is just labels
...
* Rather than explicitly having vkQueueSubmit as a node with command
buffer children, and those with the contents, we now inline everything
and just add labels at beginning and end.
* Also tweaked slightly the fake pass algorithm to handle labels being
present and merging a bit more aggressively to merge adjacent command
buffers that are doing the same pass.
2016-02-07 18:49:53 +01:00
baldurk
24f9f487c2
Track state during reading on per-cmd buffer basis
...
* The command buffer chunks can be interleaved so we can't track just
using the one render state.
2016-02-07 18:49:52 +01:00
baldurk
ee175febb8
Add initialisers for a couple of missing things in pipeline state
2016-02-07 18:49:52 +01:00
baldurk
b4fb266af9
Generate linux json from windows json, to avoid having two files
...
* The linux json file has a different name but this isn't important.
Currently I'm not sure how the json/lib will be placed (will it be
installed somewhere and the json point at /opt/renderdoc/ or what?)
2016-02-07 18:49:51 +01:00
baldurk
bb2394183c
Add ability to re-record all cmd buffers (for whole-frame timing)
2016-02-07 18:49:50 +01:00
baldurk
8134642812
Let drawcall callbacks specify that all cmd buffers should be re-done
2016-02-07 18:49:49 +01:00
baldurk
4814c58ab8
Rename *Partial* funcs to Rerecord, as it won't be just partial
...
* When doing a full-frame counter record, we will rerecord every command
buffer.
2016-02-07 18:49:48 +01:00
baldurk
251a9773c2
remove min/max event IDs from FetchCounters - always times whole frame
2016-02-07 18:49:47 +01:00
baldurk
8cf39364f5
Set outputs/depthOut values in FetchDrawcalls
2016-02-07 18:49:46 +01:00
baldurk
0a4957320d
Implement GPU counters via timestamp query pools
2016-02-07 18:49:45 +01:00
baldurk
b024786cc2
When doing a partial replay of a subsection, explicitly jump to each EID
...
* The reason being that the actual recorded events are interleaved with
others (either on the queue or the cmd buffer), so we have to skip
over those. The events are duplicated where they are inserted by EID
and refer to the original offsets.
2016-02-07 18:49:44 +01:00