Commit Graph

13472 Commits

Author SHA1 Message Date
baldurk 0dbb38c92e Avoid repeated erase+reorder when resetting pagesets 2022-10-14 14:44:07 +01:00
baldurk e38b4e0fff Add support for VK_EXT_mutable_descriptor_type 2022-10-14 12:06:09 +01:00
baldurk 7798d2e114 Check for shader processing tool failures properly. Closes #2751 2022-10-14 12:00:54 +01:00
baldurk 9a22b2cf46 Remove old android prototyping code 2022-10-14 12:00:54 +01:00
baldurk 835990b052 Ensure texture-generated formats default to scalar packing
* On APIs like OpenGL texture formats (like vertex buffer formats) can be
  tightly packed even in cases that apparently are otherwise not allowed - e.g.
  with fake RGB formats where the stride looks misaligned due to alpha being
  hidden.
2022-10-14 11:51:26 +01:00
baldurk a112e1ad96 Use a default name for un-named children in constant structs 2022-10-13 14:52:37 +01:00
baldurk c5d659b042 Include serialisation version when creating lazy serialiser 2022-10-13 14:43:07 +01:00
baldurk 77a3e11b32 Upconvert initial layouts to GENERAL when promoting loadOp to LOAD
* We were doing this in vkCreateRenderPass but not vkCreateRenderPass2
2022-10-12 17:31:53 +01:00
baldurk 338541cf3f Handle streams properly in vulkan GS output fetch. Closes #2745
* We only display the rasterized stream in the mesh output view.
2022-10-12 16:08:59 +01:00
baldurk 9d18db67a7 Fix some edge case pNext struct usages. Closes #2749 2022-10-12 13:04:34 +01:00
baldurk 048b85ffc8 Fix a problem copying stale reference when adding history modifications 2022-10-10 16:50:13 +01:00
baldurk 5c2c434885 Fix calculation of scalar struct size (it's not aligned up to alignment) 2022-10-10 14:28:26 +01:00
baldurk f3a2d59212 Make sure to account for no-debug fallback device creation on D3D11 2022-10-10 11:39:20 +01:00
baldurk 1ede871bd3 Allow C-style sized types in buffer formatter. Closes #2742 2022-10-10 11:39:20 +01:00
Chang Chen bc00cb3d74 Fix typo. 2022-10-10 11:47:18 +02:00
baldurk 9254eff490 Track IDs created in functions and empty them when they leave scope
* This prevents a use-after-free issue when pointers are stored and the backing
  storage is deallocated, if the function is entered again we try to get the
  previous value to show a variable change an dereference it.
2022-10-07 11:43:22 +01:00
baldurk 18f41c6fb6 Add test of secondary command buffer dynamic rendering 2022-10-07 11:20:06 +01:00
baldurk 5fa549ea8b Handle starting/ending RPs inside secondary cmd buffers. Closes #2740 2022-10-07 11:18:30 +01:00
baldurk 255fb82e7d Don't use primitive restart on helper mesh pipelines 2022-10-07 10:52:44 +01:00
baldurk 198c011e07 Add missing shaders to VS project 2022-10-07 10:52:24 +01:00
baldurk 478ea838dd Update vulkan and SPIR-V headers to latest 2022-10-06 16:48:34 +01:00
baldurk 849fe18ac1 Only find root SRVs when searching for SRVs 2022-10-03 20:10:41 +01:00
baldurk bbc5bd74b9 Return explicit error on creating multiple logical devices. Closes #2727 2022-10-03 20:10:41 +01:00
baldurk 5aafda7202 Clear find results properly between captures. Closes #2734 2022-10-03 20:10:41 +01:00
baldurk c237b70852 Use conservative order for image states updates (see d61f10d) 2022-10-03 20:10:41 +01:00
baldurk aec479700b When forcing all resources in for bindless on D3D12, be more granular
* We only need to force on actual D3D12 resources (buffers and textures) -
  enabling the Ref All Resources also would include all pipelines and other
  objects which do not need to be included and could be quite wasteful.
2022-10-03 20:10:41 +01:00
baldurk b554979534 Skip initial state application for resources that aren't modified or UAV
* If a resource has usage indicating it's used for any kind of direct
  modifications (copies, resolves, rendering, CPU writes) then we know it's
  modified. Any resource which has UAV capability may also be modified - since
  we don't necessarily track all bindings for bindless, and SM6.6 blows that up.
  But any resource that can't be a UAV can only be modified in ways we detect
  directly.
* This is a short-term fix, to improve re-applying redundant data to read-only
  resources. long term we need to rethink how initial states are handled since
  on vulkan and D3D12 initial states are no longer strongly correlated with
  resources that need to be reset every replay.
2022-10-03 20:10:41 +01:00
baldurk 00586c2749 Don't sync every map that we replay with a copy
* We have a simple 16-long queue for command buffers to use, so we only sync
  when we run out.
2022-10-03 20:10:41 +01:00
baldurk 39920c1b71 Show the version running when connecting to incompatible remote server 2022-10-03 20:10:41 +01:00
baldurk 17e2271030 Include atomic and SSBO buffers in GL read-write resources list 2022-10-03 20:10:41 +01:00
David Snopek af854f1823 Add the GL_OVR_* extensions to the list of OpenGL extensions 2022-10-03 14:41:28 +02:00
baldurk dff0196bfb Bump version to v1.23 2022-09-23 16:03:20 +01:00
baldurk 387a9e5702 Fix documentation references v1.22 2022-09-23 14:10:03 +01:00
baldurk c19806ad2f Restore IsStrip helper that should not have been removed 2022-09-23 11:35:52 +01:00
Shahbaz Youssefi b3d7d5f5fd Correctly mark promoted extensions as supported
`WrappedVulkan::vkCreateInstance` sets instance extension support based
on whether:

- Extension is enabled
- Instance version >= core version in which ext is promoted
- etc

However, the code that looped through the extensions was inside a loop
over the enabled extensions.  If there are no enabled extensions, this
led to extensions promoted to core never being inspected.

The code is split such that enabled extensions are checked within a
loop, and promoted extensions are separately checked.
2022-09-22 09:41:23 +01:00
baldurk c01fdafcdd Defer DebugValue/DebugDeclare processing until a valid scope is reached
* Don't process DebugValue that we encounter in scopes other than those where
  the variable it's declaring is supposed to be visible. Instead put these in a
  queue and process them if that scope is later reached.
2022-09-21 12:36:59 +01:00
Leonid Fedorov 89befedc1c Fix storing MSAA sample count for EGL capture 2022-09-20 17:59:32 +01:00
baldurk 6d3439032b Make sure that GS status is properly cleared on D3D12 on success 2022-09-19 16:44:56 +01:00
baldurk 0afd742232 Check that S8 format is actually supported 2022-09-19 16:44:56 +01:00
baldurk a04321fdb6 Handle D3D12 tier 1 VRS devices better when testing 2022-09-19 16:44:56 +01:00
baldurk aa412ddf89 Don't hard-fail on results of undefined tests in shader debug zoo 2022-09-19 16:44:56 +01:00
baldurk 00d7827d06 Allow a ~500 difference between PS invocations and samples passed
* This can be caused by overshading/rasterization differences
2022-09-19 16:44:56 +01:00
baldurk 1fa4fed24a Check for shader 64-bit support before using them in tests 2022-09-19 16:44:56 +01:00
baldurk 4e4a7518fa Ensure inline uniform blocks have descriptor pool space allocated 2022-09-19 16:44:56 +01:00
baldurk c851c44a1b Get new cmake for building glslang in spirv plugins 2022-09-19 12:35:33 +01:00
baldurk bc5aef5447 Add a separate PanelMenu item for extensions in non-mesh buffer viewers 2022-09-19 11:24:38 +01:00
baldurk 58b96be4f2 Mark memory as dirty when bound to sparse resources 2022-09-15 14:49:42 +01:00
baldurk d61f10d27c Insert command buffer references after descriptor references on vulkan
* During capture we don't insert references as we're recording descriptor binds,
  just once at queue submit time, as an optimisation. However this loses
  ordering relative to more direct references. Since descriptor binds are more
  conservative (either read, or read before write) we ensure to insert them
  first before any direct references like copies or fills which could mark the
  resource as completely written before read.
2022-09-15 14:49:28 +01:00
baldurk b375efdb3c Use selected range of buffer not total object length when exporting
* Same fix as #2703 but with a fix not to be limited by the pagination size
2022-09-15 13:36:16 +01:00
baldurk 6643687ac6 Revert "Export correct CSV range and fixup element counts."
This reverts commit 033bcb2a11.
2022-09-15 13:26:47 +01:00