Fix fragment program color output mapping (0=depth, 1=color)
authorBrian <brian.paul@tungstengraphics.com>
Sat, 25 Aug 2007 00:26:42 +0000 (18:26 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Sat, 25 Aug 2007 00:26:42 +0000 (18:26 -0600)
src/mesa/pipe/i915simple/i915_fpc_translate.c
src/mesa/pipe/softpipe/sp_quad_fs.c
src/mesa/pipe/tgsi/mesa/mesa_to_tgsi.c

index 6fcba71..c2ad80c 100644 (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;
index bfc31f9..cb0b6d8 100755 (executable)
@@ -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
index 7839076..182a7ef 100644 (file)
@@ -356,11 +356,11 @@ map_register_file_index(
           * color results -> index 1, 2, ...\r
           */\r
         if( index == FRAG_RESULT_DEPR ) {\r
-            mapped_index = TGSI_ATTRIB_POS;\r
+            mapped_index = 0; /**TGSI_ATTRIB_POS;**/\r
          }\r
          else {\r
             assert( index == FRAG_RESULT_COLR );\r
-            mapped_index = TGSI_ATTRIB_COLOR0;\r
+            mapped_index = 1; /**TGSI_ATTRIB_COLOR0;**/\r
          }\r
       }\r
       else {\r