spirv,nir: Add support for ray-tracing built-ins
Missing in this commit are NIR intrinsics for the ObjectToWorld and WorldToObject built-ins. Those are matrices and so they take a bit more work and justify a separate commit. For now, we add the enums and leave the SYSTEM_VALUE <-> nir_intrinsic conversion commented out. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6479>
This commit is contained in:

committed by
Marge Bot

parent
ed907e5d84
commit
46cd91bb45
@@ -658,6 +658,20 @@ system_value("scratch_base_ptr", 0, bit_sizes=[32,64], indices=[BASE])
|
||||
system_value("constant_base_ptr", 0, bit_sizes=[32,64])
|
||||
system_value("shared_base_ptr", 0, bit_sizes=[32,64])
|
||||
|
||||
# System values for ray tracing.
|
||||
system_value("ray_launch_id", 3)
|
||||
system_value("ray_launch_size", 3)
|
||||
system_value("ray_world_origin", 3)
|
||||
system_value("ray_world_direction", 3)
|
||||
system_value("ray_object_origin", 3)
|
||||
system_value("ray_object_direction", 3)
|
||||
system_value("ray_t_min", 1)
|
||||
system_value("ray_t_max", 1)
|
||||
system_value("ray_hit_kind", 1)
|
||||
system_value("ray_flags", 1)
|
||||
system_value("ray_geometry_index", 1)
|
||||
system_value("ray_instance_custom_index", 1)
|
||||
|
||||
# Driver-specific viewport scale/offset parameters.
|
||||
#
|
||||
# VC4 and V3D need to emit a scaled version of the position in the vertex
|
||||
|
Reference in New Issue
Block a user