summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2007-10-02 14:17:47 -0600
committerBrian <brian.paul@tungstengraphics.com>2007-10-02 14:17:47 -0600
commit6aab3e3d269b71e8306928088e3603daf082223f (patch)
treeb4f52bdd2aaa74facd706fed0853cc9286b7a953
parent4ad80ad5cfdb9bc23eee15938645a334d227cd72 (diff)
Added TGSI_FILE_OUTPUT case in fetch_src_file_channel().
GLSL output variables (such as vertex varyings) can be read (they're not write-only).
-rw-r--r--src/mesa/pipe/tgsi/exec/tgsi_exec.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mesa/pipe/tgsi/exec/tgsi_exec.c b/src/mesa/pipe/tgsi/exec/tgsi_exec.c
index d757df48d8..e428b250f0 100644
--- a/src/mesa/pipe/tgsi/exec/tgsi_exec.c
+++ b/src/mesa/pipe/tgsi/exec/tgsi_exec.c
@@ -855,6 +855,14 @@ fetch_src_file_channel(
chan->u[3] = mach->Addrs[index->i[3]].xyzw[swizzle].u[3];
break;
+ case TGSI_FILE_OUTPUT:
+ /* vertex varying/output vars can be read too */
+ chan->u[0] = mach->Outputs[index->i[0]].xyzw[swizzle].u[0];
+ chan->u[1] = mach->Outputs[index->i[1]].xyzw[swizzle].u[1];
+ chan->u[2] = mach->Outputs[index->i[2]].xyzw[swizzle].u[2];
+ chan->u[3] = mach->Outputs[index->i[3]].xyzw[swizzle].u[3];
+ break;
+
default:
assert( 0 );
}