Commit Graph

16182 Commits

Author SHA1 Message Date
baldurk b4615dbd18 Add a delayed callback helper for python 2025-09-09 18:57:34 +01:00
baldurk b3cec5a4cf Add a helper to clear the set of debug messages from python 2025-09-08 17:29:08 +01:00
baldurk c9a3b2bf39 Handle nested arrays in mesh shader output
* Most normal mesh shaders will just have plain values or structs as outputs,
  but if e.g. clip distance is used it may be an array itself (then arrayed for
  mesh output), so we must handle that.
2025-09-08 16:35:41 +01:00
baldurk c25161a759 Allow aliasing between different descriptor types silently
* Also make the error about duplicate keys less severe - this can happen in
  practice as different views boil down to the same descriptor bytes and
  applications don't use only one view.
2025-09-08 16:35:41 +01:00
baldurk 5eaac6c03f Remove unnecessary old code
* this code is from before there was a separate section for OpModuleProcessed,
  so it is now redundant and can always use the end iterator of the names
  section.
2025-09-08 16:35:41 +01:00
baldurk bb2ac5ee27 Fix variable advance for packed 10:10:10:2 and 11:11:10. Closes #3685 2025-09-08 16:35:41 +01:00
baldurk 0d0a7cbb2f Do not process descriptor access with desc buffers if possibly invalid
* Descriptor sets are neatly independent so it's possible to process them
  without needing any other state to be valid, but descriptor buffers can be
  partially set state and may also have invalidated state so it's not possible
  to process them unless we know we're on a correct action of the corresponding
  type.
2025-09-08 16:35:41 +01:00
baldurk 187698e636 Re-bind descriptor buffers when using EXT shader objects 2025-09-08 16:35:41 +01:00
baldurk 99ec80c553 Fix descriptor buffer versioning when rebound multiple times per cmdbuf
* This affects static usage calculation as data could be overwritten
2025-09-08 16:35:40 +01:00
baldurk ce4edad163 Fix calculation of remapped 3D mips in image viewer. Closes #3697
* For OpenGL we need to remap a 3D block-compressed texture to a 2D array for
  display, when doing so we need to account for the mip size when calculating
  the size of each chunk of data.
2025-09-08 16:35:40 +01:00
baldurk 2702bb1469 Update old copyright years in about dialog and module metadata 2025-09-08 16:35:40 +01:00
baldurk 70a57c95bb Fix incorrect extension check for vkWaitForPresent2KHR 2025-09-08 16:35:40 +01:00
Jake Turner 7b404168eb trie test: keys with common prefixes, added in all possible orders 2025-09-08 08:15:23 +01:00
baldurk 5c1ac59d35 Bump version to v1.41 2025-09-05 17:10:54 +01:00
baldurk 6ab25b2d01 Ensure names are added at the end of name section in SPIR-V
* The iterator ++ will skip past nops but this could overrun into subsequent
  sections if they contain only nops (ie. are empty)
v1.40
2025-09-04 11:39:32 +01:00
baldurk c8dc97a34e Add pixel history to the common feature set 2025-09-04 10:06:14 +01:00
baldurk 147f010321 Update vulkan version in the docs 2025-09-04 10:05:42 +01:00
baldurk ec42e46aa9 When trying multiple formats for texel buffer lookup, use clean address
* We also need to check sign-extending the address we get but we don't want that
  check to affect subsequent formats we try with texel buffers.
2025-09-03 15:42:26 +01:00
baldurk 08d71592dd Fully re-set any descriptor set state for a set being bound
* This prevents leakage of properties between descriptor buffer offset set and
  push descriptors
2025-09-03 13:19:34 +01:00
baldurk d4c907faa1 Fix sorting of bindings in vulkan pipeline state with descriptor buffers 2025-09-03 10:01:48 +01:00
baldurk 9b025ef659 Use correct size for storage/input attachment view descriptors 2025-09-03 09:42:09 +01:00
baldurk 2a87474e3c Fix use-after-modify when adding new key as subset of old key 2025-09-03 09:39:38 +01:00
baldurk 283432a5dd Add test of trie key that is pure prefix of unique previous key
* We already test this later when the prefix is in an already split node.
2025-09-03 09:37:08 +01:00
baldurk 139bfefaa7 Add protection against potentially invalid GetDescriptor inputs 2025-09-01 14:12:26 +01:00
Hans-Kristian Arntzen c800a59159 Fix bad merge for aliased descriptors. 2025-09-01 01:46:51 +09:00
Hans-Kristian Arntzen d64eeba25c Add descriptor type descriptor uniqueness key.
Avoids problem when storage image and sampled image are extracted from
the same view object.
2025-09-01 01:46:51 +09:00
baldurk 6f0cbfa242 Fix incorrect invalidation of push descriptor bindings with buffers 2025-08-29 11:51:04 +01:00
baldurk c03194c100 Always do blit from fake backbuffer even if overlay is disabled 2025-08-29 11:51:04 +01:00
Pavel Asyutchenko c280fc7230 Update vulkan version clamp to 1.4 2025-08-29 06:11:18 +09:00
baldurk 9558d25fc4 Only apply NV BDA workaround on windows
* The linux driver has a different allocator and isn't subject to the same bug
  (which is a windows bug)
2025-08-28 11:09:06 +01:00
baldurk aecfcaca35 Only apply NV BDA workaround on replay if it was applied on capture
* Applying it during capture ensures that we have enough room on replay to apply
  the same expansion.
2025-08-28 11:08:25 +01:00
baldurk e55ed4e9d5 Only replay fake backbuffers with BDA if we have recorded BDA info 2025-08-28 10:58:39 +01:00
baldurk 1811135bc1 Ensure parentResInfo is always set for all resource types
* This only needs to be different from `this` in the case of image views when
  using descriptor buffers, so automatically set it to this by default and
  overwrite only in that case.
2025-08-27 17:43:14 +01:00
Jake Turner 073eab90c9 Change DXIL ControlFlow to use a graph search instead of walking paths
Graph search is faster than walking paths
2025-08-26 10:32:45 +01:00
baldurk 046a86d5ab Handle NULL descriptors being created with 0 address 2025-08-25 17:51:09 +01:00
baldurk 795a925108 Fix mishandling of undefined component in OpVectorShuffle 2025-08-25 13:28:11 +01:00
baldurk 3595efcd74 Fix casts for 32-bit 2025-08-25 13:28:11 +01:00
baldurk f511e2e335 Fix vulkan extension sorting 2025-08-25 13:28:11 +01:00
baldurk 5981f694d4 Use macro for per-type abs() 2025-08-25 13:28:11 +01:00
baldurk cb5b506ed5 Enable support for vulkan 1.4. Closes #3625 2025-08-25 11:36:02 +01:00
baldurk 52e426195e Add missing feature check for EXT_host_image_copy 2025-08-25 11:36:02 +01:00
baldurk cba07ed3d5 Add support for VK_EXT_pipeline_protected_access 2025-08-25 11:36:02 +01:00
baldurk d78e44688c Add support for VK_EXT_pipeline_robustness 2025-08-25 11:36:01 +01:00
baldurk 215557a570 Add support for VK_KHR_maintenance9 2025-08-25 11:36:01 +01:00
baldurk 2cb07273cb Add support for VK_KHR_maintenance8 2025-08-25 11:36:01 +01:00
baldurk e1f3582774 Add support for VK_KHR_maintenance7 2025-08-25 11:36:01 +01:00
baldurk a05fd08a1c Add support for VK_KHR_maintenance6. Closes #3602 2025-08-25 11:36:01 +01:00
baldurk f0cc6a059a Add support for VK_KHR_present_id/wait2 2025-08-25 10:19:31 +01:00
baldurk f1672e976b Add support for VK_EXT/KHR_present_mode_fifo_latest_ready 2025-08-25 10:19:31 +01:00
baldurk 0b17720e3b Add support for VK_KHR_unified_image_layouts 2025-08-25 10:19:31 +01:00