[Mesa-dev] [PATCH 3/3] i965/fs: Combine tex/fb_write operations (opt)

Pohjolainen, Topi topi.pohjolainen at intel.com
Sun Apr 12 00:02:03 PDT 2015


On Fri, Apr 10, 2015 at 12:52:04PM -0700, Ben Widawsky wrote:
> Certain platforms support the ability to sample from a texture, and write it out
> to the file RT - thus saving a costly send instructions (note that this is a
> potnential win if one wanted to backport to a tag that didn't have the patch
> from Topi which removed excess MOVs from LOAD_PAYLOAD - 97caf5fa04dbd2),
> 
> v2: Modify the algorithm. Instead of iterating in reverse through blocks and
> insts, since the last block/inst is the only thing which can benefit. Rebased
> on top of Ken's patching modifying is_last_send
> 
> v3: Rebased over almost 2 months, and Incorporated feedback from Matt:
> Some comment typo fixes and rewordings.
> Whitespace
> Move the optimization pass outside of the optimize loop
> 
> v4: Some cosmetic changes requested from Ken. These changes ensured that the
> optimization function always returned true when an optimization occurred, and
> false when one did not. This behavior did not exist with the original patch. As
> a result, having the separate helper function which Matt did not like no longer
> made sense, and so now I believe everyone should be happy.
> 
> Braswell data:
> Benchmark (n=20)   %diff
> *OglBatch5         -1.4
> *OglBatch7         -1.79
> OglFillTexMulti    5.57
> OglFillTexSingle   1.16
> OglShMapPcf        0.05
> OglTexFilterAniso  3.01
> OglTexFilterTri    1.94
> 
> SKL data:
> NONE COLLECTED
> 
> No piglit regressions:
> (http://otc-gfxtest-01.jf.intel.com:8080/view/dev/job/bwidawsk/112/)
> 
> [*] I believe my measurements are incorrect for Batch5-7. If I add this new
> optimization, but never emit the new instruction I see similar results.

I'm seeing ~7% (with 95% confidence) decrease in OglBatch6/7 when I'm
launching resolve clears with the light-weight mechanism provided by blorp.
This may be totally unrelated but lets see if I get any smarter.


More information about the mesa-dev mailing list