Mesa (master): i915: Add support for reading output regs in the FS.
Eric Anholt
anholt at kemper.freedesktop.org
Tue Aug 17 23:39:32 UTC 2010
Module: Mesa
Branch: master
Commit: e43b250fc076aea9e4b5319fdf409e95b28ac8fc
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e43b250fc076aea9e4b5319fdf409e95b28ac8fc
Author: Eric Anholt <eric at anholt.net>
Date: Tue Aug 17 15:51:34 2010 -0700
i915: Add support for reading output regs in the FS.
Fixes glsl-unused-varying and many others, since we produce an output
reg read any time gl_FragColor is written inside an if statement.
---
src/mesa/drivers/dri/i915/i915_fragprog.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/src/mesa/drivers/dri/i915/i915_fragprog.c b/src/mesa/drivers/dri/i915/i915_fragprog.c
index 2ba0d2c..3101bd1 100644
--- a/src/mesa/drivers/dri/i915/i915_fragprog.c
+++ b/src/mesa/drivers/dri/i915/i915_fragprog.c
@@ -143,6 +143,20 @@ src_vector(struct i915_fragment_program *p,
}
break;
+ case PROGRAM_OUTPUT:
+ switch (source->Index) {
+ case FRAG_RESULT_COLOR:
+ src = UREG(REG_TYPE_OC, 0);
+ break;
+ case FRAG_RESULT_DEPTH:
+ src = UREG(REG_TYPE_OD, 0);
+ break;
+ default:
+ i915_program_error(p, "Bad source->Index: %d", source->Index);
+ return 0;
+ }
+ break;
+
/* Various paramters and env values. All emitted to
* hardware as program constants.
*/
More information about the mesa-commit
mailing list