On 26.08.2014 15:17, Abdiel Janulgue wrote: > On 23.08.2014 02:57, Ian Romanick wrote: >> Patches 2, 3, 4, 5, 6, 9, 10, 11, 12, 15, and 17 are >> >> Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> >> >> (Additional question below.) >> >> On 08/18/2014 05:17 AM, Abdiel Janulgue wrote: >>> v3 of clamp and saturate optimizations >>> >>> Changes since v1: >>> - Only remove the old try_emit_saturate operations after the new >>> optimizations are >>> in place. (Matt, Ian) >>> - Output [min/max](saturate(x),b) instead of saturate([min/max](x,b)) as >>> suggested >>> by Ilia Mirkin. >>> - The change above required some refactoring in the fs/vec4 backend to >>> allow >>> propagation of certain instructions with saturate flag to SEL. For other >>> instructions, >>> we don't propagate saturate instructions, similar to the previous >>> behaviour. >>> Since v2: >>> - Fix comments to reflect we are doing a commutative operation, add >>> missing conditions >>> when optimizing clamp in opt_algebraic pass. >>> - Refactor try_emit_saturate() in i965/fs instead of completely removing >>> it. This fixed a >>> a regression where the changes emitted an (extra) unnecessary saturated >>> mov when the >>> expression generating src can do saturate directly instead. >>> - Fix regression in the i965/vec4 copy-propagate optimization caused by >>> ignoring >>> channels in the propagated instruction. >>> - Count generated loops from the fs/vec4 generator. >>> >>> Results from our shader-db: >>> >>> total instructions in shared programs: 4538627 -> 4560104 (0.47%) >>> instructions in affected programs: 45144 -> 66621 (47.57%) >>> total loops in shared programs: 887 -> 711 (-19.84%) >>> GAINED: 0 >>> LOST: 36 >> >> Can we try benchmarking the applications that have shaders that lost >> SIMD16 before pushing these changes? I'd hate to have an "optimization" >> that actually makes performance worse. :( > > There were a couple of games that lost simd16: heroes-of-newerth and > savage2. However, it is interesting that the same games also reported an > even higher amount of shaders that gained improvements (loop reductions > and instruction count reduction) with the saturate optimizations > switched on. > > I did a preliminary comparison on HoN: > > x Heroes_Of_Newearth_master > + Heroes_Of_Newearth_sat_fixes > > N Min Max Median Avg Stddev > x 11 53.1 55.8 55.1 54.872727 0.83317574 > + 11 54.2 56 55.1 55.036364 0.59375538 > No difference proven at 95.0% confidence > > I'll post the results of savage2 as soon as I get it running.
Savage 2 results (maximum-quality settings, AA turned off): x savage2.master + savage2.sat_fixes N Min Max Median Avg Stddev x 11 16.1 35.2 29.7 27.881818 5.7516638 + 11 18.2 35 30.7 28.718182 5.4258305 No difference proven at 95.0% confidence Both of the apps are tested on IVB. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev