From d22037b96c89135473994e772fe6f9d95a7066cf Mon Sep 17 00:00:00 2001 From: Konstantin Seurer Date: Wed, 18 May 2022 20:06:31 +0200 Subject: [PATCH] nir: Add and use nir_intrinsic_is_ray_query helper Signed-off-by: Konstantin Seurer Reviewed-by: Lionel Landwerlin Part-of: --- src/amd/vulkan/radv_nir_lower_ray_queries.c | 18 +----------------- src/compiler/nir/nir.h | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 17 deletions(-) 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