From 6b999c89ce1a5bf2d5e8533929b8f2101beaa481 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Mon, 1 Nov 2010 22:06:20 -0700 Subject: [PATCH] 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. --- src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c | 3 +++ 1 file changed, 3 insertions(+) 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: -- 2.30.2