Commit Graph

12021 Commits

Author SHA1 Message Date
baldurk 24e958d688 Allow sparse features to be reported 2021-03-08 16:39:49 +00:00
baldurk 8ff59fea79 Snapshot sparse tables into resource initial states, and apply on replay 2021-03-08 16:38:52 +00:00
baldurk da4706d423 Use sparse page table class to track sparse mappings on vulkan resources 2021-03-08 16:38:51 +00:00
baldurk 4afd76b669 Add API independent sparse page table tracker 2021-03-08 16:38:51 +00:00
baldurk 20a60efd98 Serialise legacy sparse initial contents and skip
* These captures were too broken and likely no-one has any in the wild, but just
  to be safe let's at least not crash on serialisation.
* Prepare/application is not implemented yet so as of this commit sparse
  resources are broken.
2021-03-08 16:38:51 +00:00
baldurk d10baafbba Fix compilation on non-windows platforms 2021-03-06 15:29:02 +00:00
baldurk 657378d022 Remove clear value count assertion completely, check on access 2021-03-06 13:26:03 +00:00
baldurk 8b4e25b421 Fix CATCH_BREAK_INTO_DEBUGGER that by default surrounds in a lambda
* This is a lambda in upstream catch to avoid some warning, but that means that
  when the debugbreak happens it's in the wrong stack frame (though at least on
  the right line). Fortunately we can override it with a useful definition.
2021-03-06 13:26:03 +00:00
baldurk 244cfd0fc1 Add handling for next chain structs that we do support 2021-03-06 13:26:03 +00:00
baldurk 4419d87908 Add missing memory dirty to vkBindBufferMemory2 2021-03-06 13:26:03 +00:00
baldurk 71a4ecaa42 Make warnings about unsupportable extensions less spammy 2021-03-06 13:26:03 +00:00
baldurk f1906b2e33 Sphinx version with bugfix has been released, stop requiring 3.4.0 in CI 2021-03-06 13:26:03 +00:00
Omar El Sheikh b0f70185c0 Update VK_NULL_HANDLE Argument to NULL 2021-03-06 01:30:56 +00:00
Omar El Sheikh 548149b7ef Hook up EnumerateInstanceExtensionProps on Android
Capture function for vkEnumerateInstanceExtensionProperties wasn't being
called at all for the Android Layer

There is still the issue of filtering not working and and
VK_EXT_debug_utils isn't properly being exposed as an available
extension due to differences with the Android Vulkan Loader and the
common Vulkan Loader on desktop platforms still being investigated
2021-03-06 01:30:56 +00:00
baldurk 80ff02f7c9 Fix discards of buffer views on D3D11 2021-03-02 17:14:00 +00:00
baldurk 438d823c32 Add support for optional physical device features to vulkan tests 2021-03-02 17:08:47 +00:00
baldurk 42daf8054b Don't crash when replaying ExecuteIndirect with MaxCommandCount == 0 2021-03-02 17:08:35 +00:00
baldurk d8bdf819bf Fix check for shader extensions on SM5.0, don't compare space 2021-03-02 10:27:07 +00:00
baldurk 741b2c1671 Set anisotropy in textures to 1.0 on GL if driver doesn't support it 2021-03-01 15:16:27 +00:00
baldurk 612b7fed72 Avoid trying to link invalid programs with no shaders in GL 2021-03-01 12:32:24 +00:00
baldurk 9849fcd7f9 Handle AS/MS subobjects explicitly, ignore empty ones. Closes #2193
* If we get passed an empty/degenerate AS or MS we can ignore it, the
  application is responsible for ensuring that it doesn't pass any *actual*
  shaders here.
2021-03-01 11:44:37 +00:00
baldurk c5e885a28b Fix backwards assert condition 2021-03-01 11:39:31 +00:00
baldurk 527c662fb2 Only flip Y co-ordinates in texture viewer when clip origin is default 2021-03-01 11:38:29 +00:00
baldurk dc35083392 Check for clip origin on GL to enable Y-flipping for output meshes 2021-03-01 11:38:04 +00:00
baldurk 839665f3ca Add checks on D3D11 resource discard that we have a valid view/resource 2021-03-01 10:41:40 +00:00
Artyom Dangizyan 7171350638 fix heap buffer overflow 2021-03-01 10:12:34 +00:00
jeromenxp 0a3a236540 Fix compilation errors on some compilers 2021-02-24 22:44:33 +00:00
baldurk 7c62b80d89 Search explicitly for python3 with new python search
* This prevents the build from silently trying to use python2. We also require
  development files which were previously optional.
2021-02-24 13:52:08 +00:00
baldurk f3ae6873ea Look for python 3.9 in cmake 2021-02-24 13:52:08 +00:00
baldurk a1e436a8e0 Add event and structured chunk for image viewer 2021-02-24 13:52:08 +00:00
baldurk d6e88ae4fa Remove redundant callstack member in APIEvent
* We already link to the chunk index and the chunk metadata contains the
  callstack, there's no need for a duplicate copy when there may be many
  APIEvents in a capture
2021-02-24 13:52:07 +00:00
baldurk 728fa34acc Move branch colouring to RDTreeView 2021-02-24 13:52:07 +00:00
baldurk d906e23f32 Store original texture details in image viewer, rather than patched
* If we need to patch the details we use that for proxy texture upload, but we
  still want to return the original details to the replay.
2021-02-24 13:52:07 +00:00
baldurk 4de38aef1e Fix issue with DDS writing reading from wrong subresource index for data 2021-02-24 13:52:07 +00:00
baldurk 30dd13feb8 Pull index byte width and topology out of drawcall state
* These are treated as state on most APIs, only GL treats it as a drawcall
  parameter.
2021-02-24 13:52:07 +00:00
baldurk 04e533742f Adjust pitch calculation in saved DDS files to match spec. Closes #2189
* The spec is not particularly clear but this matches the DirectXTex behaviour
  which is as close to 'official' as we'll get most likely.
2021-02-22 17:03:12 +00:00
baldurk 14983a76cd Fix missing handling of variable descriptor counts in usage 2021-02-22 16:47:24 +00:00
baldurk fd14fdbfa8 Add missing column of data to constant buffer array parent 2021-02-22 16:47:21 +00:00
baldurk 795d7e0910 Handle a memory object that can't be covered by a buffer. Closes #2185
* On some drivers like older NV hardware, there are memory types which can only
  be bound to images and never to buffers, so ensure we don't try to create a
  memory-spanning buffer for such allocations and avoid marking memory behind
  images as written or it will become dirty in subsequent captures.
2021-02-22 12:38:43 +00:00
baldurk 11268b358a Remap block-compressed 3D textures to 2D arrays on GL. Closes #2186 2021-02-22 12:38:43 +00:00
baldurk 3025cf66c6 Force shader feedback before clear-before-draw overlay on vulkan
* The shader feedback itself will potentially trigger a replay. If this happens
  after the overlay is processed when fetching the pipeline state it will undo
  the clear-before. To workaround this without a huge and unnecessary refactor,
  we just triggere the shader feedback cache before doing a clear-before
  overlay. The amount of work is the same it just happens in a different place.
2021-02-22 12:38:43 +00:00
baldurk c6be4f7834 Fix highlighting of active thumbnail preview
* This was broken in fa674a59b6 where the style
  overrode the widget's foreground role. Changed to only use the custom
  light/dark role when the desired role is Text (or WindowText).
2021-02-22 12:38:43 +00:00
baldurk 4a379408f9 Patch VkImageFormatListCreateInfo for MSAA textures
* Since we're using mutable format to cast them to UINT for copies, we need to
  ensure that the correct format is in the create info list.
2021-02-22 12:38:43 +00:00
Jake Turner baf0e3ea70 #error for unknown platform in demos project 2021-02-22 10:34:11 +00:00
Jake Turner f14130fc2d Wrap TEST_ASSERT with do...while(0)
Fix compile errors when doing
if (blah) TEST_ASSERT(cond, message)
2021-02-22 10:34:11 +00:00
baldurk a7ac9d7923 Fix DXIL reflection if array type is listed as having 0 elements 2021-02-19 17:47:06 +00:00
baldurk 4e569cfe97 Add specific error when failing to disassemble DXIL shaders 2021-02-19 15:44:57 +00:00
baldurk f244d970c7 Properly convert fetched vertex inputs to target type in mesh output
* We can't fetch from a uint tbuffer into a ushort vector, so fetch as uint and
  then convert to ushort.
2021-02-19 15:44:57 +00:00
Jake Turner 1f332f629f Fix Apple platform bug in GetTickFrequency
The numerator and denominator were the wrong way around.
Discovered running renderdoccmd unit tests on M1 Mac Book Air
2021-02-19 10:09:10 +00:00
baldurk 698e22a5ae Suppress warning about self-assignment that we are deliberately testing 2021-02-18 17:21:36 +00:00