i965: Add an assertion that writemask != NULL for non-ARFs.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 9 Sep 2013 22:40:22 +0000 (15:40 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 11 Sep 2013 00:52:59 +0000 (17:52 -0700)
commit169f9c030c16d1247a3a762972d8687d89a16750
treede8f71d4571ccefa5b2a18a372c74f83b8b7d1c1
parent4e5eb8ba25054ede4798fa424e6f32b23aba0f98
i965: Add an assertion that writemask != NULL for non-ARFs.

We've observed GPU hangs on Ivybridge from the following instruction:

mov(8) g115<1>.F 0D { align16 WE_normal NoDDChk 1Q };

There should be no reason to ever set the writemask on a destination
register to zero, except for perhaps the ARF NULL register.

This patch adds an assertion to enforce this for non-ARF registers.
Excluding ARFs is conservative yet should still catch the majority
of mistakes.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
src/mesa/drivers/dri/i965/brw_eu_emit.c