anv: Land support for VK_KHR_ray_tracing
This is a meta-issue to track upstreaming of all the various bits required for ray-tracing on Intel hardware.
Compiling ray-tracing shaders:
-
nir,spirv: Add support for SPV_KHR_ray_tracing (!6479 (merged)) -
NIR: Add a new nir_jump_halt instruction (!5071 (merged)) -
intel/compiler: Add support for ray-tracing shaders (!7356 (merged)) -
vulkan,spirv: Updates for the final ray-tracing extensions (!7734 (merged)) -
anv: Ray-tracing pipelines and dispatch (!8637 (merged)) -
anv: Properly cache ray-tracing shaders in the pipeline cache (!8637 (merged)) -
anv: Support deferred operations for ray-tracing pipeline compilation -
intel/fs: shader call lowering fix (!12113 (merged))
Various fixes:
-
!15969 (merged) -
!15755 (merged) -
!16036 (merged) -
!16058 (merged) -
!16059 (merged) -
!16075 (merged) -
!16964 (merged) -
!17330 (merged)
Workarounds
GPU-side BVH building
This requires a bunch of OpenCL kernels and compiler support in NIR and our back-end for enough of kernel SPIR-V to compile them.
-
nir,spirv: Add generic pointers support (!6332 (merged)) -
Implement SPV_INTEL_subgroups (!7448 (merged)) -
anv: Add support for shaderInt64 on Gen11+ (!7329 (merged)) -
nir: Optimize some subgroup ops (!7366 (merged)) -
Move libclc stuff to common code (!9156 (merged)) -
intel/compiler: Add a little OpenCL kernel compliation binary (!13171 (merged)) -
nir_opt_memcpy optimizations (!13166 (merged)) -
NULL pointers in SPIRV (!10672 (merged)) -
nir/algebraic optimizations (!13167 (merged)) -
nir/lower_io validation issue (!13168 (merged)) -
lowering fix (!12113 (merged))
-
-
anv: Add support for compiling and dispatching OpenCL-style kernels (!16970 (merged)) -
Import BVH building kernels and related infrastructure (!16970 (merged)) -
Implement vkCmdBuildAccelerationStructures[Indirect]KHR
Those last two are place-holders. I'm sure the actual MRs will have different names.
Implement the API side of VK_KHR_ray_tracing
-
vulkan,anv: Add a trivial implementation of VK_KHR_deferred_host_operation (!7735 (merged)) -
anv: Implement acceleration structure basics (!7736 (closed))