From 703140bbd58931046c00b43e52a7c4e9235875ca Mon Sep 17 00:00:00 2001 From: Brian Date: Fri, 24 Aug 2007 18:26:42 -0600 Subject: [PATCH] Fix fragment program color output mapping (0=depth, 1=color) --- src/mesa/pipe/i915simple/i915_fpc_translate.c | 6 +++--- src/mesa/pipe/softpipe/sp_quad_fs.c | 4 ++-- src/mesa/pipe/tgsi/mesa/mesa_to_tgsi.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/mesa/pipe/i915simple/i915_fpc_translate.c b/src/mesa/pipe/i915simple/i915_fpc_translate.c index 6fcba719ae4..c2ad80c5d03 100644 --- a/src/mesa/pipe/i915simple/i915_fpc_translate.c +++ b/src/mesa/pipe/i915simple/i915_fpc_translate.c @@ -237,10 +237,10 @@ get_result_vector(struct i915_fp_compile *p, switch (dest->DstRegister.File) { case TGSI_FILE_OUTPUT: switch (dest->DstRegister.Index) { - case TGSI_ATTRIB_COLOR0: - return UREG(REG_TYPE_OC, 0); - case TGSI_ATTRIB_POS: + case 0: /**TGSI_ATTRIB_POS:**/ return UREG(REG_TYPE_OD, 0); + case 1: /**TGSI_ATTRIB_COLOR0:**/ + return UREG(REG_TYPE_OC, 0); default: i915_program_error(p, "Bad inst->DstReg.Index"); return 0; diff --git a/src/mesa/pipe/softpipe/sp_quad_fs.c b/src/mesa/pipe/softpipe/sp_quad_fs.c index bfc31f94a61..cb0b6d8a77f 100755 --- a/src/mesa/pipe/softpipe/sp_quad_fs.c +++ b/src/mesa/pipe/softpipe/sp_quad_fs.c @@ -136,10 +136,10 @@ shade_quad( /* run shader */ tgsi_exec_machine_run( &machine ); - /* store result color */ + /* store result color (always in output[1]) */ memcpy( quad->outputs.color, - &machine.Outputs[TGSI_ATTRIB_COLOR0].xyzw[0].f[0], + &machine.Outputs[1].xyzw[0].f[0], sizeof( quad->outputs.color ) ); #if 0 diff --git a/src/mesa/pipe/tgsi/mesa/mesa_to_tgsi.c b/src/mesa/pipe/tgsi/mesa/mesa_to_tgsi.c index 78390767df9..182a7eff055 100644 --- a/src/mesa/pipe/tgsi/mesa/mesa_to_tgsi.c +++ b/src/mesa/pipe/tgsi/mesa/mesa_to_tgsi.c @@ -356,11 +356,11 @@ map_register_file_index( * color results -> index 1, 2, ... */ if( index == FRAG_RESULT_DEPR ) { - mapped_index = TGSI_ATTRIB_POS; + mapped_index = 0; /**TGSI_ATTRIB_POS;**/ } else { assert( index == FRAG_RESULT_COLR ); - mapped_index = TGSI_ATTRIB_COLOR0; + mapped_index = 1; /**TGSI_ATTRIB_COLOR0;**/ } } else { -- 2.30.2