Commit Graph

2464 Commits

Author SHA1 Message Date
baldurk 95a64071fb Fixes for new handle types (opaque pointers). Note, 32-bit is broken. 2016-02-07 18:48:19 +01:00
baldurk 0e75bafdb1 Fix topology enums 2016-02-07 18:48:18 +01:00
baldurk 428968152b Update resource format functions (VkFormat <-> ResourceFormat) 2016-02-07 18:48:17 +01:00
baldurk cdaffe0698 Remove WrappedVkShader 2016-02-07 18:48:17 +01:00
baldurk a72b32eb23 Rename VkCmdPool -> VkCommandPool 2016-02-07 18:48:16 +01:00
baldurk 75a31f9f09 Rename VkCmdBuffer -> VkCommandBuffer 2016-02-07 18:48:15 +01:00
baldurk 50195131cc Fix up deserialise functions (delete/cleanup allocated arrays on replay) 2016-02-07 18:48:14 +01:00
baldurk 8cc0c10a00 Start updating vk_common Serialise() functions - Part 2: structs 2016-02-07 18:48:13 +01:00
baldurk 4147c30206 Start updating vk_common Serialise() functions - Part 1: enums/bitfields 2016-02-07 18:48:12 +01:00
baldurk 865ad8431d Update #include statements 2016-02-07 18:48:11 +01:00
baldurk 506abdb2d6 For 1.0 we'll only display API events on command buffers 2016-02-07 18:48:10 +01:00
baldurk 930e013c9f Separate out vulkan current state values to separate proper structure
* This lets us remove a hack for mesh output readback that replays a
  single drawcall with different index count by setting a magic number.
2016-02-07 18:48:09 +01:00
baldurk 521ec84b8b Add pipeline export to HTML for vulkan 2016-02-07 18:48:08 +01:00
baldurk e2f9cffb3d Fix recording image barriers from non-baked command info 2016-02-07 18:48:08 +01:00
baldurk 787776f5d3 Fix error firing when printing array constants 2016-02-07 18:48:07 +01:00
baldurk f417cf91ac Draw highlight box with rect clears, remove pipeline, strip VBO, etc 2016-02-07 18:48:06 +01:00
baldurk 60af596280 Implement texture saving via GetTextureData() 2016-02-07 18:48:05 +01:00
baldurk c19a0588b9 Fetch physical device format properties 2016-02-07 18:48:04 +01:00
baldurk 276099d55a Fix SPIR-V disassembly of variable declarations inside control flow 2016-02-07 18:48:03 +01:00
baldurk 984de2f57d Don't unwrap objects being passed to our own functions 2016-02-07 18:48:02 +01:00
baldurk 1348e1a193 Vertex ID isn't dense 0-based, need to rebase and have sparse VB
* This isn't ideal, but compared to streamout/xfb we don't have a
  practical way to do dense output, so need to hope that indices are
  mostly clustered and don't cause too many problems.
2016-02-07 18:48:01 +01:00
baldurk 80efe190b3 Only release buffers/memory that is not already NULL 2016-02-07 18:48:01 +01:00
baldurk c06aeebd3a Crash fix for non-indexed meshes 2016-02-07 18:48:00 +01:00
baldurk 3c8fe0e44a Add notes about where we'd need to handle queue resource sharing
* This won't be handled until after 1.0 (since that's when we'll support
  multiple queue families, etc.
2016-02-07 18:47:59 +01:00
baldurk acb38757cd Add error if flushing an unmapped region of memory 2016-02-07 18:47:58 +01:00
baldurk fa1520bc13 Follow the spec strictly - only coherent memory is 'implicitly flushed'
* Technically coherent memory isn't implicitly flushed either, but this
  is handling is required if memory is mapped, written to, and unmapped
  without ever hitting a QueueSubmit where we will check any current
  coherent map, and treat it as persistent to flush it out.
2016-02-07 18:47:57 +01:00
baldurk 5bb4b0dc13 Mapped memory offsets don't have to be aligned at all
* The guarantee is that the base pointer (ie. returned pointer minus
  offset) is aligned to some value.
2016-02-07 18:47:56 +01:00
baldurk 3b9f4da65a Store resource record length field as uint64_t instead of int32_t 2016-02-07 18:47:55 +01:00
baldurk 04467206cb pool counts seem to be reasonable - remove TODO 2016-02-07 18:47:54 +01:00
baldurk f2d123a0e6 mark VKTODOs to do with GPU/device portability as such
* These won't get addressed before 1.0
2016-02-07 18:47:54 +01:00
baldurk e8ded0d785 Initial state aspect handling incorrectness is much less severe now 2016-02-07 18:47:53 +01:00
baldurk 75a2a4257b Remove VKTODO notes, not needed anymore 2016-02-07 18:47:52 +01:00
baldurk 9bd7ed9d61 Improve text reporting for render pass load/store operations 2016-02-07 18:47:51 +01:00
baldurk 88d7cb4ef1 Add VectorTimesMatrix to disassembly 2016-02-07 18:47:50 +01:00
baldurk cf92126d7c Update mesh output note in future work 2016-02-07 18:47:49 +01:00
baldurk a72ea00210 Free PostVS data on shutdown 2016-02-07 18:47:48 +01:00
baldurk 09f8564c4d Add message if side-effects features aren't available 2016-02-07 18:47:48 +01:00
baldurk fcb822b021 Update release notes - mesh output data is now available! 2016-02-07 18:47:47 +01:00
baldurk e03d5b01c2 Get right number of components for RGB formats 2016-02-07 18:47:46 +01:00
baldurk 48a03ae21f Only fetch the PostVS data needed for this draw, not the whole buffer
* For instanced draws where there are many instance and each instance is
  a lot, this saves fetching a *ton* of redundant data.
2016-02-07 18:47:45 +01:00
baldurk 793d2690c4 Be more aggressive with null'ing/disposing old data, to garbage collect 2016-02-07 18:47:44 +01:00
baldurk 0b17197d79 Do buffer readbacks in vulkan replay with multiple copies
* We allocate a single fixed-sized buffer up front, and then whenever we
  need to readback we copy chunks into it and read them back one at a
  time. This trades off doing single copies (and so fewer GPU syncs)
  against having massive GPU buffer allocations.
2016-02-07 18:47:43 +01:00
baldurk ac575d355d Avoid unnecessary copies/temporaries when returning buffer data 2016-02-07 18:47:42 +01:00
baldurk 0992c05ab9 Fix leaking memory in byte[] marshalling case 2016-02-07 18:47:41 +01:00
baldurk 7af71c60ad Fetch per-instance vertex output data 2016-02-07 18:47:40 +01:00
baldurk 88bb62bde8 Mark instanced draws as instanced 2016-02-07 18:47:40 +01:00
baldurk eabf1969c5 Add some utility functions for dumping/grabbing a file
* I keep rewriting these for debugging all over the place
2016-02-07 18:47:39 +01:00
baldurk abcb20794e Discard negative guessed near planes 2016-02-07 18:47:38 +01:00
baldurk 382031ea01 Ditch ShouldSkipOutput - not needed. Access array parameters properly 2016-02-07 18:47:37 +01:00
baldurk 4f784b07d5 Handle array outputs in SPIR-V, add array index to signature parameter 2016-02-07 18:47:36 +01:00