baldurk
a3fa84dbce
Convert over mesh rendering and fix it up for GL while I'm at it
2016-07-22 01:12:29 +02:00
baldurk
2fe0ffe9fc
Convert some more shaders
2016-07-21 23:44:37 +02:00
baldurk
96d98fa5d7
Start using common shaders for some GL shaders
2016-07-21 23:25:01 +02:00
baldurk
28645937db
Use utility function for #version, #extension hoisting, "#includes", etc
2016-07-21 22:33:43 +02:00
baldurk
9e786f258c
Make internal vulkan shaders compatible with GL with a few #ifdefs
2016-07-21 19:11:33 +02:00
baldurk
a9f5f84a76
Fix narrowing warning for VkImageBlit taking int32_ts
2016-07-21 18:58:57 +02:00
baldurk
f492ddab27
Add missing handling of uscaled and sscaled formats
2016-07-21 16:06:10 +02:00
baldurk
b6e55cc8d5
Perform blit instead of copy to allow for swizzling to backbuffer fmt
2016-07-21 14:53:44 +02:00
baldurk
5958e7cc24
Calculate max formatted float size given current settings as col width
...
* The default (and previous) width of 100 is a little larger than the
calculation ends up being for default float formatting values.
2016-07-21 14:01:15 +02:00
baldurk
7923ad15a8
Fix exponential float formatter to properly use min/max figures
...
* Previously it was treating maxfigures as the required length of the
fractional part, so you'd get a lot of pointless 0s. it should be the
number of significant figures, so we pretty much reuse the non-exp
formatter.
2016-07-21 13:58:21 +02:00
baldurk
f5c5618650
Fix copy-paste errors in shift operations, always shifting by .x
2016-07-21 12:09:00 +02:00
baldurk
6b32d6a4a2
Fix check for unknown DXGI format
2016-07-21 09:56:53 +02:00
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