Commit Graph

11480 Commits

Author SHA1 Message Date
baldurk 9bc2ef77b8 Record and track CREATE_NOT_RESIDENT heap flag
* We don't replay it, all resources are resident on replay. At record time we
  need to know the residency status to make resources resident when necessary.
2020-09-21 16:39:47 +01:00
baldurk 2481957f1a When shader debugging is cancelled, still display partial debug trace 2020-09-21 14:39:20 +01:00
baldurk e9dcd4b58f Fix out of bounds check to not allow indexing 1 too far in members array 2020-09-21 14:37:29 +01:00
baldurk 92040f4636 Fix a crash with D3D11 SWAP_EFFECT_FLIP_DISCARD swapchains. Closes #2055
* DXGI is entangled with the API unfortunately, such that for D3D11
  DXGI_SWAP_EFFECT_FLIP_DISCARD can only access buffer 0 (like
  DXGI_SWAP_EFFECT_DISCARD) but for D3D12 it can access any buffer. This is
  naturally undocumented.
2020-09-20 11:23:06 +01:00
baldurk aaae5d4a38 Separate out calls to vkBindBufferMemory2 2020-09-19 15:02:36 +01:00
baldurk 25bb8e3d4c Restore D3D11 driver bug workaround 2020-09-19 15:02:24 +01:00
baldurk e17eddad1e Bump version to 1.11 2020-09-18 17:24:00 +01:00
baldurk 381fdbe06b Fix missing format argument in error message v1.10 2020-09-17 17:43:28 +01:00
baldurk 0ed941bec2 Don't display window cycling message on platforms without keyboard input 2020-09-17 17:23:25 +01:00
baldurk 4809615a8f Don't print hit information until we know it's a drawcall 2020-09-17 15:05:21 +01:00
baldurk 56f76f6ffa Don't try to read primitive ID in pipeline that contains a GS
* We can't do it unless the GS writes primitive ID, which we could check for but
  is highly unlikely.
2020-09-17 13:24:49 +01:00
baldurk 9d642c1236 Remove unused call to GetPDP2 for Vulkan12Properties 2020-09-17 13:08:32 +01:00
baldurk 720a58a211 Disable very spammy warning in release builds
* The warning is real, this is a problem with the application, but some programs
  cause a lot of barriers to hit this.
2020-09-17 12:57:59 +01:00
baldurk a3b6adc303 Linux demos compile fix 2020-09-16 17:03:27 +01:00
baldurk 6a3b29cb14 Add opt-out flag for vulkan appinfo replacement 2020-09-16 16:39:07 +01:00
baldurk 9b40bb7279 Fix wrong ID being serialised for deferred contexts 2020-09-16 15:33:09 +01:00
baldurk e73ce8f8e8 Don't delete from m_CurrentResources when removing resource record
* This is handled when the resource is destroyed itself, we just NULL out the
  pointer.
2020-09-16 14:29:28 +01:00
baldurk b0d3cad2c4 Add logging when new GL sharegroups are created 2020-09-16 14:22:31 +01:00
baldurk 35bbb0d23e Fix incorrect GL compatibility version check 2020-09-16 11:50:44 +01:00
baldurk 11719a2588 Perform samples in vertex shader for vertex debugging on D3D12
* On D3D11 we just queried the resource & sampler binding from whichever stage
  it was on and bound it to the pixel shader. On D3D12 we re-use the root
  signature which means we need to fetch the binding in the stage it was used
  originally. VS t0,space0 could be different from PS t0,space0.
2020-09-15 17:27:58 +01:00
baldurk 299249d718 Fix D3D12 command list reset not getting correct init parameters 2020-09-15 13:16:57 +01:00
baldurk 496bbbe976 Don't allocate chunks from allocator when data is external
* This can lead to lifetime issues if the allocator is reset and now the
  external-data pointer or bool can be trashed. Instead if the data allocation
  can't come from the allocator, allocate both data and chunk externally.
2020-09-15 13:11:37 +01:00
baldurk 9877b63595 Fix disassembly of relative-addressing operands in DXBC
* Most of the time we can map this to a reflection variable but if we can't, we
  must print the correct index.
2020-09-15 11:24:06 +01:00
baldurk 4ec6281856 Fix disabled convenience test for unit testing DXBC 2020-09-15 11:23:34 +01:00
baldurk c8fcdbae05 Update fetch_shader python example to latest API 2020-09-14 15:58:20 +01:00
baldurk 8615c5fc14 Speculative support for 10-bit backbuffers on GL 2020-09-14 15:30:49 +01:00
baldurk ce1cfe5330 Provide more specific error on external-imported resources
* When capturing some external memory driver implementations have completely
  disjoint memory type bits allowed for external and non-external resources.
  This means it is impossible to capture it as external and then replay it as
  non-external, leading to a broken capture.
* This is warned about at capture time but easy to miss. Adding this error here
  is more likely to be seen and found.
2020-09-14 15:27:46 +01:00
Omar El Sheikh 60eb2c5ab7 Handle pNext Chain for Android External Memory
Updated vk_next_chains.cpp to handle serializing of the new structs

Updated VkCreateInfo function to check for Android External Buffer

Fixes to vk_serialize.cpp to serialize structs properly
2020-09-14 15:19:51 +01:00
Omar El Sheikh 6236f2b6c1 Added Struct Handling/Serialization
Added initial support for these structs:
*VkAndroidHardwareBufferPropertiesANDROID
*VkMemoryGetAndroidHardwareBufferInfoANDROID
*VkAndroidHardwareBufferFormatPropertiesANDROID
*VkExternalFormatANDROID
*VkAndroidHardwareBufferUsageANDROID
*VkImportAndroidHardwareBufferInfoANDROID
2020-09-14 15:19:51 +01:00
Omar El Sheikh f5786077e5 Added Android Hardware Buffer Extension Support
Added support for the VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER
device extension on Android
*Created necessary hooks for vkGetAndroidHardwareBufferPropertiesANDROID
and vkGetMemoryAndroidHardwareBufferANDROID
2020-09-14 15:19:51 +01:00
baldurk 1286f4b272 Fix issues identified by synchronisation layer 2020-09-14 13:01:14 +01:00
baldurk 213e19be01 Fix double-delete of immediate context on D3D11 2020-09-14 12:33:28 +01:00
baldurk c455fa9d49 Fix broken Unwrap() on D3D12 2020-09-14 12:31:57 +01:00
baldurk 76d91d5eef Don't allow static logfile string to destruct before RenderDoc singleton 2020-09-12 23:18:04 +01:00
baldurk ac8a90ebbe Fix refcounting of D3D12 shader objects 2020-09-12 23:16:15 +01:00
baldurk 433a51cf64 Fix replay refcounting of D3D11 objects 2020-09-12 23:15:44 +01:00
baldurk 50ebd8d379 Fix mistake enabling BDA capture replay if original BDA wasn't enabled 2020-09-12 23:15:17 +01:00
baldurk 6225c83d12 Fix handling of CreateCommandList1
* We would accidentally ignore the first Reset() call by attempting to avoid the
  fake Reset() that CreateCommandList creates.
2020-09-11 20:52:10 +01:00
baldurk 925b49daa6 Fix handling of instance extensions in vulkan tests 2020-09-11 18:51:27 +01:00
baldurk 8ca96aa83a Fix arrays of UBOs not displaying properly in vulkan pipeline state 2020-09-11 16:32:17 +01:00
baldurk 0d70327b21 Store resource type directly in VkResourceRecord
# Conflicts:
#	renderdoc/driver/vulkan/vk_resources.h
2020-09-11 16:31:10 +01:00
LukeRoss00 33a1c9b2c6 Update win32_callstack.cpp
Module offset was mistakenly being erased together with .pdb extension
2020-09-11 15:31:31 +01:00
baldurk 966db7bdb0 Add some more identified markers 2020-09-10 22:57:22 +01:00
baldurk 809b8f9f29 Add fallback on android if gpu debug layers are broken or inaccessible 2020-09-10 16:41:35 +01:00
baldurk 255f457c0b Fix crash accessing non-running thread 2020-09-10 15:30:04 +01:00
baldurk d671c66bea Remove reliance on wrapped pool IsAlloc
* In most cases we either know the type, or we can use the generic parent
  WrappedDeviceChild11 to get what we want.
2020-09-10 14:45:46 +01:00
baldurk fdeea5204d Refactor and optimise D3D11 refcounting implementation
* In heavy D3D11 workloads the refcounting overhead especially during fast
  binding changes was significant. Refactoring the refcounting to work on a
  different model and deferring destruction of objects removes most of the
  overhead.
2020-09-10 13:35:32 +01:00
baldurk fb19ccb535 Don't pool-allocate D3D12 shaders 2020-09-10 13:35:16 +01:00
baldurk e9360a819f Don't pre-allocate such large wrapped pools
* The cost of searching a few more pools to check allocations isn't so bad
  especially if we can move IsAlloc() off the hot path. Better that than
  allocating 100MB in pools.
2020-09-10 13:35:16 +01:00
baldurk 3b04aa227b Reduce the memory footprint of D3D12 objects 2020-09-10 13:34:44 +01:00