[Mesa-dev] Drop GLSL IR opts from i965 backend for gen 7.5+

Timothy Arceri tarceri at itsqueeze.com
Tue Apr 18 05:52:17 UTC 2017


This series completely drops GLSL IR opts from the i965 backend for gen7.5+ (see
patch 7 for why we don't drop them for other gens yet).

The first few patches introduce optimisations which help reduce the 
egressions from dropping brw_do_channel_expressions() and
brw_do_vector_splitting(). We also disable varying packing to 
avoid regressions with varyings used in interpolateAt* functions.

Patch 6 causes the following tests to regress on HSW, but that seems like it might
just be uncovering an existing bug. Any help with resolving this is appreciated,
I couldn't spot anything obviously wrong.

ES31-CTS.functional.shaders.builtin_functions.integer.umulextended.uvec2_highp_vertex
ES31-CTS.functional.shaders.builtin_functions.integer.imulextended.ivec2_highp_vertex
ES31-CTS.functional.shaders.builtin_functions.integer.umulextended.uvec2_highp_geometry
ES31-CTS.functional.shaders.builtin_functions.integer.imulextended.ivec2_highp_geometry


Series overall (i965 BDW):

total instructions in shared programs: 13010293 -> 12963396 (-0.36%)
instructions in affected programs: 4614068 -> 4567171 (-1.02%)
helped: 19585
HURT: 2888

total cycles in shared programs: 246717288 -> 246445198 (-0.11%)
cycles in affected programs: 219549018 -> 219276928 (-0.12%)
helped: 32451
HURT: 33855

total loops in sharedsrc/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp programs: 2933 -> 2933 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0

total spills in shared programs: 14937 -> 14498 (-2.94%)
spills in affected programs: 10435 -> 9996 (-4.21%)
helped: 299
HURT: 30

total fills in shared programs: 20211 -> 19632 (-2.86%)
fills in affected programs: 13504 -> 12925 (-4.29%)
helped: 301
HURT: 30

LOST:   42
GAINED: 59

Note: Most of the spill change is just in Deus Ex see patch 2.

Run time for shader-db on my machine goes from ~795 seconds to
~665 seconds.



More information about the mesa-dev mailing list