baldurk
d7bec406db
Fix hidden variable warning
2016-07-20 20:28:56 +02:00
baldurk
7f2d86b31d
[Coverity] Fix some more uninitialised values/members
2016-07-20 18:42:12 +02:00
baldurk
fce07e9a8f
[Coverity] Check return value on GetData
2016-07-20 18:42:11 +02:00
baldurk
331bd3fc69
[Coverity] Add bounds checking to #line processing in disassembly
2016-07-20 18:42:10 +02:00
baldurk
e8e1b34d26
[Coverity] Remove some dodgy code to iterate shader stages
2016-07-20 18:42:10 +02:00
baldurk
0f6bc31b2c
[Coverity] Only pass arrays to *TexParameter* functions
2016-07-20 18:42:08 +02:00
baldurk
2e04fdaf3e
[Coverity] Cast wchar_t up to uint32_t so processing is consistent
...
* On windows where it's 2-bytes, coverity was complaining that it can't
match some of the ifs (not unreasonably, without the bigger picture)
2016-07-20 18:42:07 +02:00
baldurk
ab22b05021
[Coverity] Match up array delete to array new
2016-07-20 18:42:07 +02:00
baldurk
95b7642612
[Coverity] Fix mis-matched enum comparisons
2016-07-20 18:42:06 +02:00
baldurk
b1d917b52b
[Coverity] Fix some enum-enum casting, by going via int.
2016-07-20 18:42:05 +02:00
baldurk
95b18e25f5
[Coverity] Annotate or fix some error-plus-fall-through switch defaults
2016-07-20 18:42:05 +02:00
baldurk
e016a45ba8
[Coverity] Remove unneeded if check before exit
2016-07-20 18:42:00 +02:00
baldurk
49dc420e9b
[Coverity] Remove float * parameter for cbuffer data, change to void *
2016-07-20 18:41:46 +02:00
baldurk
7638684146
[Coverity] Fix some NULL dereferences that should be checked
2016-07-20 17:18:14 +02:00
baldurk
a3f61d0680
[Coverity] Add paranoia protection around left-shift in double printing
2016-07-20 16:58:52 +02:00
baldurk
6545625874
[Coverity] Fix a bunch of partially-initialised structure warnings
2016-07-20 16:45:06 +02:00
baldurk
240bdc3156
[Coverity] Catch any C++ exceptions from cmdline and just bail instantly
2016-07-20 16:15:40 +02:00
baldurk
e81895b060
[Coverity] Remove use of rand() now SetFrameEvent takes 'bool force'
...
* I honestly can't figure out how to tell Coverity that rand() use isn't
a security flaw, but it's on longer needed so...
2016-07-20 16:01:48 +02:00
baldurk
b3e192bdb6
Always perform barrier for depth image even if it's not pipeline-bound
2016-07-20 15:24:37 +02:00
baldurk
31fb9dbaec
Create fake backbuffer in the same format always - RGBA8_SRGB
2016-07-20 15:24:17 +02:00
baldurk
aea036c34c
Implement multi-draw indirect support for vulkan
2016-07-20 14:09:56 +02:00
baldurk
e04dc8897f
Fix VS2015 warning about variable shadowing
2016-07-19 21:00:58 +02:00
baldurk
bde21b0c73
Render custom shaders at the selected mip level. Refs #302
2016-07-19 20:40:11 +02:00
baldurk
81c8f1f77e
Prefix GL uniforms with 'uniform'. Refs #302
2016-07-19 19:19:57 +02:00
baldurk
a923ea615d
If we're doing a range partial replay, just skip work in vkExecCommands
2016-07-19 18:44:03 +02:00
baldurk
eece61fe0b
Implement proper accurate sRGB conversion, instead of pow(2.2) approx
2016-07-19 17:38:58 +02:00
baldurk
36700ec4ab
Partially replay vkCmdExecuteCommands, same as vkQueueSubmit. Refs #204
2016-07-19 17:38:35 +02:00
baldurk
cc04fa33a9
Begin handling partial replay of both primary and secondary cmd buffers
2016-07-19 12:41:21 +02:00
baldurk
24b644b8e3
Warning fix - don't reuse 'count' variable which could be confusing
2016-07-18 19:39:38 +02:00
baldurk
8b8663531a
Switch text pipeline depending on backbuffer format
2016-07-18 19:19:23 +02:00
baldurk
5a64a78d2a
Add multiple-frame capture, grabbing N successive frames to captures
...
* In-application API is bumped to 1.1.0 as a new function pointer is
added to the end of the structure.
* This comes with some caveats - capturing a frame is fairly heavy
weight, so capturing a frame might throw off timing-related bugs you
are trying to capture in subsequent frames. If you know your bug is
every other frame though, capturing two can be a quick way to ensure
you get it.
2016-07-18 18:51:36 +02:00
baldurk
1e10f34e1d
Include cmake with linux dependencies
2016-07-18 18:18:10 +02:00
baldurk
0e43b3916e
Fake only supporting a single queue family type (the most capable one)
2016-07-18 18:17:16 +02:00
baldurk
7ab314d1a6
Add explicit casts int -> uint32_t for array/mip
2016-07-15 14:45:25 +02:00
baldurk
c59ce564cc
Fetch compute descriptor sets properly for vulkan
2016-07-15 14:23:29 +02:00
baldurk
9cb37bfb4f
Add to HORRIBLE UGLY HACKY CODE to make sure barrier pips have outlines
2016-07-15 14:17:45 +02:00
baldurk
949f2df9f4
Add more info to assert
2016-07-15 14:12:42 +02:00
baldurk
f00a0a8a5e
Keep image initial states as buffers in CPU memory, copy from there
...
* This is potentially slightly less optimal as it means the initial
states aren't in GPU memory for a faster copy, but it means we're much
less likely to hit OOM due to way more GPU allocs, and it's still
pretty fast.
* Further optimisation is possible by reducing the number of images that
actually either need initial states at all (detect when images are
first used to clear via a renderpass), or by detecting images that are
frame invariant and we only have initial states for immutable contents
and avoid copying them more than once.
2016-07-15 13:26:42 +02:00
baldurk
48cd7143d7
Track descriptor sets per-cmd-buffer while reading
...
* This lets the usage actually have the right descriptor sets to check
against.
* It was lost as a result of a bad fix after copy-pasting removed the
previous read-time tracking.
2016-07-15 13:24:33 +02:00
baldurk
3be0d6d1de
Fix mistaken memory leak tidy up
...
* Sort of confused false positive - some pipeline SPIR-V blobs were
leaking but it was because they weren't being cached when they should
have, not because saving the shader cache doesn't destroy its blobs.
2016-07-15 12:39:42 +02:00
baldurk
f353d852f9
Don't hook into nvidia's opencl driver, it uses wglGetProcAddress
2016-07-15 00:11:46 +02:00
baldurk
80bdfe6058
Fix errors and leaks found by valgrind on linux replay host
...
* These are some leaks, some mismatched new/deletes and some uninit'd
values. Mostly the leaks are what we care about so that the replay
host can be kept alive for a long time rather than needing to be
constantly restarted.
* Also added a valgrind suppression file to suppress some of the false
positives I ran into while testing.
2016-07-14 20:37:32 +02:00
baldurk
a7eca41a81
Fix 32-bit compile error
2016-07-14 20:32:48 +02:00
baldurk
95e00d58bf
Add SIGINT signal handler on linux to cleanly shutdown replay host
2016-07-13 17:55:47 +02:00
baldurk
0c55e9374c
For platforms printing to stdout/stderr, skip debug msgs & long prefix
2016-07-13 17:55:21 +02:00
baldurk
13a6c98143
Handle duplicate semaphores (mesa returns all handles as 0x1 atm)
2016-07-13 17:07:16 +02:00
baldurk
edf553137c
Create all proxy depth textures as depth-bindable and typeless
2016-07-13 16:49:30 +02:00
baldurk
a7dc5f207f
Size readback buffer for initial states based on what we need
...
* No need to base readback buffer on image memory requirements which
could be packed tighter than our requirements for readback (e.g. depth
and stencil combined formats)
2016-07-13 16:49:10 +02:00
baldurk
bf707845d1
Fix readback copying of depth-stencil images
2016-07-13 16:46:50 +02:00
baldurk
d4e78f785c
Fix stencil pixel picking - it comes back as uint32, not float
2016-07-13 15:53:15 +02:00