skia2/resources/sksl/shared
Brian Osman 21d2b6a651 Use unsigned values when constant-folding integer vectors
We already had this trick for scalar integers, this extends it to
integer vectors. As with prior work in this area, it would be better to
detect this case and produce an error, but now we at least produce
consistent and well-defined results (rather than undefined signed
integer overflow).

Bug: skia:10932
Bug: oss-fuzz:29494
Change-Id: I45526fe96b6ea42c0e88b9862f6961b316810321
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/363962
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-01 21:44:28 +00:00
..
ArrayConstructors.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ArrayIndexTypes.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ArrayTypes.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Assignment.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Caps.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
CastsRoundTowardZero.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Clockwise.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
CommaSideEffects.sksl Add test to verify side effects from the comma operator. 2021-02-01 16:16:58 +00:00
ComplexDelete.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ConstantIf.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ConstArray.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ConstVariableComparison.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Control.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DeadDoWhileLoop.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DeadIfStatement.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DeadLoopVariable.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DeadStripFunctions.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DependentInitializers.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Derivatives.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DerivativesFlipY.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DerivativesUnused.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Discard.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DoWhileControlFlow.sksl Add unit test for control statements in do-while loop. 2021-01-26 16:20:31 +00:00
EmptyBlocks.sksl Add SkSL unit test for unbraced blocks that optimize away. 2021-01-26 19:06:41 +00:00
Enum.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ForLoopControlFlow.sksl Reland "Add SkSL for-loop control flow test to dm." 2021-01-27 15:46:39 +00:00
FragCoordsFlipY.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
FragCoordsNew.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
FragCoordsOld.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
FunctionArgumentMatch.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
FunctionPrototype.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Functions.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GaussianBlur.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GeometricIntrinsics.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Geometry.geom Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GeometryExtension.geom Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GeometryGSInvocations.geom Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GeometryNoGSInvocations.geom Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GeometryNoGSInvocationsReorder.geom Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Height.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
HelloWorld.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Hex.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
InstanceID.vert Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
InterfaceBlockNamed.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
InterfaceBlockNamedArray.sksl Add default uniform binding value for Metal/SPIR-V. 2021-01-28 19:23:49 +00:00
MatricesFloat.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
MatricesHalf.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
MixedTypeCommaOperator.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
MultipleAssignments.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
NegatedVectorLiteral.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
NoFragCoordsPos.vert Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
NoFragCoordsPosRT.vert Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
NormalizationGeo.geom Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
NormalizationVert.vert Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
NumberCasts.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
NumberConversions.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Offset.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
OperatorsES2.sksl Run the SkSL Operators test as a Runtime Effect. 2021-02-01 17:21:33 +00:00
OperatorsES3.sksl Run the SkSL Operators test as a Runtime Effect. 2021-02-01 17:21:33 +00:00
Ossfuzz26167.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Ossfuzz27614.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Ossfuzz28050.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Ossfuzz28794.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Ossfuzz28904.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Ossfuzz29444.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Ossfuzz29494.sksl Use unsigned values when constant-folding integer vectors 2021-02-01 21:44:28 +00:00
OutParams.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
OutParamsTricky.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
RectangleTexture.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ResizeMatrix.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ReturnBadTypeFromMain.sksl Support half4 return values from main() in the SPIR-V code generator. 2021-01-27 02:46:03 +00:00
ReturnColorFromMain.sksl Support half4 return values from main() in the SPIR-V code generator. 2021-01-27 02:46:03 +00:00
SampleLocations.vert Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SampleMask.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ScalarConversionConstructors.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ScopedSymbol.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StackingVectorCasts.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticIf.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticSwitch.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticSwitchWithBreak.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticSwitchWithBreakInsideBlock.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticSwitchWithConditionalBreak.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticSwitchWithConditionalBreakInsideBlock.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticSwitchWithFallthroughA.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticSwitchWithFallthroughB.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticSwitchWithStaticConditionalBreak.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticSwitchWithStaticConditionalBreakInsideBlock.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StructMaxDepth.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Structs.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StructsInFunctions.sksl Add SkSL test for functions that operate on structs 2021-01-28 17:01:59 +00:00
Switch.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwitchContainingDeadCode.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwitchWithFallthrough.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwizzleBoolConstants.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwizzleByIndex.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwizzleConstants.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwizzleLTRB.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwizzleOpt.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwizzleScalar.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
TernaryAsLValueEntirelyFoldable.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
TernaryAsLValueFoldableTest.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Texture1D.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Texture2D.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
TextureSharpen.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
UnaryPositiveNegative.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
UniformArray.sksl Add default uniform set value to SkSL Program settings. 2021-01-27 00:52:16 +00:00
UniformBuffers.sksl Add default uniform binding value for Metal/SPIR-V. 2021-01-28 19:23:49 +00:00
Uniforms.sksl Add default uniform binding value for Metal/SPIR-V. 2021-01-28 19:23:49 +00:00
UnusedVariables.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
VectorConstructors.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
VertexEarlyReturn.vert Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
VertexID.vert Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
WhileLoopControlFlow.sksl Add unit test for control statements in while loops. 2021-01-26 17:07:36 +00:00
Width.sksl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00