xref: /aosp_15_r20/external/skia/resources/sksl/errors/OverloadedBuiltin.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 color;
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workerhalf fma(half a, half b) { return 0; /* allowed */ }
4*c8dee2aaSAndroid Build Coastguard Workerhalf fma(half a, half b, half c) { return 0; /* error: overloads a builtin */ }
5*c8dee2aaSAndroid Build Coastguard Workerhalf fma(half a, half b, half c, half d) { return 0; /* allowed */ }
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Workerhalf2 sin(half2 a) { return half2(0); /* error: overloads a builtin */ }
8*c8dee2aaSAndroid Build Coastguard Workerfloat3 sin(float3 a) { return float3(0); /* error: overloads a builtin */ }
9*c8dee2aaSAndroid Build Coastguard Workerfloat4 sin(inout float4 a) { return float4(0); /* error: overloads a builtin */ }
10*c8dee2aaSAndroid Build Coastguard Workerhalf2x2 sin(half2x2 a) { return half2x2(0); /* allowed */ }
11*c8dee2aaSAndroid Build Coastguard Workerfloat3x3 sin(float3x3 a) { return float3x3(0); /* allowed */ }
12*c8dee2aaSAndroid Build Coastguard Worker
13*c8dee2aaSAndroid Build Coastguard Workerhalf cos(half2 a) { return 0; /* error: overloads a builtin (despite return type mismatch) */ }
14*c8dee2aaSAndroid Build Coastguard Workerfloat2 cos(half2 a) { return 0; /* error: overloads a builtin (despite return type mismatch) */ }
15*c8dee2aaSAndroid Build Coastguard Workerint cos(out half3 a) { return 0; /* error: overloads a builtin (despite return type mismatch) */ }
16*c8dee2aaSAndroid Build Coastguard Worker
17*c8dee2aaSAndroid Build Coastguard Workerfloat pow(float x, float y) { return 0; /* error: overloads a builtin */ }
18*c8dee2aaSAndroid Build Coastguard Workerfloat pow(float2 x, float y) { return 0; /* allowed */ }
19*c8dee2aaSAndroid Build Coastguard Workerfloat pow(half x, float y) { return 0; /* allowed */ }
20*c8dee2aaSAndroid Build Coastguard Worker
21*c8dee2aaSAndroid Build Coastguard Worker/*%%*
22*c8dee2aaSAndroid Build Coastguard Workerduplicate definition of intrinsic function 'fma'
23*c8dee2aaSAndroid Build Coastguard Workerduplicate definition of intrinsic function 'sin'
24*c8dee2aaSAndroid Build Coastguard Workerduplicate definition of intrinsic function 'sin'
25*c8dee2aaSAndroid Build Coastguard Workermodifiers on parameter 1 differ between declaration and definition
26*c8dee2aaSAndroid Build Coastguard Workerduplicate definition of intrinsic function 'cos'
27*c8dee2aaSAndroid Build Coastguard Workerfunctions 'float2 cos(half2 a)' and '$pure $genHType cos($genHType
28*c8dee2aaSAndroid Build Coastguard Workerfunctions 'int cos(out half3 a)' and '$pure $genHType cos($genHType
29*c8dee2aaSAndroid Build Coastguard Workerduplicate definition of intrinsic function 'pow'
30*c8dee2aaSAndroid Build Coastguard Worker*%%*/
31*c8dee2aaSAndroid Build Coastguard Worker
32*c8dee2aaSAndroid Build Coastguard Worker// The `cos` errors are truncated early because the message differs between debug builds
33*c8dee2aaSAndroid Build Coastguard Worker// (which retain the parameter names on intrinsic functions) and release builds (which
34*c8dee2aaSAndroid Build Coastguard Worker// minify the parameter names to save space).
35