skia2/tests/sksl/metal
John Stiles b21fac2481 Detect cases in Metal where out params are swizzled.
We will need to emit a helper function to work around this case, as
GLSL supports swizzled out params, but Metal does not. In this CL, we
do not yet synthesize the helper function, but we annotate the code with
a comment indicating affected calls. (Of course, this will be replaced
with a helper function in a followup CL)

Even detecting a swizzle is actually an interesting problem, because
index expressions are sometimes actually swizzles, depending on the type
of the base expression. Also, the index or swizzle might be nested in
several other valid assignable expressions.

Change-Id: I8c74f9a7daec08eff1f32387f8b6b96851c1bd6e
Bug: skia:10855
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341057
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-12-07 17:12:09 +00:00
..
golden Detect cases in Metal where out params are swizzled. 2020-12-07 17:12:09 +00:00
CastHalf4ToMat2x2.sksl
CastMat2x2ToMat3x3.sksl
CastMat2x3ToMat4x4.sksl
CastMat4x4ToMat3x4.sksl
CastMat4x4ToMat4x3.sksl
InterfaceBlocksRequireBinding.sksl Enforce that layout(binding=...) is set on interface blocks in Metal. 2020-12-04 19:30:35 +00:00
NumericGlobals.sksl
OpaqueTypeInInterfaceBlock.sksl Detect unsupported types for MemoryLayout and report errors. 2020-11-16 19:14:48 +00:00
OpaqueTypeInStruct.sksl Detect unsupported types for MemoryLayout and report errors. 2020-11-16 19:14:48 +00:00
OutParams.sksl Detect cases in Metal where out params are swizzled. 2020-12-07 17:12:09 +00:00
OutVarsRequireLocation.sksl Enforce layout(location=...) on Metal out variables. 2020-12-01 20:41:15 +00:00
SamplerGlobals.sksl