Commit Graph

1980 Commits

Author SHA1 Message Date
baldurk af09dbb648 Switch keyboard handling to xcb (WIP, needs to be cleaned before merge) 2016-02-07 18:41:10 +01:00
baldurk 38a34db5ca Don't assert pNext == NULL, some apps seem to pass (invalid?) structs 2016-02-07 18:41:09 +01:00
baldurk 6188720537 print chunk sizes 2016-02-07 18:41:08 +01:00
baldurk ddaf962dde Serialise multiple flushes, not just the first
* typo - copied from unmap condition where we don't serialise anything
  on unmap if there was a flush
2016-02-07 18:41:07 +01:00
baldurk 857f20d164 Mark memory records as dirty (for now - buffers shouldn't dirty at all) 2016-02-07 18:41:06 +01:00
baldurk ac764b4170 Don't try and use wrapped image from transition on replay 2016-02-07 18:41:06 +01:00
baldurk 402819b5c7 Use original ID when returning pipeline state to replay 2016-02-07 18:41:05 +01:00
baldurk 3a8e6a9557 Don't refuse to bail out if a command buffer is in progress anymore 2016-02-07 18:41:04 +01:00
baldurk fe414dfc9c Only reset debug text on indent level 0 2016-02-07 18:41:03 +01:00
baldurk 34da5158cf Rename "Command Buffer Start" to "Render Pass Start" 2016-02-07 18:41:02 +01:00
baldurk 2ccc98a73c AddDrawcall for a few draw type functions 2016-02-07 18:41:01 +01:00
baldurk aec46fad49 Give virtual command buffer submit event a good name 2016-02-07 18:41:00 +01:00
baldurk 4b5a55aaa9 fix using eventCount to fetch current EID 2016-02-07 18:41:00 +01:00
baldurk 37afa05847 Mark fence used for queue submission as read 2016-02-07 18:40:59 +01:00
baldurk a71c929538 Fix fetching IDs for recording transitions 2016-02-07 18:40:58 +01:00
baldurk 5525a767a6 Don't forcibly disjoint all cmd buffers and sort to the start
* I misunderstood how descriptor sets were used - they are allowed to be
  dereferenced anywhere between cmd buffer record time and when
  execution finishes. I thought they were only ever dereferenced during
  exec. So it means we must preserve cmd buffer ordering vs. queue
  submit and descriptor update. We still want to force cmd buffers into
  the start of the frame that were recorded pre-frame though.
2016-02-07 18:40:57 +01:00
baldurk c76466626c Do something about initial state for un-written descriptor sets 2016-02-07 18:40:56 +01:00
baldurk ac3ec846a8 Ignore any serialised images states for images that aren't in replay 2016-02-07 18:40:55 +01:00
baldurk 60c206d4e1 Remove some overzealous unwrapping 2016-02-07 18:40:55 +01:00
baldurk 4c070023dc Framebuffers should depend on the renderpass 2016-02-07 18:40:54 +01:00
baldurk b6c7a406c1 Add first-pass implementation of vkFlushMappedMemoryRanges
* Assuming that if we hit a flush, then on unmap we don't need to
  serialise everything. This assumption might not hold in general
2016-02-07 18:40:53 +01:00
baldurk 2cfa89ee18 Don't delete cmd buffer records until we've flushed to disk 2016-02-07 18:40:52 +01:00
baldurk 611905894e Add fence functions and a FlushMappedMemory that just prints for now 2016-02-07 18:40:51 +01:00
baldurk 45fc32614a Remove pipeline cache as it is optional and causes duplicate wrappers
* The same ICD in the SDK just returns '1' as the handle for all caches.
* This could be valid behaviour (not for caches but for other objects)
  so need to check where this could happen and handle it. We already do
  for queues, physical devices, and a couple of others.
2016-02-07 18:40:50 +01:00
baldurk 38b2158c7b Simplify linux include paths to just depend on $VULKAN_SDK 2016-02-07 18:40:49 +01:00
baldurk cb9d65b7c8 Add LoaderAndTools patch to work with wrapped objects 2016-02-07 18:40:49 +01:00
baldurk 0b4a34a442 Swap 'real' object for a <type,obj> pair, to avoid duplicate handles
* If an implementation returns 1 as a handle for both an image and
  buffer we must be able to differentiate and not clash the wrappers.
2016-02-07 18:40:48 +01:00
baldurk 1f4a368de7 Rename trace layer exported functions to avoid ambiguity
* I ran into a problem where &vkGetInstanceProcAddr etc were returning
  the loader functions and inducing an infinite loop. I'm not sure it's
  defined which is returned, since librenderdoc.so also links against
  the loader for replay, so instead we take advantage of being able to
  define RenderDocGetInstanceProcAddr and have that loaded up by the
  loader.
2016-02-07 18:40:47 +01:00
baldurk 1f16739ee4 Change VK_LAYER_DIRS environment varibale to VK_LAYER_PATH 2016-02-07 18:40:46 +01:00
baldurk d2e4db052c Remove requirements for dma and maybe compute on device queues
* Compute will be needed later, DMA not at all (as a hard requirement).
2016-02-07 18:40:45 +01:00
baldurk 66934cd875 Add clean step for vulkan driver 2016-02-07 18:40:44 +01:00
baldurk 20f4b4b7fb Include version.h from tracelayer to get version numbers 2016-02-07 18:40:44 +01:00
baldurk e211e25b9a Don't define VK_PROTOTYPES, we fetch all functions via dispatch or GPA 2016-02-07 18:40:43 +01:00
baldurk 26b8ff197b Split out vk_core.cpp into a few files for (mildly) better organisation
* No changes to any of the functions in this - purely re-organisation
  and moving of code.
2016-02-07 18:40:42 +01:00
baldurk 0154a8bd21 Copy renderdoc.json to output folder, unify layer name/description 2016-02-07 18:40:41 +01:00
baldurk 940b89cd73 Move capture layer into librenderdoc.so on linux 2016-02-07 18:40:40 +01:00
baldurk 08ff1b40cb Move dispatch table handling internal, remove LoaderAndTools code 2016-02-07 18:40:39 +01:00
baldurk 19de6b1d16 Rename rdtrace.cpp -> vk_tracelayer.cpp, remove vk_hooks_*.cpp 2016-02-07 18:40:38 +01:00
baldurk 99071776e6 Move layer dispatch table stuff to vk_common.h 2016-02-07 18:40:38 +01:00
baldurk 81b7cf3b85 Fix shutdown/release process 2016-02-07 18:40:37 +01:00
baldurk 23ffd5df1b Command buffers should go through ReleaseWrappedResource 2016-02-07 18:40:36 +01:00
baldurk 89c4676f9c Get wrapper from info structure unwrapped resource 2016-02-07 18:40:35 +01:00
baldurk 7486dcf4fe Use correct object for dispatching 2016-02-07 18:40:34 +01:00
baldurk b951c37fcf Wrap the fake backbuffer image view 2016-02-07 18:40:33 +01:00
baldurk 879dd422b5 Change descriptor set order back 2016-02-07 18:40:33 +01:00
baldurk 9bef542fc6 Fix typo - force initial states for real device memory 2016-02-07 18:40:32 +01:00
baldurk b4c00d9a7c Destroy instance through correct dispatch table 2016-02-07 18:40:31 +01:00
baldurk 98bfdd82db Fix in-application text rendering 2016-02-07 18:40:30 +01:00
baldurk 6a904ba032 Add a rather gross hack to get replay queues in advance and wrap later 2016-02-07 18:40:29 +01:00
baldurk 4db95cfe0c Add some missing wrap/unwraps 2016-02-07 18:40:28 +01:00