i965/fs: Emit compressed BFI2 instructions on Gen > 7.
authorMatt Turner <mattst88@gmail.com>
Tue, 30 Sep 2014 22:06:23 +0000 (15:06 -0700)
committerMatt Turner <mattst88@gmail.com>
Wed, 1 Oct 2014 00:09:34 +0000 (17:09 -0700)
IVB had a restriction that prevented us from emitting compressed
three-source instructions, and although that was lifted on Haswell,
Haswell had a new restriction that said BFI instructions specifically
couldn't be compressed.

src/mesa/drivers/dri/i965/brw_fs_generator.cpp

index 145e0ea44f82c8b9124188e1269a0a0280187408..e20d3ccb8a43b947f044aefc6ef3c225217bd21f 100644 (file)
@@ -1729,7 +1729,7 @@ fs_generator::generate_code(const cfg_t *cfg)
           * Otherwise we would be able to emit compressed instructions like we
           * do for the other three-source instructions.
           */
-         if (dispatch_width == 16) {
+         if (dispatch_width == 16 && brw->gen < 8) {
             brw_set_default_compression_control(p, BRW_COMPRESSION_NONE);
             brw_BFI2(p, firsthalf(dst), firsthalf(src[0]), firsthalf(src[1]), firsthalf(src[2]));
             brw_set_default_compression_control(p, BRW_COMPRESSION_2NDHALF);