Commit Graph

11502 Commits

Author SHA1 Message Date
baldurk cc9aec2135 Fix display of UINT casted textures on D3D12 2020-10-02 14:19:06 +01:00
baldurk e1d025e4ef Don't fetch buffer data if it's not yet initialised 2020-10-02 12:53:38 +01:00
baldurk eeb0469057 Fix GL/DX interop for buffers 2020-10-02 10:45:57 +01:00
baldurk 8f6359059b Make more config flags non-debug.
* Only performance-sensitive flags should be debug only. Otherwise there's no
  strong reason to limit these to non-official builds.
2020-10-01 17:48:35 +01:00
baldurk d863885373 Disable KHR_buffer_device_address on AMD windows for now
* It seems to be broken at the moment unfortunately, at least for our internal
  use cases (shader debugging and bindless feedback)
2020-10-01 17:48:35 +01:00
baldurk 98c171918a Fix copy-paste error reading from wrong properties in RTV/DSV desc 2020-10-01 17:00:38 +01:00
baldurk 58f4dc6f02 Fix crash if duplicate root signature pointer is returned
* If we make internal replay root signatures live resources they could clash
  with a replayed resource and end up with two entries in the live resource
  list, which will double delete on shutdown.
2020-10-01 16:59:25 +01:00
baldurk 55c57f7e89 Display stencil values in binary and decimal in tooltips. Closes #2052 2020-10-01 15:56:52 +01:00
baldurk 7541b49c95 Fix readback window being always allocated. Closes #2060
* This should only be allocated when the config flag isn't disabled and when
  it's needed, but we were always allocating it during capture.
* We also only allocate as much as is needed, since it seems on AMD linux the
  CPU memory can actually be quite arbitrarily constrained.
2020-10-01 15:33:15 +01:00
baldurk 12260fe884 Apply UNDEFINED discard pattern for initial RP layout. Closes #2058 2020-10-01 13:23:19 +01:00
baldurk 8e77703cd1 When fetching API validation messages in GL, only fetch 'live' messages
* Any messages we add ourselves will already have an event ID so we keep them
  separately.
2020-10-01 11:55:48 +01:00
baldurk 631a73fa76 Don't assert on replay thread for CancelReplayLoop
* This is the one function that CAN be called from another thread by definition
  since the replay thread is blocked running the replay loop.
2020-10-01 11:55:19 +01:00
baldurk f975ef3cb0 Add protection against the use of 0-sized buffers in GL 2020-10-01 11:54:56 +01:00
baldurk 5ae5cb8bcf Don't remove resource records for stale resources on GL
* If we destroy a resource e.g. FBO 4 in a captured frame, its record will stay
  alive until the end. When we delete that record we don't want to remove the
  record that is now recorded for FBO 4 since that might be a new resource that
  has been created. If the ID doesn't match then the original resource
  destruction has already been processed and the record is now orphaned, so
  nothing has to happen.
2020-10-01 10:41:53 +01:00
baldurk 3c180d900c Make buffer initial state padding more generous on GL 2020-09-28 23:03:38 +01:00
baldurk 7246800636 Ensure pixel shader debugging has access to root signature 2020-09-28 23:03:28 +01:00
baldurk 2ea17af719 Fix unwrap of inline uniform block descriptor writes
* We don't unwrap any of the data but we must still unwrap the descriptor set.
2020-09-25 10:51:12 +01:00
baldurk 8b2a521a91 Fix crash when no scissor regions are bound at D3D12 draw 2020-09-24 22:29:12 +01:00
baldurk 2d7a717e2d Fix shader function being called on non-shaders corrupting memory 2020-09-24 22:28:58 +01:00
baldurk 3c39f17d22 Reserve enough space for DXIL constants up front to prevent resizes 2020-09-23 11:37:43 +01:00
baldurk 28463fd716 Ensure view instancing array is properly copied in D3D12 pipeline desc 2020-09-21 18:18:23 +01:00
baldurk c8c138a7ef Fix handling of VkDeviceGroupDeviceCreateInfo structs 2020-09-21 17:23:49 +01:00
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