From e1cdafe6f78b4e271fd22da2e8d92c2684282e77 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Thu, 30 Jan 2014 17:50:02 -0800 Subject: [PATCH] i965: Fix math instruction hstride assertions on Broadwell. In the final revision of my gen8_generator patch, I updated the MATH instruction's assertion from (dst.hstride == 1) to check that source and destination hstride matched. Unfortunately, I didn't test this enough, and many Piglit tests fail this test. The documentation indicates that "scalar source is also supported", which we believe means <0,1,0> access mode (hstride == 0). If hstride is non-zero, then it must match the destination register. Signed-off-by: Kenneth Graunke Reviewed-by: Matt Turner --- src/mesa/drivers/dri/i965/gen8_generator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/gen8_generator.cpp b/src/mesa/drivers/dri/i965/gen8_generator.cpp index ee5f792..1e2ac09 100644 --- a/src/mesa/drivers/dri/i965/gen8_generator.cpp +++ b/src/mesa/drivers/dri/i965/gen8_generator.cpp @@ -299,7 +299,7 @@ gen8_generator::math(unsigned math_function, { gen8_instruction *inst = next_inst(BRW_OPCODE_MATH); - assert(dst.hstride == src0.hstride); + assert(src0.hstride == 0 || src0.hstride == dst.hstride); gen8_set_math_function(inst, math_function); gen8_set_dst(brw, inst, dst); -- 2.7.4