Skip to content

freedreno: Enable precision-lowering and optimizations.

Hyunjun Ko requested to merge zzoon/mesa:mediump-freedreno into master

This MR is following MR !1043 (closed).

This enables precision lowering at GLSL IR stage by adding an option to set PIPE_SHADER_CAP_FP16. Also includes some passes to optimize redundant fp16 conversions produced during precision-lowering.

  • ir3_cf : fp16 conversion folding at the ir3 compilation.
  • ir3_nir_opt_collapse_fp_conv : nir opt pass for collapsing fp conversions.
  • folding const conversion at ir3_cp.
  • enabling nir_opt_loop_unroll (tested only on a6xx so far).

Besides, this includes a couple of important fixes.

  • Handle half regs of arrays during register allocation
  • Fix a regression for handling values of half const regs.
Edited by Hyunjun Ko

Merge request reports