Commit Graph

2182 Commits

Author SHA1 Message Date
baldurk 4b33e0957d Ring buffer tex display descriptor sets, so multiple images can be drawn
* Otherwise the UpdateDescriptorSet for the second render overwrites the
  descriptor for the first render without a sync&flush in between.
2016-02-07 18:44:09 +01:00
baldurk 11ce77e8cd Ring buffer UBO updates to avoid needing to flush after each use
* Make each UBO N times larger, and map subsets of them in ring-buffer
  fashion. Use dynamic offsets to specify the right subset.
2016-02-07 18:44:08 +01:00
baldurk 23142d9be2 Do any ResetCommandBuffer inside GetNextCmd() 2016-02-07 18:44:07 +01:00
baldurk c8d78b9f38 Tidy up some VKTODOs in texture display code 2016-02-07 18:44:06 +01:00
baldurk b389a4b349 Fix outline strip vertex buffer 2016-02-07 18:44:05 +01:00
baldurk fb910e1137 Set cube flag properly 2016-02-07 18:44:04 +01:00
baldurk db3c50a5ec Use live ID instead of original ID to index maps like creation info etc 2016-02-07 18:44:03 +01:00
baldurk c50fd9af9b Memory leaks in replay UI seem to be gone... 2016-02-07 18:44:02 +01:00
baldurk 3f466bc2cb Slightly better/more 'correct' event synchronisation handling 2016-02-07 18:44:02 +01:00
baldurk 5bce6cf75b Split m_ImageInfo into creationinfo and just imagelayouts
* In future perhaps the imagelayouts could be stored under the record in
  capture, but need to handle that somehow in the resource manager
  functions that manipulate the states based on accumulated transitions.
2016-02-07 18:44:01 +01:00
baldurk 9fb9b59c32 Move m_MemoryInfo to m_CurrentMaps and ensure correct locking 2016-02-07 18:44:00 +01:00
baldurk 98808226bb Split cmdbuffer data into stuff under resource record, and replay state 2016-02-07 18:43:59 +01:00
baldurk deea8362db Move object names to creation info, rename replay side maps for clarity 2016-02-07 18:43:58 +01:00
baldurk 0ff8501561 Move swapchain info either under resource record or into creationinfo 2016-02-07 18:43:57 +01:00
baldurk 1f42e54145 Move shadermodule/shaderinfo into creationinfo, which is replay-only 2016-02-07 18:43:56 +01:00
baldurk d253335f3e Minor cleanup and gather all the global maps together, for refactoring 2016-02-07 18:43:55 +01:00
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