mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 19:40:10 +01:00
intel/compiler: Pass around intel_device_info parameter in helper
This will help us to handle code path separately for Xe3+ for updated 64bit memory data structure for RT. Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com> Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047>
This commit is contained in:
parent
6deb1950a4
commit
64fd66407b
4 changed files with 15 additions and 10 deletions
|
|
@ -203,7 +203,7 @@ brw_nir_lower_intersection_shader(nir_shader *intersection,
|
|||
brw_nir_rt_load_mem_ray(b, &ray_def, BRW_RT_BVH_LEVEL_WORLD);
|
||||
|
||||
struct brw_nir_rt_mem_hit_defs hit_in = {};
|
||||
brw_nir_rt_load_mem_hit(b, &hit_in, false);
|
||||
brw_nir_rt_load_mem_hit(b, &hit_in, false, devinfo);
|
||||
|
||||
nir_def *max_t = ray_def.t_far;
|
||||
|
||||
|
|
|
|||
|
|
@ -282,7 +282,7 @@ lower_ray_query_intrinsic(nir_builder *b,
|
|||
|
||||
case nir_intrinsic_rq_proceed: {
|
||||
nir_def *not_done =
|
||||
nir_inot(b, brw_nir_rt_query_done(b, stack_addr));
|
||||
nir_inot(b, brw_nir_rt_query_done(b, stack_addr, state->devinfo));
|
||||
nir_def *not_done_then, *not_done_else;
|
||||
|
||||
nir_push_if(b, not_done);
|
||||
|
|
@ -307,7 +307,8 @@ lower_ray_query_intrinsic(nir_builder *b,
|
|||
nir_trace_ray_intel(b, state->rq_globals, level, ctrl, .synchronous = true);
|
||||
|
||||
struct brw_nir_rt_mem_hit_defs hit_in = {};
|
||||
brw_nir_rt_load_mem_hit_from_addr(b, &hit_in, hw_stack_addr, false);
|
||||
brw_nir_rt_load_mem_hit_from_addr(b, &hit_in, hw_stack_addr, false,
|
||||
state->devinfo);
|
||||
|
||||
if (shadow_stack_addr)
|
||||
spill_query(b, hw_stack_addr, shadow_stack_addr);
|
||||
|
|
@ -365,7 +366,8 @@ lower_ray_query_intrinsic(nir_builder *b,
|
|||
BRW_RT_BVH_LEVEL_WORLD);
|
||||
brw_nir_rt_load_mem_ray_from_addr(b, &object_ray_in, stack_addr,
|
||||
BRW_RT_BVH_LEVEL_OBJECT);
|
||||
brw_nir_rt_load_mem_hit_from_addr(b, &hit_in, stack_addr, committed);
|
||||
brw_nir_rt_load_mem_hit_from_addr(b, &hit_in, stack_addr, committed,
|
||||
state->devinfo);
|
||||
|
||||
nir_def *sysval = NULL;
|
||||
switch (nir_intrinsic_ray_query_value(intrin)) {
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ lower_rt_intrinsics_impl(nir_function_impl *impl,
|
|||
case MESA_SHADER_CLOSEST_HIT:
|
||||
case MESA_SHADER_INTERSECTION:
|
||||
brw_nir_rt_load_mem_hit(b, &hit_in,
|
||||
stage == MESA_SHADER_CLOSEST_HIT);
|
||||
stage == MESA_SHADER_CLOSEST_HIT, devinfo);
|
||||
brw_nir_rt_load_mem_ray(b, &object_ray_in,
|
||||
BRW_RT_BVH_LEVEL_OBJECT);
|
||||
FALLTHROUGH;
|
||||
|
|
|
|||
|
|
@ -446,7 +446,8 @@ static inline void
|
|||
brw_nir_rt_load_mem_hit_from_addr(nir_builder *b,
|
||||
struct brw_nir_rt_mem_hit_defs *defs,
|
||||
nir_def *stack_addr,
|
||||
bool committed)
|
||||
bool committed,
|
||||
const struct intel_device_info *devinfo)
|
||||
{
|
||||
nir_def *hit_addr =
|
||||
brw_nir_rt_mem_hit_addr_from_addr(b, stack_addr, committed);
|
||||
|
|
@ -478,10 +479,11 @@ brw_nir_rt_load_mem_hit_from_addr(nir_builder *b,
|
|||
static inline void
|
||||
brw_nir_rt_load_mem_hit(nir_builder *b,
|
||||
struct brw_nir_rt_mem_hit_defs *defs,
|
||||
bool committed)
|
||||
bool committed,
|
||||
const struct intel_device_info *devinfo)
|
||||
{
|
||||
brw_nir_rt_load_mem_hit_from_addr(b, defs, brw_nir_rt_stack_addr(b),
|
||||
committed);
|
||||
committed, devinfo);
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
|
@ -521,11 +523,12 @@ brw_nir_memclear_global(nir_builder *b,
|
|||
}
|
||||
|
||||
static inline nir_def *
|
||||
brw_nir_rt_query_done(nir_builder *b, nir_def *stack_addr)
|
||||
brw_nir_rt_query_done(nir_builder *b, nir_def *stack_addr,
|
||||
const struct intel_device_info *devinfo)
|
||||
{
|
||||
struct brw_nir_rt_mem_hit_defs hit_in = {};
|
||||
brw_nir_rt_load_mem_hit_from_addr(b, &hit_in, stack_addr,
|
||||
false /* committed */);
|
||||
false /* committed */, devinfo);
|
||||
|
||||
return hit_in.done;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue