nir/opt_algebraic: optimize d3d9 ftrunc
Foz-DB Navi21: Totals from 85 (0.11% of 79395) affected shaders: MaxWaves: 1972 -> 1968 (-0.20%) Instrs: 48682 -> 47067 (-3.32%) CodeSize: 255664 -> 247172 (-3.32%) VGPRs: 3752 -> 3768 (+0.43%) Latency: 154414 -> 150360 (-2.63%) InvThroughput: 37186 -> 35081 (-5.66%) VClause: 847 -> 865 (+2.13%); split: -0.24%, +2.36% SClause: 768 -> 796 (+3.65%) Copies: 2763 -> 2869 (+3.84%); split: -0.14%, +3.98% VALU: 28133 -> 26781 (-4.81%) SALU: 7182 -> 6939 (-3.38%) Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32393>
This commit is contained in:
@@ -437,6 +437,12 @@ optimizations.extend([
|
||||
|
||||
(('~flrp', a, 0.0, c), ('fadd', ('fmul', ('fneg', a), c), a)),
|
||||
|
||||
# D3D9 vertex shader trunc
|
||||
(('fadd', ('ffloor', a), ('b2f', ('iand', ('flt', a, 0), ('flt', ('fneg', ('ffract', a)), ('ffract', a))))), ('ftrunc', ('fadd', a, 0))),
|
||||
# D3D9 pixel shader trunc
|
||||
(('fadd', ('ffloor', a), ('b2f', ('inot', ('fge', 0, ('fmin', ('fneg', a), ('ffract', a)))))), ('ftrunc', ('fadd', a, 0))),
|
||||
(('fadd', ('ffloor', a), ('b2f', ('flt', 0, ('fmin', ('fneg', a), ('ffract', a))))), ('ftrunc', ('fadd', a, 0))),
|
||||
|
||||
(('ftrunc@16', a), ('bcsel', ('flt', a, 0.0), ('fneg', ('ffloor', ('fabs', a))), ('ffloor', ('fabs', a))), 'options->lower_ftrunc'),
|
||||
(('ftrunc@32', a), ('bcsel', ('flt', a, 0.0), ('fneg', ('ffloor', ('fabs', a))), ('ffloor', ('fabs', a))), 'options->lower_ftrunc'),
|
||||
(('ftrunc@64', a), ('bcsel', ('flt', a, 0.0), ('fneg', ('ffloor', ('fabs', a))), ('ffloor', ('fabs', a))),
|
||||
|
||||
Reference in New Issue
Block a user