skia2/tests/sksl/shared/golden
John Stiles 435b482638 Support out parameters that use a swizzle.
This CL also removes the `VariableExpression` class that was briefly
added in a prior CL. This class was intended to support cloning an
expression while changing the refKind of a VariableReference inside of
the expression, but it added state and complexity. In this CL, rather
than track this via extra state, the inliner just recurses into the
expression as needed to find its VariableReference. Since most relevant
expressions are just a VariableReference anyway, this is inexpensive.

Change-Id: Id4d926b7d7520b5e6ce455446c05a6d59ef62a84
Bug: skia:10756
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319917
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-09-28 15:04:33 +00:00
..
ArrayConstructors.glsl
ArrayConstructors.metal
ArrayIndexTypes.glsl
ArrayIndexTypes.metal
ArrayTypes.glsl
ArrayTypes.metal
Assignment.glsl Add unit tests for assignment and invalid field access. 2020-09-25 21:42:22 +00:00
Assignment.metal Add unit tests for assignment and invalid field access. 2020-09-25 21:42:22 +00:00
BoolFolding.glsl
BoolFolding.metal
Caps.glsl
Caps.metal
CastsRoundTowardZero.glsl
CastsRoundTowardZero.metal
Clockwise.glsl
Clockwise.metal
ComplexDelete.glsl
ComplexDelete.metal
ConstantIf.glsl
ConstantIf.metal
ConstArray.glsl
ConstArray.metal
ConstVariableComparison.glsl
ConstVariableComparison.metal
Control.glsl
Control.metal
DeadDoWhileLoop.glsl
DeadDoWhileLoop.metal
DeadLoopVariable.glsl
DeadLoopVariable.metal
DependentInitializers.glsl
DependentInitializers.metal
Derivatives.glsl
DerivativesFlipY.glsl
DerivativesFlipYStandaloneSettings.glsl
DerivativesStandaloneSettings.glsl
DerivativesUnused.glsl
DerivativesUnused.metal
Discard.glsl
Discard.metal
FloatFolding.glsl
FloatFolding.metal
FragCoordsFlipY.glsl
FragCoordsFlipY.metal
FragCoordsNew.glsl
FragCoordsNew.metal
FragCoordsOld.glsl
FragCoordsOld.metal
FrExp.glsl
FrExp.metal
FunctionArgumentMatch.glsl
FunctionArgumentMatch.metal
FunctionPrototype.glsl
FunctionPrototype.metal
Functions.glsl
Functions.metal
Geometry.glsl
Geometry.metal Fail gracefully when Metal encounters a geometry shader. 2020-09-25 21:21:50 +00:00
GeometryExtension.glsl
GeometryExtension.metal Fail gracefully when Metal encounters a geometry shader. 2020-09-25 21:21:50 +00:00
GeometryGSInvocations.glsl
GeometryGSInvocations.metal Fail gracefully when Metal encounters a geometry shader. 2020-09-25 21:21:50 +00:00
GeometryNoGSInvocations.glsl
GeometryNoGSInvocations.metal Fail gracefully when Metal encounters a geometry shader. 2020-09-25 21:21:50 +00:00
Height.glsl
Height.metal
HelloWorld.glsl
HelloWorld.metal
Hex.glsl
Hex.metal
InstanceID.glsl
InstanceID.metal
InterfaceBlockAnonymous.glsl
InterfaceBlockAnonymous.metal
InterfaceBlockArray.glsl
InterfaceBlockArray.metal
InterfaceBlockNamed.glsl
InterfaceBlockNamed.metal
IntFolding.glsl
IntFolding.metal
Matrices.glsl
Matrices.metal
MatrixFolding.glsl
MatrixFolding.metal
MultipleAssignments.glsl
MultipleAssignments.metal
NegatedVectorLiteral.glsl
NegatedVectorLiteral.metal
NoFragCoordsPos.glsl
NoFragCoordsPos.metal
NoFragCoordsPosRT.glsl
NoFragCoordsPosRT.metal
NormalizationGeo.glsl
NormalizationGeo.metal Fail gracefully when Metal encounters a geometry shader. 2020-09-25 21:21:50 +00:00
NormalizationVert.glsl
NormalizationVert.metal
NumberConversions.glsl
NumberConversions.metal
Offset.glsl
Offset.metal
Operators.glsl
Operators.metal
OutParams.glsl Support out parameters that use a swizzle. 2020-09-28 15:04:33 +00:00
OutParams.metal Support out parameters that use a swizzle. 2020-09-28 15:04:33 +00:00
RectangleTexture.glsl
RectangleTexture.metal
ResizeMatrix.glsl
ResizeMatrix.metal
SampleMask.glsl
SampleMask.metal
ScopedSymbol.glsl
ScopedSymbol.metal
ShortCircuitBoolFolding.glsl
ShortCircuitBoolFolding.metal
StackingVectorCasts.glsl
StackingVectorCasts.metal
StaticIf.glsl
StaticIf.metal
StaticSwitch.glsl
StaticSwitch.metal
StaticSwitchWithBreak.glsl
StaticSwitchWithBreak.metal
StaticSwitchWithBreakInsideBlock.glsl
StaticSwitchWithBreakInsideBlock.metal
StaticSwitchWithConditionalBreak.glsl
StaticSwitchWithConditionalBreak.metal
StaticSwitchWithConditionalBreakInsideBlock.glsl
StaticSwitchWithConditionalBreakInsideBlock.metal
StaticSwitchWithFallthroughA.glsl
StaticSwitchWithFallthroughA.metal
StaticSwitchWithFallthroughB.glsl
StaticSwitchWithFallthroughB.metal
StaticSwitchWithStaticConditionalBreak.glsl
StaticSwitchWithStaticConditionalBreak.metal
StaticSwitchWithStaticConditionalBreakInsideBlock.glsl
StaticSwitchWithStaticConditionalBreakInsideBlock.metal
Structs.glsl
Structs.metal
Switch.glsl
Switch.metal
SwitchContainingDeadCode.glsl
SwitchContainingDeadCode.metal
SwitchWithFallthrough.glsl
SwitchWithFallthrough.metal
SwizzleBoolConstants.glsl
SwizzleBoolConstants.metal
SwizzleConstants.glsl
SwizzleConstants.metal
SwizzleLTRB.glsl
SwizzleLTRB.metal
SwizzleOpt.glsl
SwizzleOpt.metal
SwizzleScalar.glsl
SwizzleScalar.metal
TernaryAsLValueEntirelyFoldable.glsl
TernaryAsLValueEntirelyFoldable.metal
TernaryAsLValueFoldableTest.glsl
TernaryAsLValueFoldableTest.metal
Texture.glsl
Texture.metal
TextureSharpen.glsl
TextureSharpen.metal
UnaryPositiveNegative.glsl
UnaryPositiveNegative.metal
UnusedVariables.glsl
UnusedVariables.metal
VectorConstructors.glsl
VectorConstructors.metal
VectorFolding.glsl
VectorFolding.metal
VertexID.glsl
VertexID.metal
Width.glsl
Width.metal