nir/opt_peephole_select: Don't peephole_select expensive math instructions
On some GPUs, especially older Intel GPUs, some math instructions are very expensive. On those architectures, don't reduce flow control to a csel if one of the branches contains one of these expensive math instructions. This prevents a bunch of cycle count regressions on pre-Gen6 platforms with a later patch (intel/compiler: More peephole select for pre-Gen6). v2: Remove stray #if block. Noticed by Thomas. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Thomas Helland <thomashelland90@gmail.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
@@ -3198,7 +3198,7 @@ bool nir_opt_move_comparisons(nir_shader *shader);
|
||||
bool nir_opt_move_load_ubo(nir_shader *shader);
|
||||
|
||||
bool nir_opt_peephole_select(nir_shader *shader, unsigned limit,
|
||||
bool indirect_load_ok);
|
||||
bool indirect_load_ok, bool expensive_alu_ok);
|
||||
|
||||
bool nir_opt_remove_phis_impl(nir_function_impl *impl);
|
||||
bool nir_opt_remove_phis(nir_shader *shader);
|
||||
|
Reference in New Issue
Block a user