f2bd501ce3
Pointers require decorating the variable with a * to read back the value, which the code generator did not properly handle. There was a special case to add the * but it only supported assignment into the variable, not reading back. References require no special decoration. This change fixes compile errors in Functions.sksl with the "bar" function. (This test marks `x` as an inout but never actually mutates it.) It also allows us to remove a special-case workaround for `frexp`, an intrinsic function which uses a reference for its out-parameter. Additionally, this CL adds a non-inlining copy of "OutParams.sksl" to the Metal test directory, as most of our tests which use out-parameters end up inlining all the code, which hides these sorts of bugs. Change-Id: I31c4db04f6b512b4cd4fe65b3347b82bdbf039cd Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341000 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: John Stiles <johnstiles@google.com> |
||
---|---|---|
.. | ||
blend | ||
errors | ||
fp | ||
glsl | ||
inliner | ||
metal | ||
shared | ||
spirv | ||
workarounds |