Fix fragment program color output mapping (0=depth, 1=color)

This commit is contained in:
Brian 2007-08-24 18:26:42 -06:00
parent 29dc25bcfe
commit 703140bbd5
3 changed files with 7 additions and 7 deletions

View file

@ -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;

View file

@ -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

View file

@ -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 {