Commit Graph

2125 Commits

Author SHA1 Message Date
GregF 33ca020012 Add Deserialise class to deallocate nested Vulkan structs
Currently deallocating VkDeviceCreateInfo and VkPipelineLayoutCreateInfo.
Still more to be done.
2016-02-07 18:43:17 +01:00
baldurk 8b7744e71c Handle descriptor pools deleting their children implicitly on destroy 2016-02-07 18:43:16 +01:00
baldurk b28428cdf1 Don't try and index into a descriptor set or binding that doesn't exist
* This can happen with unused binds - I think it's valid for a bind in a
  shader to index outside of the descriptor set as long as it's never
  used.
2016-02-07 18:43:15 +01:00
baldurk 2b9c3118a5 Fix null deref becaues of incorrect error print 2016-02-07 18:43:14 +01:00
baldurk 2c0751c338 Change texdisplay.frag shader to be work with LunarG intel icd compiler 2016-02-07 18:43:13 +01:00
baldurk 1fd3d4ba29 Handle buffer or image ending up as VK_NULL_HANDLE in memory barriers 2016-02-07 18:43:13 +01:00
baldurk 2686ad698c Mark queue as referenced when submitting through it 2016-02-07 18:43:12 +01:00
baldurk e958b9925c Demote logs to debug prints 2016-02-07 18:43:11 +01:00
baldurk 307052b467 For now, persistent maps are ones that have been going for many frames 2016-02-07 18:43:10 +01:00
baldurk ac0f1c6540 Only put memory binds into frame capture record if they're not the first 2016-02-07 18:43:09 +01:00
baldurk 08a63f2c0b Serialise image layout in CmdCopyBufferToImage properly 2016-02-07 18:43:08 +01:00
baldurk 31274c7c1c Make sure going between WRITING_IDLE and WRITING_CAPFRAME is atomic
* This fixes a bug we had before, where we'd go into CAPFRAME then do a
  bunch of work before clearing the frame record.
* The threading around this probably needs more careful thought - e.g.
  the snapshotting and chunk insertion on end capture.
2016-02-07 18:43:07 +01:00
baldurk 18bcd75db7 Fix LogicalNot vs LogicalNotEqual 2016-02-07 18:43:06 +01:00
baldurk 0c55322abf Allow sType to be wrong for VkDeviceQueueCreateInfo for now
* Dota passes 0 (APPLICATION_INFO) - presumably it's init'd with {0}
  and the code doesn't set it properly yet as it's new.
2016-02-07 18:43:05 +01:00
baldurk b72858b42f Check image aspect mask by & not by == 2016-02-07 18:43:05 +01:00
baldurk e645728300 Make sure to serialise extensibility members in VkDeviceQueueCreateInfo 2016-02-07 18:43:04 +01:00
baldurk 9bbfa2a55f Add todo about fetching dynamic state from either pipeline or dynamic 2016-02-07 18:43:03 +01:00
baldurk 731c37b6c4 Check the right buffer resource object for different descriptor types 2016-02-07 18:43:02 +01:00
baldurk ca79cfecb6 Don't try and wait on semaphores on replay
* We don't track & restore semaphore signalled/unsignalled state on
  replay, so it's not valid anyway. Just be conservative and wait for
  idle.
2016-02-07 18:43:01 +01:00
baldurk ee1460dcaa Update C# vulkan pipeline state structs to match 2016-02-07 18:43:00 +01:00
baldurk 915f0b0b6c Initialise dynamic state values to empty state 2016-02-07 18:42:59 +01:00
baldurk 1bc3b77406 Verify that DbgCreateMsgCallback is present before calling it 2016-02-07 18:42:58 +01:00
baldurk 5bb2e23182 Add InitInstanceReplayTables() to fetch Dbg*MsgCallback functions 2016-02-07 18:42:58 +01:00
baldurk bd2f518343 Set correct usage bits on output window backbuffer images 2016-02-07 18:42:57 +01:00
baldurk 40343a9414 Change VK_IMAGE_ASPECT_COLOR to COLOR_BIT in image aspect masks 2016-02-07 18:42:56 +01:00
baldurk b0d7501364 Linux compile fixes 2016-02-07 18:42:55 +01:00
baldurk b2bc46913c Remove eRes*State enums 2016-02-07 18:42:54 +01:00
baldurk 685f48a55f remove references to $VULKAN_SDK_SRC, delete not-needed loader patch 2016-02-07 18:42:53 +01:00
baldurk c4c002703e Update SPIR-V disassembly for rev 32 2016-02-07 18:42:52 +01:00
baldurk 758ff74df6 Update DLL filename 2016-02-07 18:42:51 +01:00
baldurk d7d766e21a Restore VkResult return value to vkAllocDescriptorSets 2016-02-07 18:42:50 +01:00
baldurk d2c725040f Handle viewports or scissors pointers being NULL 2016-02-07 18:42:49 +01:00
baldurk b46d68d6d7 Update layer code 2016-02-07 18:42:49 +01:00
baldurk 67ca741534 Fix any struct initialisers that weren't up to date 2016-02-07 18:42:48 +01:00
baldurk 2d681a50c8 Update some missed/typoed/newly added struct members or enums 2016-02-07 18:42:47 +01:00
baldurk a6fb1e2577 Reorder CmdDraw parameters 2016-02-07 18:42:46 +01:00
baldurk d48fb6ece4 Update WSI to new extension. Also misc structs, functions and enums 2016-02-07 18:42:45 +01:00
baldurk 304367b028 Change include paths from <vulkan/...> to just <...>
* This is inconsistent between windows and linux - on linux it's vulkan/
  but on windows the files are just in the Include folder.
* For final ship, we may well in-line the header in our own source tree
  as we do with GL, since it might even be custom-built.
2016-02-07 18:42:44 +01:00
baldurk a214e9bdec Remove dynamic state objects 2016-02-07 18:42:43 +01:00
baldurk a05faed555 Remove VkAttachmentView 2016-02-07 18:42:42 +01:00
baldurk 070db79410 Remove VkAttachmentBindInfo 2016-02-07 18:42:41 +01:00
baldurk f67ad0e14a Change include folder to $VK_SDK_PATH/include, #include by <vulkan/...> 2016-02-07 18:42:40 +01:00
baldurk bfde61a7aa Handled duplicated semaphore objects in a hacky way. 2016-02-07 18:42:39 +01:00
baldurk ff6b5faa70 Linux compile fixes 2016-02-07 18:42:38 +01:00
baldurk ac44765bd7 Implement highlight box rendering 2016-02-07 18:42:37 +01:00
baldurk fe99dcdbe7 Implement vkCmdUpdateBuffer wrapping 2016-02-07 18:42:36 +01:00
baldurk 40bb7ce0d9 Assign a random pipeline UUID so that applications provide SPIR-V 2016-02-07 18:42:36 +01:00
baldurk 76a50c2469 Add simple hacked-in environment variable settings for win32 vk layers 2016-02-07 18:42:35 +01:00
baldurk 31e47925b3 Need to completely disable GL hook if dll isn't loaded as layer 2016-02-07 18:42:34 +01:00
baldurk 27aec9b277 Add thread-local temp memory pool for storing temp unwrapped structs
* Avoids needing to do lots of small allocations
2016-02-07 18:42:33 +01:00