Commit Graph
5754 Commits
Author SHA1 Message Date
baldurk a0f9b8a6a1 Don't check if texture is our overlay to decode heatmap
* This will fail when proxying for remote replay as we have no locally-rendered
  overlay. Instead ensure the overlay in the config will only be set to quad
  overdraw/triangle size when rendering the actual overlay texture.
2018-11-30 15:21:16 +00:00
baldurk 7fb16bf797 Android seems to have broken descriptor set copies, disable
* We take the push descriptor path which replaces it with writes, which works
  for any descriptor set as we know the current contents.
2018-11-29 18:05:48 +00:00
baldurk 884c6bd706 Ensure we set a properly typed depth format for MSAA <-> 2D Array copies 2018-11-28 21:40:09 +00:00
baldurk 262a8fab9e Don't call GetGPUVirtualAddress for non-buffer resources 2018-11-28 21:39:19 +00:00
baldurk 31deed61c5 Add missing vkCmdEndRenderPass in triangle size overlay 2018-11-28 20:37:49 +00:00
baldurk 6aec91eea4 Account for implicit renderpass barriers when partially replaying 2018-11-28 20:37:49 +00:00
baldurk 3e3a9570d1 Fetch implicit barriers for CmdEndRenderPass before resetting state 2018-11-28 20:37:49 +00:00
baldurk 8f51493b66 If no enabled features struct was passed, we need to insert our own 2018-11-28 20:37:49 +00:00
baldurk 7f533b6b29 Refresh window parameters on SwapBuffers as well as MakeCurrent
* There's no guarantee that MakeCurrent will always be called after a resize,
  the same context could be activated then left active.
2018-11-28 20:37:49 +00:00
baldurk 57f4e4bf16 Fix VERBOSE_DEBUG_HOOK to compile properly when enabled 2018-11-28 15:23:29 +00:00
baldurk fa1c701cdf Fix DXGI driver version identification 2018-11-28 00:22:57 +00:00
baldurk 8a6f32e384 Work around broken instance being passed to GetInstanceProcAddr 2018-11-27 17:33:40 +00:00
baldurk ae895cd2ba Make sure primitive topology is set when doing CopyTex2DMSToArray 2018-11-26 23:43:18 +00:00
baldurk 27c49d5272 Tweak code that was confusing gcc 2018-11-26 18:53:00 +00:00
baldurk edae196981 Allow through ID3D11VideoDevice* if nvapi is allowed by the application
* These interfaces are needed by nvencode
2018-11-26 18:12:49 +00:00
baldurk 8209b2be46 vulkan json on windows is located adjacent to renderdoc.dll, not exe
* This means the json is still located if we're not running this code from
  qrenderdoc.exe or renderdoccmd.exe
2018-11-26 16:39:00 +00:00
baldurk 26511c546c Make RENDERDOC_NeedVulkanLayerRegistration feasible to call from python 2018-11-26 16:39:00 +00:00
baldurk 8ed9670601 Add way to query for driver version info without replaying.
* This lets us print what driver is available without opening a capture, useful
  for autotest logging.
* We also print the driver version & vendor on capture as well as replay for all
  APIs. Previously we were only printing this reliably on replay for GL/Vulkan
  but it's useful everywhere for post-mortem debugging.
2018-11-26 16:39:00 +00:00
baldurk f75b5e235e Change verify map writes capture option to verify buffer access.
* This option will now toggle on the behaviour to fill undefined buffer contents
  with a marker value, both if they're created without data (it will be zero
  filled instead) or mapped with discard (it will keep the old contents
  instead).
* There were too many hard to find problems or misconceptions about the buffer
  filling for it to be useful. Now it will be opt-in instead.
2018-11-23 11:25:39 +00:00
baldurk 667d40382b If window is zero-sized, still bind & clear to black 2018-11-22 19:40:36 +00:00
baldurk ffd24c04d4 Fix memory leak with D3D11 device not being released by intel counters 2018-11-22 19:40:06 +00:00
baldurk 3fa7e0e35f Release pixel picking texture 2018-11-22 19:39:49 +00:00
baldurk 82c5e62934 Don't start overlay marker before commandbuffer has begun 2018-11-22 17:43:45 +00:00
baldurk 7ffdc205ee When rendering depth overlay on Vulkan, set attachment layout correctly 2018-11-22 17:43:23 +00:00
baldurk 790ee7d5f7 Update D3D12 message ID that's now available 2018-11-22 16:55:35 +00:00
baldurk b610cb8d44 Mute annoying and false-positive PIX event messages 2018-11-22 16:55:23 +00:00
baldurk a83dc462f7 Ensure optional interfaces are correctly initialised to NULL 2018-11-22 14:06:19 +00:00
baldurk c3c9f82b87 Require explicit opt-in to enable RGP integration (default is not "0") 2018-11-22 14:05:26 +00:00
baldurk 09d63180d1 Add API option for applications that need access to vendor extensions
* This happens at the application's risk since there's no way to know what
  effect the vendor extension will have or even if it will work together with
  renderdoc's hooking.
2018-11-22 13:00:18 +00:00
tuxerr a2c1ef8fd0 add support for VR end of frame markers in vulkan 2018-11-21 11:58:29 +00:00
baldurk 62fc5e5b06 Workaround GCC warning about aliasing 2018-11-20 17:21:22 +00:00
baldurk f415b931c5 Check extension physical device features for availability 2018-11-20 17:12:58 +00:00
baldurk 60855bf8f8 VkPhysicalDeviceShaderImageFootprintFeaturesNV was missed as supported 2018-11-20 17:10:00 +00:00
baldurk 0910de41ad Use VkPhysicalDeviceFeatures2 on replay for patching enabled features 2018-11-20 16:48:59 +00:00
baldurk 648eeaa42e Handle chained physdev feature structs in vkCreateDevice. Closes #1157 2018-11-20 16:34:47 +00:00
baldurk 0eb915447a Handle all sType structures in serialisation, and next chain handling
* In many cases these structs are redundant and currently aren't ever serialised
  directly or valid to be included in next chains. However it's better to take
  the hit now and implement this universally in case new structs are needed in
  future. It's easier to keep up with when new structs are added, and it means
  we have the compiler checking we've handled all structs and don't forget one.
* There are some specific exceptions for structs that really need special
  handling and are just treated as if they're unsupported, on the assumption
  that any special handling will be implemented elsewhere.
2018-11-20 16:28:41 +00:00
baldurk c92a533e84 VkValidationCacheEXT is supported, just not wrapped 2018-11-20 16:28:41 +00:00
baldurk dc002a4ce6 Update vulkan headers to 1.1.93 2018-11-20 16:28:41 +00:00
baldurk 3ff8c0cdb4 Clear indirect copies list after it's been processed at the end of an RP 2018-11-20 10:42:59 +00:00
baldurk b7a276195e Track compute and graphics push descriptors separately. Closes #1182 2018-11-20 10:42:59 +00:00
baldurk e88169cbfe Patch some missing pieces after removing draws from a DrawIndirect 2018-11-19 12:07:42 +00:00
baldurk 94ed33accb Add missing stringise case for MemoryScope 2018-11-19 11:48:30 +00:00
baldurk 3f43ae73d1 Set pipeline bind point for descriptor update templates
* This is needed to know which type of descriptor sets is being mutated for push
  descriptors
2018-11-19 11:48:20 +00:00
baldurk e4ab1448fd Fix vkCmdPushDescriptorSetWithTemplateKHR - ref template & unwrap writes 2018-11-19 11:47:38 +00:00
baldurk 3f4f9902cb Remove error that will commonly falsely fire & replace with explicit log 2018-11-16 15:59:44 +00:00
baldurk 0253dbcc70 During capture report worst-case mem requirements for external images
* On some implementations, external images have lower memory requirements than
  an identical non-external image. To account for the replay being non-external
  we create both and pick the worst when reporting memory requirements to the
  app, so that it allocates enough for us on replay.
2018-11-16 15:13:36 +00:00
baldurk 42c1ae0753 Block requests for ID3D12Device or ID3D11VideoDevice* on ID3D11Device 2018-11-15 17:20:21 +00:00
baldurk 01cfadd52e Update D3D12 debug interfaces to match latest headers 2018-11-15 17:20:02 +00:00
baldurk c56cc1922f Implement DXGI 1.6 & 1.7. Closes #1174 2018-11-15 17:18:45 +00:00
baldurk 6ba66f0fba Update DX headers to 10.0.17763.0 2018-11-15 17:12:00 +00:00