nir: Add and use nir_intrinsic_is_ray_query helper

Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16593>
This commit is contained in:
Konstantin Seurer
2022-05-18 20:06:31 +02:00
committed by Marge Bot
parent 04abfbca57
commit d22037b96c
2 changed files with 17 additions and 17 deletions
+1 -17
View File
@@ -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 =
+16
View File
@@ -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