From: Kenneth Graunke Date: Fri, 31 Jan 2014 01:50:02 +0000 (-0800) Subject: i965: Fix math instruction hstride assertions on Broadwell. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e1cdafe6f78b4e271fd22da2e8d92c2684282e77;p=mesa.git 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 --- diff --git a/src/mesa/drivers/dri/i965/gen8_generator.cpp b/src/mesa/drivers/dri/i965/gen8_generator.cpp index ee5f792187f..1e2ac09bfd5 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);