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:
@@ -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.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user