Commit Graph
9266 Commits
Author SHA1 Message Date
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