nir: Add raytracing shader call lowering pass.
Really copying Jason's pass. Changes: - Instead of all the intel lowering introduce rt_{execute_callable,trace_ray,resume} - Add the ability to use scratch intrinsics directly. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10339>
This commit is contained in:
parent
02c5dc8035
commit
8dfb240b1f
|
@ -298,6 +298,7 @@ NIR_FILES = \
|
|||
nir/nir_lower_returns.c \
|
||||
nir/nir_lower_samplers.c \
|
||||
nir/nir_lower_scratch.c \
|
||||
nir/nir_lower_shader_calls.c \
|
||||
nir/nir_lower_ssbo.c \
|
||||
nir/nir_lower_subgroups.c \
|
||||
nir/nir_lower_system_values.c \
|
||||
|
|
|
@ -186,6 +186,7 @@ files_libnir = files(
|
|||
'nir_lower_returns.c',
|
||||
'nir_lower_samplers.c',
|
||||
'nir_lower_scratch.c',
|
||||
'nir_lower_shader_calls.c',
|
||||
'nir_lower_ssbo.c',
|
||||
'nir_lower_subgroups.c',
|
||||
'nir_lower_system_values.c',
|
||||
|
|
|
@ -4626,6 +4626,14 @@ bool nir_lower_explicit_io(nir_shader *shader,
|
|||
nir_variable_mode modes,
|
||||
nir_address_format);
|
||||
|
||||
bool
|
||||
nir_lower_shader_calls(nir_shader *shader,
|
||||
nir_address_format address_format,
|
||||
unsigned stack_alignment,
|
||||
nir_shader ***resume_shaders_out,
|
||||
uint32_t *num_resume_shaders_out,
|
||||
void *mem_ctx);
|
||||
|
||||
nir_src *nir_get_io_offset_src(nir_intrinsic_instr *instr);
|
||||
nir_src *nir_get_io_vertex_index_src(nir_intrinsic_instr *instr);
|
||||
nir_src *nir_get_shader_call_payload_src(nir_intrinsic_instr *call);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue