From: Tom Stellard Date: Tue, 2 Nov 2010 05:06:20 +0000 (-0700) Subject: r300/compiler: Don't track readers into an IF block. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6b999c89ce1a5bf2d5e8533929b8f2101beaa481;p=mesa.git r300/compiler: Don't track readers into an IF block. This makes rc_get_readers_normal() more conservative than it needs to be, but it fixes some incorrect behavior in the optimization passes. --- diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c b/src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c index 5927498818b..885e227e794 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c @@ -624,6 +624,9 @@ void rc_get_readers_normal( data->Abort = 1; return; case RC_OPCODE_IF: + /* XXX We can do better here, but this will have to + * do until this dataflow analysis is more mature. */ + data->Abort = 1; branch_depth++; break; case RC_OPCODE_ELSE: