From 1bf75a921bcd11dfdc389f490081d83ab536fc58 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Tue, 8 Jun 2010 15:29:04 -0400 Subject: [PATCH] r600: Assert output registers have a valid export index. --- src/mesa/drivers/dri/r600/r700_assembler.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mesa/drivers/dri/r600/r700_assembler.c b/src/mesa/drivers/dri/r600/r700_assembler.c index 2e64a5778c9..652fd65995c 100644 --- a/src/mesa/drivers/dri/r600/r700_assembler.c +++ b/src/mesa/drivers/dri/r600/r700_assembler.c @@ -2609,6 +2609,8 @@ GLboolean next_ins(r700_AssemblerBase *pAsm) if(pAsm->D.dst.rtype == DST_REG_OUT) { + assert(pAsm->D.dst.reg >= pAsm->starting_export_register_number); + if(pAsm->D.dst.op3) { // There is no mask for OP3 instructions, so all channels are written @@ -6347,6 +6349,8 @@ GLboolean Process_Export(r700_AssemblerBase* pAsm, if (export_count == 1) { + assert(starting_register_number >= pAsm->starting_export_register_number); + ucWriteMask = pAsm->pucOutMask[starting_register_number - pAsm->starting_export_register_number]; /* exports Z as a float into Red channel */ if (GL_TRUE == is_depth_export) -- 2.30.2