Commit Graph

1765 Commits

Author SHA1 Message Date
baldurk ba58a53684 Temporary hack - don't create GLXWindow outside and pass in
* I'll need to see if it's possible to do GL-side replay if I'm just
  passed an xlib Window.
2016-02-07 18:38:07 +01:00
baldurk d1d01c2401 Set window as window. Duhhh 2016-02-07 18:38:06 +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 12b0de281d make sure to fully initialis eserialised image memory barrier structs 2016-02-07 18:38:02 +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 7146f59b71 Set arrays to NULL if their serialised count is 0 2016-02-07 18:37:58 +01:00
baldurk 67432fbde6 attachment bind info isn't POD, can't serialise as POD array 2016-02-07 18:37:57 +01:00
baldurk a27e319fac NULL out optional objects if they're not present 2016-02-07 18:37:57 +01:00
baldurk 38c2803389 SerialiseObject must use MakeRes to get type info 2016-02-07 18:37:56 +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 eac80ae429 set resolveAttachments to NULL in case there are no resolves 2016-02-07 18:37:54 +01:00
baldurk 53fe4bec2c Make sure to set arrays to NULL explicitly so they are allocated 2016-02-07 18:37:53 +01:00
baldurk ad5276b390 set immutable samplers array to NULL if there are none 2016-02-07 18:37:52 +01:00
baldurk 8cb5066422 serialise renderpass create info properly 2016-02-07 18:37:52 +01:00
baldurk 0c7eeac16d Try recording & applying image transitions 2016-02-07 18:37:51 +01:00
baldurk 31367ac379 Add some transition debug logging, and allow arraySize=0 to mean =1 2016-02-07 18:37:50 +01:00
baldurk 30a504217b serialise out swapchain image info and create fake images on replay 2016-02-07 18:37:49 +01:00
baldurk da75a145a0 serialise missing sType/pNext 2016-02-07 18:37:48 +01:00
baldurk 9edc9bb167 Add util function to identify depth stencil formats 2016-02-07 18:37:47 +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 6d2beec3ef handle WSI enum 2016-02-07 18:37:45 +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 75c62479d9 Temporary hack until vk_hooks_linux.cpp is replaced - populate func ptrs 2016-02-07 18:37:42 +01:00
baldurk ab482edcc1 Hack for linux loading vulkan dynamic lib 2016-02-07 18:37:41 +01:00
baldurk fa621c61b2 Serialise out command pools 2016-02-07 18:37:40 +01:00
baldurk 0004a70984 Serialise layers enabled in device create info 2016-02-07 18:37:39 +01:00
baldurk ec309b553f Serialise through sType, and make sure pNext is set/asserted to NULL 2016-02-07 18:37:38 +01:00
baldurk d6cc100d83 Serialise flags fields as strongly typed enums where possible. 2016-02-07 18:37:37 +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 af416b9022 Add in a super ultra hack because demo programs are using xcb 2016-02-07 18:37:34 +01:00
baldurk 245dccd7ba Don't destroy a callback we didn't create 2016-02-07 18:37:33 +01:00
baldurk 0e8c24031a Fix assert on struct type 2016-02-07 18:37:32 +01:00
baldurk ff0ed61ba3 Fix loop conditions to be actually a condition 2016-02-07 18:37:31 +01:00
baldurk aab20b239e Hook & handle device and instance GetProcAddr functions 2016-02-07 18:37:30 +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