[Mesa-dev] [PATCH 2/2] i965/blorp: use BRW_COMPRESSION_2NDHALF for second half LPR

Kenneth Graunke kenneth at whitecape.org
Tue Jan 21 09:48:19 PST 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/21/2014 08:07 AM, Topi Pohjolainen wrote:
> No known bugs fixed but this is now in line with fs-generator. No
> regresssions on IVB.
> 
> CC: Paul Berry <stereotype441 at gmail.com> Signed-off-by: Topi
> Pohjolainen <topi.pohjolainen at intel.com> --- 
> src/mesa/drivers/dri/i965/brw_blorp_blit.cpp       | 46
> ++++++++++++++-------- 
> .../drivers/dri/i965/test_blorp_blit_eu_gen.cpp    | 24
> +++++------ 2 files changed, 42 insertions(+), 28 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
> b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp index
> e2c2562..3b92c56 100644 ---
> a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp +++
> b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp @@ -658,6 +658,11 @@
> private: const sampler_message_arg *args, int num_args); void
> render_target_write();
> 
> +   void emit_lrp(const struct brw_reg &dst, +
> const struct brw_reg &src1, +                 const struct brw_reg
> &src2, +                 const struct brw_reg &src3); + /** *
> Base-2 logarithm of the maximum number of samples that can be
> blended. */ @@ -1656,6 +1661,21 @@
> brw_blorp_blit_program::manual_blend_average(unsigned num_samples) 
> }
> 
> void +brw_blorp_blit_program::emit_lrp(const struct brw_reg &dst, +
> const struct brw_reg &src1, +                                 const
> struct brw_reg &src2, +                                 const
> struct brw_reg &src3) +{ +   brw_set_access_mode(&func,
> BRW_ALIGN_16); +   brw_set_compression_control(&func,
> BRW_COMPRESSION_NONE); +   brw_LRP(&func, dst, src1, src2, src3); +
> brw_set_compression_control(&func, BRW_COMPRESSION_2NDHALF); +
> brw_LRP(&func, sechalf(dst), sechalf(src1), sechalf(src2),
> sechalf(src3)); +   brw_set_compression_control(&func,
> BRW_COMPRESSION_COMPRESSED); +   brw_set_access_mode(&func,
> BRW_ALIGN_1); +}

Series is also:
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

As a future small performance improvement, three-source opcodes like
LRP don't actually need to be split into two SIMD8 halves on Haswell
and later.  Would be great to do that too.

Thanks for your work on this, Topi!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iQIcBAEBAgAGBQJS3rLjAAoJEFtb2gcdScw4rV0P/jwpXaN3yjCD7xaNNEYgCKl2
chvWrjoFWFhiKOPv5XDZA5C6vlKZwBpeM7IIO8Rtjg3aOIUjQOK9M4bzdmYb4VI6
5jMhifTAcOH2yFuWolpl40a/m/Ln6XPMXcvIITGaRzB5Dj608+QSpjdPtJOof8Fi
AfGQSvU+DEfILVacir1xK5T9U4ZzPfxlJdzaQ5pby/QkdAamu8lNrx2aOEUMu1Ov
udyXVQCz5caO4VglEnIcgEcKMEZvF8gVMRZrv7V6zQMWuJrw6uYBF4JHQknvGLIG
fhCfpnOHKR81UiKhya/iAxYCGiMduKWCUUn4kQwml0JZsyFA8FD3upORwwVq3ILO
HufK6SqbXqJIpay5CZgzvvgZ+GctsUlFJfPv/3We67yk37u0PT9fyU2wsBt13PYZ
qlkIW7aPa067Ctz9579+nfDT7oyRvdfxU11+mh6pcxcU4N9/lViSEGMEebGthvz7
ZttYzjM/3ex/bOJp+4VfL7mtaTqZ39Vm37/IrfehWpsyLJ0MwE7QbRGmHsHusDc9
LI3L6pldY2uF+74kMyatIW+nuEYQRH1JU6xr0hsnKVvP0h5PYcGN0UYR2uBH6b+Q
ltrBnM4WRu0st3ZKS8GFFz8ogOfFmiMbSwaUEJHBZpY4Q9Wh3ALdgwbv8atAhhrz
Mh6dD7fd3OzzXqL3DWCl
=oqdZ
-----END PGP SIGNATURE-----


More information about the mesa-dev mailing list