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.
This commit is contained in:
Eric Anholt 2010-08-17 15:51:34 -07:00
parent 66690864ef
commit e43b250fc0

View file

@ -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.
*/