Commit Graph

2228 Commits

Author SHA1 Message Date
baldurk 97527d273d Add memory creation info 2016-02-07 18:44:50 +01:00
baldurk a87587e91f Memory no longer needs to be dirty from creation, tracking correctly now 2016-02-07 18:44:49 +01:00
baldurk 518a86b4a4 Remove hack to propogate frame references to memory, track them properly
* This takes advantage of immutable non-sparse object memory bindings.
* Currently this will treat images the same as buffers, as read-only
  containers with memory still being the onlything that is dirtied and
  needs initial contents, but has some of the code needed for proper
  separate image initial state/dirty tracking.
2016-02-07 18:44:48 +01:00
baldurk abe9696973 Reduce debug-print spam for dirty resources 2016-02-07 18:44:47 +01:00
baldurk da447ba5d9 Fixes for coherent persistent maps and multiple frame capture 2016-02-07 18:44:46 +01:00
baldurk 0d66a78105 only flush pending dirty resources while idle 2016-02-07 18:44:45 +01:00
baldurk 198ab2b714 Check descriptor sets are in range when iterating layout, warn otherwise 2016-02-07 18:44:44 +01:00
baldurk 24ad3356dd Deserialise fix - make sure scoping doesn't delete data we need 2016-02-07 18:44:43 +01:00
baldurk 25c5de8c85 Make sure resource records are deleted as most specific type
* Don't need to use a virtual destructor as the information is already
  in the templated resource manager
2016-02-07 18:44:42 +01:00
baldurk 63e0cc3f39 Use correct uniform buffer alignment instead of hardcoded 256 2016-02-07 18:44:42 +01:00
baldurk c54b17284c Remove some VKTODOs 2016-02-07 18:44:41 +01:00
baldurk 4211cd7359 Remove VKTODOs that aren't needed anymore 2016-02-07 18:44:40 +01:00
baldurk 900d65b770 Refactor out start/end frame capture from present code 2016-02-07 18:44:39 +01:00
baldurk c1959102c8 Rename GenericPipeline to HighlightBoxPipeline as it uses line lists 2016-02-07 18:44:38 +01:00
baldurk 67d97f4a10 Change text rendering back to instanced triangle strips 2016-02-07 18:44:37 +01:00
baldurk ed70b4b58e Remove VKTODO - image layout no longer part of framebuffer attachment 2016-02-07 18:44:36 +01:00
baldurk fa5bc912de Tweak handling of sType/pNext. Currently not much to do 2016-02-07 18:44:35 +01:00
baldurk 78106d4efd Vulkan frame captures can't fail (will always have map/cmd list ready) 2016-02-07 18:44:35 +01:00
baldurk eee443ec78 Update a couple of VKTODOs 2016-02-07 18:44:34 +01:00
baldurk 0da2d93304 Clean up instance/device/queue handling and init & shutdown order 2016-02-07 18:44:33 +01:00
baldurk 5b6717042b Start tidying up init/shutdown order and instance/physdevice/device code 2016-02-07 18:44:32 +01:00
baldurk d38741e9ab Create a WrappedVulkan per VkInstance and indirect to find it in layer 2016-02-07 18:44:31 +01:00
baldurk 24aa8b3daf Remove singleton from VulkanResourceManager, pass it where needed 2016-02-07 18:44:30 +01:00
baldurk 66416cc2d9 Remove replay information union - doesn't seem like we'll use it 2016-02-07 18:44:29 +01:00
baldurk 0cd6d00b86 Fix for Deserialise - don't modify serialised struct 2016-02-07 18:44:28 +01:00
baldurk 29b78d3620 Use swapchain from present call, if it's available 2016-02-07 18:44:27 +01:00
baldurk f9b69b1002 QRenderDoc: Fetch texid to display correctly for Present() calls 2016-02-07 18:44:26 +01:00
baldurk 5363a6b9d2 Linux compile fixes 2016-02-07 18:44:26 +01:00
baldurk 6641c534ce Comment out BGRA channel swizzle 2016-02-07 18:44:25 +01:00
baldurk 1117c2760d Fix wrong loop 2016-02-07 18:44:24 +01:00
baldurk 49ef739761 Remove a VKTODO that's done 2016-02-07 18:44:23 +01:00
baldurk cc904d9a4a Remove some TODOs that aren't needed 2016-02-07 18:44:22 +01:00
baldurk e1977a14f8 Add outputMask/inputMask to replay transitions from AMD 0.2.3 testing 2016-02-07 18:44:21 +01:00
baldurk 3c2f72e0ef For now, set image view channel swizzle to match BGRA formats
* This should go away soon as there's an identity swizzle coming
2016-02-07 18:44:20 +01:00
baldurk b2b8822dfa Add outputmask to text atlas memory barrier 2016-02-07 18:44:19 +01:00
baldurk cc7647b990 Add global memory barrier after init state application 2016-02-07 18:44:18 +01:00
baldurk 6a82c8639d Make sure images always have the transfer dest usage bit 2016-02-07 18:44:17 +01:00
baldurk 944bad84b9 Set a compatible renderpass on graphics pipeline creation 2016-02-07 18:44:17 +01:00
baldurk b03a1df2fe Fix CmdUpdateBuffer to handle ring-buffering of UBO.. 2016-02-07 18:44:16 +01:00
baldurk 6ec36d6695 Implement drawcall highlight and wireframe texture overlays 2016-02-07 18:44:15 +01:00
baldurk b41e8edfae Move TLS initialisation to constructor so it's available on replay too 2016-02-07 18:44:14 +01:00
baldurk a122385c89 Check for and enable needed physical device features 2016-02-07 18:44:13 +01:00
baldurk 08876581f7 Add some extra pipeline data to creation info struct 2016-02-07 18:44:12 +01:00
baldurk 30c30ca807 Make sure to init creation info for replay-time object creation 2016-02-07 18:44:11 +01:00
baldurk 07777e0e41 Add partial handling for doing WithoutDraw/OnlyDraw log replays
* WithoutDraw still assumes it's replaying from the start. I'm not sure
  if it's worth handling WithoutDraw from an arbitrary point. Might move
  the only use of that (InitPostVSBuffers for a whole pass) into the
  driver for implementation, it would be easier.
2016-02-07 18:44:10 +01:00
baldurk fb65217a10 Do overlay render (for now just fixed colour) 2016-02-07 18:44:10 +01:00
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