[Mesa-dev] [PATCH 13/20] i965/fs: Add generator support for simd16 math as 2x simd8

Topi Pohjolainen topi.pohjolainen at intel.com
Fri Apr 11 00:28:53 PDT 2014


Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
---
 src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
index e590bdf..27f49d2 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
@@ -269,8 +269,17 @@ fs_generator::generate_math2_gen7(fs_inst *inst,
 			        struct brw_reg src0,
 			        struct brw_reg src1)
 {
+   int op = brw_math_function(inst->opcode);
+
    assert(inst->mlen == 0);
-   brw_math2(p, dst, brw_math_function(inst->opcode), src0, src1);
+   brw_set_compression_control(p, BRW_COMPRESSION_NONE);
+   brw_math2(p, dst, op, src0, src1);
+
+   if (dispatch_width == 16) {
+      brw_set_compression_control(p, BRW_COMPRESSION_2NDHALF);
+      brw_math2(p, sechalf(dst), op, sechalf(src0), sechalf(src1));
+      brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED);
+   }
 }
 
 void
-- 
1.8.3.1



More information about the mesa-dev mailing list