On Wed, Apr 3, 2013 at 11:56 PM, Kenneth Graunke <kenn...@whitecape.org>wrote:

> GLBenchmark 2.7's shaders contain conditional blocks like:
>
> if (x) {
>     if (y) {
>         ...
>     }
> }
>
> where the outer conditional's then clause contains exactly one statement
> (the nested if) and there are no else clauses.  This can easily be
> optimized into:
>
> if (x && y) {
>     ...
> }
>
> This saves a few instructions in GLBenchmark 2.7:
>
>     total instructions in shared programs: 11833 -> 11649 (-1.55%)
>     instructions in affected programs:     8234 -> 8050 (-2.23%)
>
> It also helps CS:GO slightly (-0.05%/-0.22%).  More importantly,
> however, it simplifies the control flow graph, which could enable other
> optimizations.
>
> Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
>

Reviewed-by: Matt Turner <matts...@gmail.com>

Any measurable performance improvement?
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to