diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c b/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c index 15ec441..9bab28f 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c @@ -206,6 +206,10 @@ struct can_use_presub_data { unsigned int AlphaCount; }; +/** + * This callback function counts the number of sources in inst that are + * different from the sources in can_use_presub_data->RemoveSrcs. + */ static void can_use_presub_read_cb( void * userdata, struct rc_instruction * inst, @@ -221,6 +225,8 @@ static void can_use_presub_read_cb( return; for(i = 0; i < 3; i++) { + fprintf(stderr, "Remove %u file=%u index=%u\n", + i, d->RemoveSrcs[i].File, d->RemoveSrcs[i].Index); if (d->RemoveSrcs[i].File == file && d->RemoveSrcs[i].Index == index) { src_type &= @@ -233,6 +239,9 @@ static void can_use_presub_read_cb( if (src_type & RC_SOURCE_ALPHA) d->AlphaCount++; + + fprintf(stderr, "file=%u index=%u src_type=%u RGB=%u Alpha=%u\n", + file, index, src_type, d->RGBCount, d->AlphaCount); } unsigned int rc_inst_can_use_presub(