Commit Graph

15623 Commits

Author SHA1 Message Date
baldurk d8114f0daa remove redundant space 2025-02-13 18:45:57 +00:00
baldurk fda2e14b12 Enable dependent extension for KHR_bda 2025-02-13 18:32:22 +00:00
baldurk 6c985c7cac Add support for VK_KHR_ray_tracing_maintenance1 2025-02-13 18:32:22 +00:00
baldurk 5af9ccb9d9 Add support for VK_KHR_ray_tracing_position_fetch 2025-02-13 18:32:22 +00:00
baldurk 2605a1e5af Add support for VK_KHR_shader_subgroup_rotate 2025-02-13 18:32:22 +00:00
baldurk 134d01427a Add support for VK_KHR_shader_float_controls2 2025-02-13 18:32:21 +00:00
baldurk 813dad9217 Add support for VK_KHR_shader_expect_assume 2025-02-13 18:32:21 +00:00
baldurk 2a994186aa Add support for VK_KHR_shader_maximal_reconvergence 2025-02-13 18:32:21 +00:00
baldurk 839f543bae Add support for VK_KHR_shader_quad_control 2025-02-13 18:32:21 +00:00
baldurk eeec813f70 Fix poor parsing of proc/maps file. Closes #3540 2025-02-13 18:32:21 +00:00
baldurk b02dbdc1b5 Add RP normalisation option 2025-02-13 18:32:21 +00:00
baldurk 34d4cd51ef Update for renamed AMD dll 2025-02-13 18:32:21 +00:00
baldurk 08d2ad0294 Update vulkan headers to 1.4.307
* Trivial promotion of these extensions:
  - VK_KHR_depth_clamp_zero_one
  - VK_KHR_compute_shader_derivatives
2025-02-13 18:32:21 +00:00
baldurk 57a9b8e80b Update SPIR-V headers
* Also update generator script to add new edge cases
2025-02-13 10:52:21 +00:00
Cam Mannett faba2915e7 Add action callback support to AS creation commands 2025-02-12 11:28:38 +00:00
lifeisforu 3bd0721da8 Wrong assertion occurs when bulding acceleration structure
byteSize was already combined to dstoffset, so it must be tested using vbSize.
2025-02-12 10:09:28 +00:00
baldurk 204f003f2b Ensure safe state is used for RT builds on compute command buffers 2025-02-11 14:06:01 +00:00
baldurk 0859fd0a95 Fix handling RT VBs with stride of 0 2025-02-11 14:05:46 +00:00
baldurk b5294824f7 Use custom heap for auditing readback buffer
* Can't use readback heaps for postbuild info, so need to stick a fake mustache
  on the readback heap
2025-02-11 13:43:23 +00:00
baldurk c2c055f807 Fix accidental case fallthrough 2025-02-11 00:22:11 +00:00
baldurk 1c7a4c24dd Unwrap staticmethod if necessary when checking python docstrings
* Happens on github CI for some reason.
2025-02-11 00:21:39 +00:00
baldurk 83a3f480c2 Update CI to build on ubuntu-22.04
* ubuntu-20.04 is being deprecated by github's runners
2025-02-11 00:21:09 +00:00
baldurk 98ce506da5 Specialise std::hash for old gcc/clang 2025-02-10 18:28:53 +00:00
baldurk 108987fdd9 Remove unused variable 2025-02-10 18:23:21 +00:00
baldurk 6c87445a03 Don't scissor shaderOut in pixel history
* This is not strictly necessary, just reduced wasted GPU work, but potentially
  this could affect accurate output for these values. We only need to scissor
  for cases where we're doing counters for checking writes and test passes.
2025-02-10 17:52:31 +00:00
baldurk 1befd5c32a Always consider subgroup index non-flat
* This is needed to ensure we get the right value for helper lanes
2025-02-10 17:52:31 +00:00
baldurk cfefa5d5ef Add a test for new group ops 2025-02-10 17:52:31 +00:00
baldurk da04916a77 Update capability & extension checking for SPIR-V debugging 2025-02-10 17:52:30 +00:00
baldurk af645809e5 Implement subgroup operations in SPIR-V debugger 2025-02-10 17:52:30 +00:00
baldurk 56decb5d8c Pass current active mask of workgroup to threads when stepping 2025-02-10 17:52:30 +00:00
baldurk 876b0f8ff7 Pass subgroup size separately from workgroup size when beginning debug
* For compute shaders these can be different, in vertex/pixel these are at most
  identical
2025-02-10 17:52:30 +00:00
baldurk c3abc4504c Fetch subgroup data for vertex & compute shaders the same as pixel 2025-02-10 17:52:30 +00:00
baldurk 1347741463 Add some helpers for setting up debug-grab patching spec constants 2025-02-10 17:52:30 +00:00
baldurk c52878b072 Add names and some missing destroys to GPUBuffers 2025-02-10 17:52:30 +00:00
baldurk 1ac3cf6baa Add dummy buffer writes to PostVS on binding path 2025-02-10 17:52:30 +00:00
baldurk af4bd659e0 Add fetch of subgroup data via GPU readback, handling helpers in PS 2025-02-10 17:52:30 +00:00
baldurk 8d3f40b0a9 Prepare SPIR-V debugger for larger workgroup sizes
* The workgroup size is passed in at creation time, and we handle the potenttial
  for multiple quads by identifying quads via quad ID
2025-02-10 17:52:30 +00:00
baldurk 1cfb684d16 Fetch subgroup configuration (which extensions) and max subgroup size 2025-02-10 17:52:30 +00:00
baldurk 7fcf64a562 Add query for per-thread properties when shader debugging
* This is distinct from input values or builtins because they're entirely
  internal for configuring the workgroup
2025-02-10 17:52:29 +00:00
baldurk 983cf91ef0 Track enabled status of some subgroup vulkan extensions we care about 2025-02-10 17:52:29 +00:00
baldurk b191a02cd1 Add helper tracking in SPIR-V editor to track U32 constants
* It's nice to avoid redeclaring the same constant over and over
2025-02-10 17:52:29 +00:00
baldurk c5b0cd2423 Add development-only checks of SPIR-V edits for valid IDs 2025-02-10 17:52:29 +00:00
baldurk f3ed63c7bf Refactor PS Input fetcher patch to be less pixel-specific
* We also (for now) preserve the existing entry point to keep codegen as similar
  as possible.
2025-02-10 17:52:29 +00:00
baldurk 046b5a0fd1 Add a pipeline cache to speed up repeated recreation of patched shaders 2025-02-10 17:52:29 +00:00
baldurk aae58c765a Add a helper for changing/wrapping an entry point in another function 2025-02-10 17:52:29 +00:00
baldurk 4ad2deb049 Add a helper for running an action with proper barriers for feedback 2025-02-10 17:52:29 +00:00
baldurk 7369b8ad6c Refactor vulkan shader debugging to not apply derivatives
* We still use derivatives to fetch the input values for the quad when
  debugging, but we do it on the shader side and read back the raw inputs rather
  than input+derivatives
2025-02-10 17:52:29 +00:00
baldurk 0af29aa6a2 Remove old helper function 2025-02-10 17:52:29 +00:00
baldurk 3fdbcbe638 Update VSOut fetch to use new patched-descriptor helpers 2025-02-10 17:52:28 +00:00
baldurk 26ef7efaa5 Update shader debugging to use new patched-descriptor helpers 2025-02-10 17:52:28 +00:00