skia2/tests/sksl/runtime_errors/IllegalShaderSampling.skvm
John Stiles 85f4226bd3 Fix fuzzer-discovered error with child calls.
The `eval` methods take a shader/blender/colorFilter, and we assumed
when assembling the ChildCall expression that the child expression would
be a VariableReference because opaque objects don't participate in
normal expressions. However, comma-expressions were allowed to contain
opaque types. GLSL doesn't allow opaque types in comma-expressions:

http://screen/8YW59tYDUbBh9eW

Now we disallow them as well.

Change-Id: Iaf88ef7bddb5cc8f1f1e23b515174dfc291e00c7
Bug: oss-fuzz:41072
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/472446
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-11-17 15:44:21 +00:00

19 lines
809 B
Plaintext

### Compilation failed:
error: 11: no match for shader::eval(float2, half4)
error: 12: no match for shader::eval(half4)
error: 13: no match for shader::eval(half4, float2)
error: 14: no match for shader::eval()
error: 15: no match for shader::eval(float3x3)
error: 16: type mismatch: ',' cannot operate on 'int', 'shader'
error: 18: no match for colorFilter::eval()
error: 19: no match for colorFilter::eval(float2)
error: 20: no match for colorFilter::eval(float2, half4)
error: 21: type mismatch: ',' cannot operate on 'shader', 'colorFilter'
error: 23: no match for blender::eval()
error: 24: no match for blender::eval(half4)
error: 25: no match for blender::eval(float2)
error: 26: no match for blender::eval(float2, half4)
error: 27: type mismatch: ',' cannot operate on 'blender', 'blender'
15 errors