Commit Graph

16206 Commits

Author SHA1 Message Date
baldurk 511c33c52a Handle Expanding policies in flow layouts 2025-09-16 16:29:25 +01:00
baldurk 0a6a8e763a Fix overly aggressive check for UAV clears not accounting for depth 2025-09-16 11:19:14 +01:00
baldurk 2fd7cd94e3 Only consider active lanes when choosing the candidate compute thread 2025-09-15 10:27:39 +01:00
baldurk 7c5b76dcad Change subgroup zoo to use a triangle list instead of strip
* This produces more consistent subgroup thread assignments in the vertex
  shader.
2025-09-11 14:09:53 +01:00
baldurk fb6d4735b3 Do not redeclare __new__ in python stubs 2025-09-11 12:59:22 +01:00
baldurk d0b7d602a7 Fix the wrong type being declared for subgroupid 2025-09-11 12:55:21 +01:00
baldurk 0939abc3da Add a scoped log section that can be used with with: 2025-09-11 12:51:08 +01:00
baldurk f37b4ee631 Set correct array size 2025-09-10 20:58:19 +01:00
baldurk 493f4c2ec4 Create output folder when generating python stubs and run from any cwd
* Previously it only worked when ran from the docs folder
2025-09-10 15:05:39 +01:00
baldurk 8546876aed Ensure we can set ExecuteIndirect root constant values
* If the array isn't large enough we must resize it, this was already done for
  CBV/SRV/UAV root parameter sets.
2025-09-10 14:56:41 +01:00
baldurk b5559e7d1b Fix badly copy-pasted error message 2025-09-10 14:43:40 +01:00
baldurk 848b47b80d Handle clears in pixel history view of UAV-only textures 2025-09-10 12:56:27 +01:00
baldurk 4b2a817fce When estimating descriptors only enable AS usage if AS ext is enabled 2025-09-10 11:55:31 +01:00
baldurk 1d5b1e4bb4 Strip EXT_external_memory_dma_buf on replay 2025-09-10 11:55:30 +01:00
Shahbaz Youssefi e0361aee80 Fix replay with VK_KHR_surface_maintenance1 2025-09-10 17:59:30 +09:00
baldurk beaff65537 Fix incorrect trailing type declarations 2025-09-09 21:07:29 +01:00
baldurk a2286f35ca Add missing trailing newlines in docstrings 2025-09-09 20:09:02 +01:00
baldurk 5957a2710b Enforce that all docstrings of members have a :type: 2025-09-09 18:57:35 +01:00
baldurk 00cdfb0d1d Clarify that subresource slice can't be used in GetTextureData
* We also remove some legacy unused behaviour in D3D11/D3D12 that would attempt
  to do this but return bogus data with the selected slice first then 1..n
  slices after.
2025-09-09 18:57:35 +01:00
baldurk fff4e0d5e4 Improve displayed sorting of descriptor buffer sets in pipeline state 2025-09-09 18:57:34 +01:00
baldurk 06b8dd9051 Extend lifetime of images and image views similar to buffers
* With descriptor buffers we need to ensure images and image views also do not
  get destroyed mid capture, similar to what we do for buffers and memory. The
  same reasoning applies - we don't want a single BDA to refer to two different
  buffers, and we also don't want a single descriptor to alias multiple
  resources either.
2025-09-09 18:57:34 +01:00
baldurk b687f30c17 Ensure dynamic rendering state is deep copied internally
* We already deep copy when storing from the serialised data, but need to copy
  it again as it moves.
2025-09-09 18:57:34 +01:00
baldurk 9e6f5a7be7 Update vulkan headers in demo project 2025-09-09 18:57:34 +01:00
baldurk 46f9727c4f Ensure access to refbuffers and refqueues is done under correct lock 2025-09-09 18:57:34 +01:00
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