diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/panfrost/midgard/midgard_compile.h | 1 | ||||
-rw-r--r-- | src/panfrost/midgard/midgard_nir_algebraic.py | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/panfrost/midgard/midgard_compile.h b/src/panfrost/midgard/midgard_compile.h index c59732fbd60..bf98342c4f6 100644 --- a/src/panfrost/midgard/midgard_compile.h +++ b/src/panfrost/midgard/midgard_compile.h @@ -38,7 +38,6 @@ midgard_compile_shader_nir(nir_shader *nir, panfrost_program *program, bool is_b static const nir_shader_compiler_options midgard_nir_options = { .lower_ffma = true, - .lower_sub = true, .lower_scmp = true, .lower_flrp16 = true, .lower_flrp32 = true, diff --git a/src/panfrost/midgard/midgard_nir_algebraic.py b/src/panfrost/midgard/midgard_nir_algebraic.py index 3dc1900cca1..e8547a5067c 100644 --- a/src/panfrost/midgard/midgard_nir_algebraic.py +++ b/src/panfrost/midgard/midgard_nir_algebraic.py @@ -37,6 +37,9 @@ algebraic_late = [ (('ineg', a), ('isub', 0, a)), + # Likewise we want fsub lowered but not isub + (('fsub', a, b), ('fadd', a, ('fneg', b))), + # These two special-cases save space/an op than the actual csel op + # scheduler flexibility |