skia2/tests/sksl/shared
John Stiles f201af8b00 Allow more types of expressions to be directly inlined.
The following types of expression are hoisted directly into the
inlined code:

- Struct field access: `myStruct.myField`
- Swizzles: `myVector.xzy`
- Simple array indexes: `myArray[0]`

This significantly reduces the number of temporary variables generated
by the inliner.

Change-Id: Ifed226ecc87b096ec1e38752c0c38ae32bd31578
Bug: skia:10737, skia:10786
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319919
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-09-30 00:36:40 +00:00
..
golden Allow more types of expressions to be directly inlined. 2020-09-30 00:36:40 +00:00
ArrayConstructors.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
ArrayIndexTypes.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
ArrayTypes.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Assignment.sksl Add unit tests for assignment and invalid field access. 2020-09-25 21:42:22 +00:00
BoolFolding.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Caps.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
CastsRoundTowardZero.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Clockwise.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
ComplexDelete.sksl Add golden outputs for the Metal backend. 2020-09-25 17:46:43 +00:00
ConstantIf.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
ConstArray.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
ConstVariableComparison.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Control.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
DeadDoWhileLoop.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
DeadLoopVariable.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
DependentInitializers.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Derivatives.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
DerivativesFlipY.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
DerivativesUnused.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Discard.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
FloatFolding.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
FragCoordsFlipY.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
FragCoordsNew.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
FragCoordsOld.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
FrExp.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
FunctionArgumentMatch.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
FunctionPrototype.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Functions.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Geometry.geom Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
GeometryExtension.geom Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
GeometryGSInvocations.geom Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
GeometryNoGSInvocations.geom Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Height.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
HelloWorld.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Hex.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
InstanceID.vert Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
InterfaceBlockAnonymous.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
InterfaceBlockArray.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
InterfaceBlockNamed.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
IntFolding.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Matrices.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
MatrixFolding.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
MultipleAssignments.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
NegatedVectorLiteral.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
NoFragCoordsPos.vert Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
NoFragCoordsPosRT.vert Add golden outputs for the Metal backend. 2020-09-25 17:46:43 +00:00
NormalizationGeo.geom Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
NormalizationVert.vert Add golden outputs for the Metal backend. 2020-09-25 17:46:43 +00:00
NumberConversions.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Offset.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Operators.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
OutParams.sksl Update OutParams unit test to demonstrate SkSL failure. 2020-09-28 14:09:03 +00:00
OutParamsTricky.sksl Add 'tricky' OutParams golden output. 2020-09-28 18:52:13 +00:00
RectangleTexture.sksl Add golden outputs for the Metal backend. 2020-09-25 17:46:43 +00:00
ResizeMatrix.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
SampleMask.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
ScopedSymbol.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
ShortCircuitBoolFolding.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
StackingVectorCasts.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
StaticIf.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
StaticSwitch.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
StaticSwitchWithBreak.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
StaticSwitchWithBreakInsideBlock.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
StaticSwitchWithConditionalBreak.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
StaticSwitchWithConditionalBreakInsideBlock.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
StaticSwitchWithFallthroughA.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
StaticSwitchWithFallthroughB.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
StaticSwitchWithStaticConditionalBreak.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
StaticSwitchWithStaticConditionalBreakInsideBlock.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Structs.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Switch.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
SwitchContainingDeadCode.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
SwitchWithFallthrough.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
SwizzleBoolConstants.sksl Add golden outputs for the Metal backend. 2020-09-25 17:46:43 +00:00
SwizzleConstants.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
SwizzleLTRB.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
SwizzleOpt.sksl Add unit test to demonstrate lack of SkSL swizzle optimization. 2020-09-28 19:02:03 +00:00
SwizzleScalar.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
TernaryAsLValueEntirelyFoldable.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
TernaryAsLValueFoldableTest.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Texture.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
TextureSharpen.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
UnaryPositiveNegative.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
UnusedVariables.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
VectorConstructors.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
VectorFolding.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
VertexID.vert Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00
Width.sksl Migrate most SkSL tests currently in /glsl/ to /shared/. 2020-09-25 17:13:53 +00:00