diff --git a/src/amd/vulkan/radv_nir_lower_ray_queries.c b/src/amd/vulkan/radv_nir_lower_ray_queries.c index 5945c1a6e61..e7fe2d56fcf 100644 --- a/src/amd/vulkan/radv_nir_lower_ray_queries.c +++ b/src/amd/vulkan/radv_nir_lower_ray_queries.c @@ -692,22 +692,6 @@ lower_rq_terminate(nir_builder *b, nir_ssa_def *index, nir_intrinsic_instr *inst rq_store_var(b, index, vars->incomplete, nir_imm_bool(b, false), 0x1); } -static bool -is_rq_intrinsic(nir_intrinsic_op intrinsic) -{ - switch (intrinsic) { - case nir_intrinsic_rq_confirm_intersection: - case nir_intrinsic_rq_generate_intersection: - case nir_intrinsic_rq_initialize: - case nir_intrinsic_rq_load: - case nir_intrinsic_rq_proceed: - case nir_intrinsic_rq_terminate: - return true; - default: - return false; - } -} - bool radv_nir_lower_ray_queries(struct nir_shader *shader, struct radv_device *device) { @@ -747,7 +731,7 @@ radv_nir_lower_ray_queries(struct nir_shader *shader, struct radv_device *device nir_intrinsic_instr *intrinsic = nir_instr_as_intrinsic(instr); - if (!is_rq_intrinsic(intrinsic->intrinsic)) + if (!nir_intrinsic_is_ray_query(intrinsic->intrinsic)) continue; nir_deref_instr *ray_query_deref = diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 349c8fabb89..7a3ac09c582 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -2011,6 +2011,22 @@ nir_intrinsic_can_reorder(nir_intrinsic_instr *instr) bool nir_intrinsic_writes_external_memory(const nir_intrinsic_instr *instr); +static inline bool +nir_intrinsic_is_ray_query(nir_intrinsic_op intrinsic) +{ + switch (intrinsic) { + case nir_intrinsic_rq_confirm_intersection: + case nir_intrinsic_rq_generate_intersection: + case nir_intrinsic_rq_initialize: + case nir_intrinsic_rq_load: + case nir_intrinsic_rq_proceed: + case nir_intrinsic_rq_terminate: + return true; + default: + return false; + } +} + /** Texture instruction source type */ typedef enum { /** Texture coordinate