From d91390634ff8c50b217d55372db186d03996e9f7 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Fri, 23 Jan 2015 21:58:51 -0800 Subject: [PATCH] i965: Add LINTERP/CINTERP to can_do_cmod(). LINTERP is implemented as a PLN instruction or a LINE+MAC. PLN and MAC can do conditional mod. CINTERP is just a MOV. total instructions in shared programs: 5952103 -> 5950284 (-0.03%) instructions in affected programs: 324573 -> 322754 (-0.56%) helped: 1819 We lose the SIMD16 in one Unigine Heaven shader which appears six times in shader-db. --- src/mesa/drivers/dri/i965/brw_shader.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index 3eea088f093..7fc4a84a384 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -905,6 +905,8 @@ backend_instruction::can_do_cmod() const case BRW_OPCODE_SHR: case BRW_OPCODE_SUBB: case BRW_OPCODE_XOR: + case FS_OPCODE_CINTERP: + case FS_OPCODE_LINTERP: return true; default: return false; -- 2.30.2