Commit Graph

2156 Commits

Author SHA1 Message Date
baldurk b319929f39 Make sure swapchain images are given TRANSFER_SOURCE usage 2016-02-07 18:43:45 +01:00
baldurk 8f91342f33 Check memory requirements for buffers when preparing initial state 2016-02-07 18:43:44 +01:00
baldurk 1068288a17 Remove some outdated VKTODOs 2016-02-07 18:43:43 +01:00
baldurk 6a208e608c Add vulkan pipeline state to replay proxy serialising 2016-02-07 18:43:42 +01:00
baldurk 2e08ef8ef5 32-bit compile warning fix 2016-02-07 18:43:41 +01:00
baldurk ad59636cde Clarify that there are leaks on capture and replay 2016-02-07 18:43:40 +01:00
baldurk b1b6e29162 Free memory for initial states, and our own command pool 2016-02-07 18:43:39 +01:00
baldurk a9bf0a2538 Destroy debug manager and serialiser on shutdown 2016-02-07 18:43:38 +01:00
baldurk 347cd67354 Make sure to delete buffers after use 2016-02-07 18:43:37 +01:00
baldurk 7a63e824cc Make sure images always have SAMPLED and TRANSFER_SOURCE usage bits 2016-02-07 18:43:37 +01:00
baldurk 963986b9e9 Do swapchain resizing properly and re-enable thumbnails (working now?!) 2016-02-07 18:43:36 +01:00
baldurk 4336722e34 Tidy up FetchTexture data for vulkan, fill out all fields properly 2016-02-07 18:43:35 +01:00
baldurk 313f53a820 Remove stored fake backbuffer data, display backbuffer on present calls 2016-02-07 18:43:34 +01:00
baldurk 19a13eefee Allow multiple frame capture 2016-02-07 18:43:33 +01:00
baldurk e841bd9969 Implement proper pixel picking via RenderTexture & F32 readback 2016-02-07 18:43:32 +01:00
baldurk 4ebbf09364 Get replay to display textures in gamma-correct fashion 2016-02-07 18:43:31 +01:00
baldurk 64be44bf8b Fix mip display of textures 2016-02-07 18:43:30 +01:00
baldurk feec902280 Implement remaining API functions
* Some functions, particularly synchronisation related event/fence
  functions, are mostly untested and likely don't work yet.
2016-02-07 18:43:29 +01:00
baldurk b3d06da6a0 Implement more Cmd functions. CmdExecuteCommands is stubbed out 2016-02-07 18:43:28 +01:00
baldurk f6b6104977 Implement a few more API entry points, some are stubbed out 2016-02-07 18:43:28 +01:00
baldurk 5e624d0f58 Add current release notes 2016-02-07 18:43:27 +01:00
baldurk 9cc52ebc7e Windows compile fix - header declare Deserialise template functions
* MSVC generates multiply defined symbols otherwise.
2016-02-07 18:43:26 +01:00
baldurk 2b5fe533e7 Remove VKTODO for Deserialise - completed by @greg-lunarg 2016-02-07 18:43:25 +01:00
GregF 38ebce536e Finish move to Deserialise function; remove Deserialise class 2016-02-07 18:43:24 +01:00
GregF c3553d26a9 Create Deserialize function to eventually replace Deserialise class 2016-02-07 18:43:23 +01:00
GregF 7cab194395 add Deserialise code for latest vulkan header/sdk 2016-02-07 18:43:22 +01:00
GregF 494af5a9f4 Add Deserialise support for object created with SerialiseBuffer. 2016-02-07 18:43:21 +01:00
GregF cf1b3a2aa5 Add Deserialise support for objects created with SerialisePODArray. 2016-02-07 18:43:20 +01:00
GregF ad77fc2c5d fix vulkan header name changes from cherry-pick. 2016-02-07 18:43:20 +01:00
GregF d1a80c6657 Add Deserialise support for all objects created with SerialiseComplexArray
and SerialiseOptionalObject.
2016-02-07 18:43:19 +01:00
GregF 17fb1deb84 Add Deserialise for VkDescriptorSetLayoutCreateInfo. 2016-02-07 18:43:18 +01:00
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