From: Matt Turner Date: Sat, 24 Jan 2015 05:58:51 +0000 (-0800) Subject: i965: Add LINTERP/CINTERP to can_do_cmod(). X-Git-Tag: upstream/17.1.0~20884 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d91390634ff8c50b217d55372db186d03996e9f7;p=platform%2Fupstream%2Fmesa.git 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. --- diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index 3eea088..7fc4a84 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;