mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-21 15:50:11 +01:00
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
4 changed files with 1131 additions and 0 deletions
|
|
@ -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);
|
||||
|
|
|
|||
1121
src/compiler/nir/nir_lower_shader_calls.c
Normal file
1121
src/compiler/nir/nir_lower_shader_calls.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue