blob: 9900524ae3219c9e3dc0f988a789d4ee155cbb1c [file] [log] [blame]
uniform half4 colorGreen;
inline void outParameterWrite(out half4 x) {
x = colorGreen;
}
inline void outParameterWriteIndirect(out half4 c) {
outParameterWrite(c);
}
inline void inoutParameterWrite(inout half4 x) {
x *= x;
}
inline void inoutParameterWriteIndirect(inout half4 x) {
inoutParameterWrite(x);
}
inline void inoutParameterRead(inout half4 x) {
half4 scratch = x * x;
}
inline void inoutParameterIgnore(inout half4 x) {
half4 scratch = colorGreen * colorGreen;
}
half4 main(float2 coords) {
half4 c;
// These functions write to their `out` param.
outParameterWrite(c);
outParameterWriteIndirect(c);
inoutParameterWrite(c);
inoutParameterWriteIndirect(c);
// These functions don't write to their `out` param.
inoutParameterRead(c);
inoutParameterIgnore(c);
return c;
}