diff options
Diffstat (limited to 'src/compiler/nir/nir_inline_functions.c')
-rw-r--r-- | src/compiler/nir/nir_inline_functions.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/compiler/nir/nir_inline_functions.c b/src/compiler/nir/nir_inline_functions.c index 29474bb417b..864638d2315 100644 --- a/src/compiler/nir/nir_inline_functions.c +++ b/src/compiler/nir/nir_inline_functions.c @@ -164,14 +164,16 @@ inline_function_impl(nir_function_impl *impl, struct set *inlined) * This does the actual function inlining and the resulting shader will * contain no call instructions. * - * 4. nir_copy_prop(shader) + * 4. nir_opt_deref(shader) * * Most functions contain pointer parameters where the result of a deref * instruction is passed in as a parameter, loaded via a load_param - * intrinsic, and then turned back into a deref via a cast. Running copy - * propagation gets rid of the intermediate steps and results in a whole - * deref chain again. This is currently required by a number of - * optimizations and lowering passes at least for certain variable modes. + * intrinsic, and then turned back into a deref via a cast. Function + * inlining will get rid of the load_param but we are still left with a + * cast. Running nir_opt_deref gets rid of the intermediate cast and + * results in a whole deref chain again. This is currently required by a + * number of optimizations and lowering passes at least for certain + * variable modes. * * 5. Loop over the functions and delete all but the main entrypoint. * |