nir: Add a ray launch size addr intrinsic
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15712>
This commit is contained in:
parent
b5b2bcab54
commit
938c9d9615
|
@ -2481,6 +2481,8 @@ nir_intrinsic_from_system_value(gl_system_value val)
|
|||
return nir_intrinsic_load_ray_launch_id;
|
||||
case SYSTEM_VALUE_RAY_LAUNCH_SIZE:
|
||||
return nir_intrinsic_load_ray_launch_size;
|
||||
case SYSTEM_VALUE_RAY_LAUNCH_SIZE_ADDR_AMD:
|
||||
return nir_intrinsic_load_ray_launch_size_addr_amd;
|
||||
case SYSTEM_VALUE_RAY_WORLD_ORIGIN:
|
||||
return nir_intrinsic_load_ray_world_origin;
|
||||
case SYSTEM_VALUE_RAY_WORLD_DIRECTION:
|
||||
|
@ -2624,6 +2626,8 @@ nir_system_value_from_intrinsic(nir_intrinsic_op intrin)
|
|||
return SYSTEM_VALUE_RAY_LAUNCH_ID;
|
||||
case nir_intrinsic_load_ray_launch_size:
|
||||
return SYSTEM_VALUE_RAY_LAUNCH_SIZE;
|
||||
case nir_intrinsic_load_ray_launch_size_addr_amd:
|
||||
return SYSTEM_VALUE_RAY_LAUNCH_SIZE_ADDR_AMD;
|
||||
case nir_intrinsic_load_ray_world_origin:
|
||||
return SYSTEM_VALUE_RAY_WORLD_ORIGIN;
|
||||
case nir_intrinsic_load_ray_world_direction:
|
||||
|
|
|
@ -106,6 +106,7 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr)
|
|||
case nir_intrinsic_load_subgroup_id:
|
||||
case nir_intrinsic_load_num_subgroups:
|
||||
case nir_intrinsic_load_ray_launch_size:
|
||||
case nir_intrinsic_load_ray_launch_size_addr_amd:
|
||||
case nir_intrinsic_load_subgroup_size:
|
||||
case nir_intrinsic_load_subgroup_eq_mask:
|
||||
case nir_intrinsic_load_subgroup_ge_mask:
|
||||
|
|
|
@ -667,6 +667,7 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader,
|
|||
case nir_intrinsic_load_barycentric_model:
|
||||
case nir_intrinsic_load_ray_launch_id:
|
||||
case nir_intrinsic_load_ray_launch_size:
|
||||
case nir_intrinsic_load_ray_launch_size_addr_amd:
|
||||
case nir_intrinsic_load_ray_world_origin:
|
||||
case nir_intrinsic_load_ray_world_direction:
|
||||
case nir_intrinsic_load_ray_object_origin:
|
||||
|
|
|
@ -1355,6 +1355,9 @@ system_value("rt_arg_scratch_offset_amd", 1)
|
|||
# Whether to call the anyhit shader for an intersection in an intersection shader.
|
||||
system_value("intersection_opaque_amd", 1, bit_sizes=[1])
|
||||
|
||||
# Used for indirect ray tracing.
|
||||
system_value("ray_launch_size_addr_amd", 1, bit_sizes=[64])
|
||||
|
||||
# Load forced VRS rates.
|
||||
intrinsic("load_force_vrs_rates_amd", dest_comp=1, bit_sizes=[32], flags=[CAN_ELIMINATE, CAN_REORDER])
|
||||
|
||||
|
|
|
@ -318,6 +318,7 @@ gl_system_value_name(gl_system_value sysval)
|
|||
ENUM(SYSTEM_VALUE_BARYCENTRIC_PULL_MODEL),
|
||||
ENUM(SYSTEM_VALUE_RAY_LAUNCH_ID),
|
||||
ENUM(SYSTEM_VALUE_RAY_LAUNCH_SIZE),
|
||||
ENUM(SYSTEM_VALUE_RAY_LAUNCH_SIZE_ADDR_AMD),
|
||||
ENUM(SYSTEM_VALUE_RAY_WORLD_ORIGIN),
|
||||
ENUM(SYSTEM_VALUE_RAY_WORLD_DIRECTION),
|
||||
ENUM(SYSTEM_VALUE_RAY_OBJECT_ORIGIN),
|
||||
|
|
|
@ -808,6 +808,7 @@ typedef enum
|
|||
/*@{*/
|
||||
SYSTEM_VALUE_RAY_LAUNCH_ID,
|
||||
SYSTEM_VALUE_RAY_LAUNCH_SIZE,
|
||||
SYSTEM_VALUE_RAY_LAUNCH_SIZE_ADDR_AMD,
|
||||
SYSTEM_VALUE_RAY_WORLD_ORIGIN,
|
||||
SYSTEM_VALUE_RAY_WORLD_DIRECTION,
|
||||
SYSTEM_VALUE_RAY_OBJECT_ORIGIN,
|
||||
|
|
Loading…
Reference in New Issue