xref: /aosp_15_r20/external/skia/resources/sksl/errors/UnassignedOutParameter.rts (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1struct S { float2 value; };
2
3void testIn(in float2 a, in float2 b, in float2 c)             { a = float2(1); }
4void testOut(out float2 a, out float2 b, out float2 c)         { a = float2(1); }
5void testInout(inout float2 a, inout float2 b, inout float2 c) { a = float2(1); }
6
7void testSIn(in S a, in S b, in S c)             { a.value = float2(1); }
8void testSOut(out S a, out S b, out S c)         { a.value = float2(1); }
9void testSInout(inout S a, inout S b, inout S c) { a.value = float2(1); }
10
11void func(float2 p) {
12    testIn(p, p, p);
13    testOut(p, p, p);
14    testInout(p, p, p);
15
16    S s;
17    testSIn(s, s, s);
18    testSOut(s, s, s);
19    testSInout(s, s, s);
20}
21
22/*%%*
23function 'testOut' never assigns a value to out parameter 'b'
24function 'testOut' never assigns a value to out parameter 'c'
25function 'testSOut' never assigns a value to out parameter 'b'
26function 'testSOut' never assigns a value to out parameter 'c'
27*%%*/
28