Module: Mesa Branch: 7.10 Commit: 9dfa27c92492b667bf3bd23b1da7875597ebbe72 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9dfa27c92492b667bf3bd23b1da7875597ebbe72
Author: Tom Stellard <tstel...@gmail.com> Date: Tue Jan 4 10:53:49 2011 -0800 r300/compiler: Fix black terrain in Civ4 rc_inst_can_use_presub() wasn't checking for too many RGB sources in Alpha instructions or too many Alpha sources in RGB instructions. (cherry picked from commit e96e86d07be86ce12628d750ff686d6aea919fff) --- .../dri/r300/compiler/radeon_compiler_util.c | 9 +-------- 1 files changed, 1 insertions(+), 8 deletions(-) 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 bf393a9..2482fc6 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c @@ -223,7 +223,6 @@ unsigned int rc_inst_can_use_presub( { struct can_use_presub_data d; unsigned int num_presub_srcs; - unsigned int presub_src_type = rc_source_type_mask(presub_writemask); const struct rc_opcode_info * info = rc_get_opcode_info(inst->U.I.Opcode); @@ -253,13 +252,7 @@ unsigned int rc_inst_can_use_presub( num_presub_srcs = rc_presubtract_src_reg_count(presub_op); - if ((presub_src_type & RC_SOURCE_RGB) - && d.RGBCount + num_presub_srcs > 3) { - return 0; - } - - if ((presub_src_type & RC_SOURCE_ALPHA) - && d.AlphaCount + num_presub_srcs > 3) { + if (d.RGBCount + num_presub_srcs > 3 || d.AlphaCount + num_presub_srcs > 3) { return 0; } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit