Commit Graph

2166 Commits

Author SHA1 Message Date
baldurk 04a2e2ad2a Add (slightly hacky) clearing of init contents after capture
* This eliminates most of the leaking on capture - other than this it's
  mostly the leaking serialisation which isn't a huge deal (this could
  be ~900MB-1GB a capture.
2016-02-07 18:43:54 +01:00
baldurk ff26fabc7f Batch up internal queue submits with multiple cmd buffers
* Also avoids a couple of unnecessary QueueWaitIdle CPU-GPU syncs
2016-02-07 18:43:53 +01:00
baldurk b12ef92da7 Cache image views created for displaying images 2016-02-07 18:43:52 +01:00
baldurk 2770e424ca Mark that swapchain resizing works and doesn't crash anymore 2016-02-07 18:43:51 +01:00
baldurk e35f8acd7a Mark that SRGB correctness is mostly done 2016-02-07 18:43:50 +01:00
baldurk 70b1d241b0 Finish the vulkan pipeline display 2016-02-07 18:43:49 +01:00
baldurk e838f0841d Fill out dynamic state with pipeline state values, if not set as dynamic 2016-02-07 18:43:48 +01:00
baldurk 2907d1a309 Implement IsRenderOutput now that we have a pipeline state 2016-02-07 18:43:47 +01:00
baldurk 9d3202ae5f Don't conflict between C# UI and replay output flipping pixel context 2016-02-07 18:43:46 +01:00
baldurk 91ac384736 Make sure we always do BindOutputWindow/FlipOutputWindow pairs of work 2016-02-07 18:43:46 +01:00
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