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:
committed by
Marge Bot
parent
04abfbca57
commit
d22037b96c
@@ -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 =
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user