// float4 Fn1(ConsumeStructuredBuffer arg_c) // { // return arg_c.Consume(); // } float4 Fn2(AppendStructuredBuffer arg_a, ConsumeStructuredBuffer arg_c) { arg_a.Append(float4(1,2,3,4)); return arg_c.Consume(); } AppendStructuredBuffer sbuf_a; ConsumeStructuredBuffer sbuf_c; AppendStructuredBuffer sbuf_unused; float4 main(uint pos : FOO) : SV_Target0 { // Fn1(sbuf_c); return Fn2(sbuf_a, sbuf_c); }