Fix Gen7 JMPI compilation

Gen7 JMPI Restrictions in bspec:
The JIP data type must be Signed DWord
This commit is contained in:
Homer Hsing 2012-10-19 11:18:23 +08:00 committed by Damien Lespiau
parent e221b0aa78
commit ee32188422
2 changed files with 11 additions and 3 deletions

View File

@ -1319,7 +1319,7 @@ struct brw_instruction
GLint UIP:16;
} branch_2_offset; /* for Gen6, Gen7 2-offsets branch; for Gen7 1-offset branch */
GLint JIP; /* used by Gen6 CALL instructions */
GLint JIP; /* used by Gen6 CALL instructions; Gen7 JMPI */
struct {
GLuint function:4;

View File

@ -430,8 +430,16 @@ int main(int argc, char **argv)
entry->instruction.bits3.JIP = offset; // for CALL, JMPI
else
entry->instruction.bits1.branch.JIP = offset; // for CASE,ELSE,FORK,IF,WHILE
} else if(gen_level >= 7)
entry->instruction.bits3.branch_2_offset.JIP = offset;
} else if(gen_level >= 7) {
int opcode = entry->instruction.header.opcode;
/* Gen7 JMPI Restrictions in bspec:
* The JIP data type must be Signed DWord
*/
if(opcode == BRW_OPCODE_JMPI)
entry->instruction.bits3.JIP = offset;
else
entry->instruction.bits3.branch_2_offset.JIP = offset;
}
}
}