Commit Graph
50 Commits
Author SHA1 Message Date
baldurk 6926cba989 Add command buffers under queue submit (eventIDs muddled atm) 2016-02-07 18:38:41 +01:00
baldurk 051470e616 Add drawcalls under a vkBeginCommandBuffer 2016-02-07 18:38:40 +01:00
baldurk b416b8c0f9 Fix for linux build and use SerialiseComplexArray where possible 2016-02-07 18:38:38 +01:00
baldurk ac0e87ce6a categorise VKTODO into low/med/high in rough priority order 2016-02-07 18:38:37 +01:00
baldurk 5e627f6a81 Compile fixes for windows
* Even though nothing runs on windows, it's better for doing some
  refactoring.
2016-02-07 18:38:36 +01:00
baldurk 6697ce2d95 device memory initial state support. Don't intercept non-frame maps 2016-02-07 18:38:35 +01:00
baldurk 00a2a7e3ae Remove log statement 2016-02-07 18:38:34 +01:00
baldurk 9d630e05c2 Add hopefully proper frame reference marking. Also cmd buffers in-frame 2016-02-07 18:38:34 +01:00
baldurk bf0e12a497 Move most objects to their own resource records, ditch m_DeviceRecord
* It's mostly a legacy concept anyway. m_InstanceRecord is kept for a
  couple of things - physical devices and devices and always ref'd.
2016-02-07 18:38:32 +01:00
baldurk 20942a7a5f Remove old half-converted functions. They'll bitrot so better to rewrite 2016-02-07 18:38:31 +01:00
baldurk 26c0a4d2bf Store instance parameters in VkInitParams 2016-02-07 18:38:29 +01:00
baldurk eb57f46940 Don't need to add actual record as parent, just baked commands 2016-02-07 18:38:28 +01:00
baldurk 49ce06d72a Only record maps the first couple of times, or when capturing
* Note - for proper behaviour this now needs dirtying & initial states.
2016-02-07 18:38:28 +01:00
baldurk e901e91cfa Make sure context-type chunks are only recorded when capturing 2016-02-07 18:38:27 +01:00
baldurk 63a486ad2d remove todo that's no longer relevant 2016-02-07 18:38:26 +01:00
baldurk 77fd0635c6 remove VKTODO that's been done 2016-02-07 18:38:25 +01:00
baldurk 801f31d79c Select current physical device at capture time as well 2016-02-07 18:38:23 +01:00
baldurk 4e32103b53 As temp hack, clear backbuffer to magent before replaying
* This is mostly just so we can see writes happening or not.
2016-02-07 18:38:22 +01:00
baldurk 2962764bac Make sure to correctly identify the physical device to use 2016-02-07 18:38:19 +01:00
baldurk 2c34df1e64 implement vkCmdBindVertexBuffers and vkFreeDescriptorSets 2016-02-07 18:38:17 +01:00
baldurk 1b6c7d6c65 Properly init dbg callback on replay 2016-02-07 18:38:16 +01:00
baldurk 406e06d943 ultra hack to propogate WSI extensions on replay 2016-02-07 18:38:11 +01:00
baldurk dadf0a969f Add semaphore functions to hooking 2016-02-07 18:38:09 +01:00
baldurk cdc6a66bea Set fake back buffer image info by live ID, and set memory used 2016-02-07 18:38:07 +01:00
baldurk 84472deeb2 Use m_SwapChainInfo[] to get backbuffer image at end of frame 2016-02-07 18:38:05 +01:00
baldurk 5a6b65e215 Make sure vkCmdPipelineBarrier is passed array of pointers 2016-02-07 18:38:04 +01:00
baldurk 2b4762c3c5 Register the memory and image created for fake swap images 2016-02-07 18:38:03 +01:00
baldurk 0ea599359d Give vkBeginCommandBuffer a begin info struct 2016-02-07 18:38:02 +01:00
baldurk 780c2e59bc create command pool & command buffer for our own uses 2016-02-07 18:38:01 +01:00
baldurk c80c3d0118 CreateInitialContents is needed for serialisation matching 2016-02-07 18:38:00 +01:00
baldurk 254f6cc7e1 Make sure to bind image memory for fake backbuffers 2016-02-07 18:37:59 +01:00
baldurk c31fad9570 shaders add parents on shadermodules, pipelines on shaders & cache
* This is needed since these can objects be deleted afterwards.
2016-02-07 18:37:55 +01:00
baldurk 0c7eeac16d Try recording & applying image transitions 2016-02-07 18:37:51 +01:00
baldurk 30a504217b serialise out swapchain image info and create fake images on replay 2016-02-07 18:37:49 +01:00
baldurk b3766dfebf Hook Get*MemoryRequirements functions 2016-02-07 18:37:47 +01:00
baldurk 228babc714 process pipeline barrier chunk 2016-02-07 18:37:46 +01:00
baldurk f8a44d0b12 Handle create swap chain and get swap chain info chunks 2016-02-07 18:37:44 +01:00
baldurk 3ceca5572b Skip creating initial contents on replay for now 2016-02-07 18:37:43 +01:00
baldurk 1edc110139 Rejig creation of instance/physical devices on replay.
* In future maaaaybe this should happen in Initialise(). Not sure. If we
  can assume the vkCreateInstance is the first chunk then maybe not?
2016-02-07 18:37:42 +01:00
baldurk fa621c61b2 Serialise out command pools 2016-02-07 18:37:40 +01:00
baldurk 727b1cac7d Since we're mapping while idle (for now), need to unmap while idle too. 2016-02-07 18:37:36 +01:00
baldurk 5c4593edfc When a map is for size 0, map the whole allocation 2016-02-07 18:37:36 +01:00
baldurk 3706f4084b Add a bunch of ugly hacks to prevent initial states being needed 2016-02-07 18:37:35 +01:00
baldurk 245dccd7ba Don't destroy a callback we didn't create 2016-02-07 18:37:33 +01:00
baldurk 18f16ea43f Fix assert condition 2016-02-07 18:37:30 +01:00
baldurk 82a84ea6f0 Serialise out a chunk and create resource record for swap images 2016-02-07 18:37:29 +01:00
baldurk c1adf143c8 Need to fixup our own command buffer for our purposes 2016-02-07 18:37:28 +01:00
baldurk ecab81f9b2 Don't create debug message callback if we don't have it 2016-02-07 18:37:27 +01:00
baldurk 3c0a69d6e1 Support the right WSI extension name 2016-02-07 18:37:26 +01:00
baldurk 497f6176e7 Add vulkan driver based on mantle work, with linux hooks based on GL 2016-02-07 18:37:25 +01:00