skia2/resources/sksl/intrinsics
John Stiles 33ef30ec68 Optimize remaining simple 1-argument intrinsics.
Aside from sqrt() and normalize(), we now optimize all the intrinsics
which take a single argument as input, and return that argument with
each of its components permuted as output.

This CL also introduces a minor restriction--we no longer optimize
intrinsics which evaluate to inf or nan, such as `inversesqrt(-1)`.
These will be left in the source as-is.

Change-Id: I4919b3c18a2df81accd6daf2f650b9f587ff43fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406577
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-11 16:44:09 +00:00
..
AbsFloat.sksl Evaluate single-argument generic intrinsics at compile time. 2021-05-10 14:50:50 +00:00
AbsInt.sksl Evaluate single-argument generic intrinsics at compile time. 2021-05-10 14:50:50 +00:00
Acos.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Acosh.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
All.sksl Optimize not() intrinsic. 2021-05-11 14:08:39 +00:00
Any.sksl Optimize not() intrinsic. 2021-05-11 14:08:39 +00:00
Asin.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Asinh.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Atan.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Atanh.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
BitCount.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Ceil.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
ClampFloat.sksl Reland "Add coords parameter to all .sksl test files used as runtime effects" 2021-04-27 20:47:31 +00:00
ClampInt.sksl Reland "Add coords parameter to all .sksl test files used as runtime effects" 2021-04-27 20:47:31 +00:00
Cos.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Cosh.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Cross.sksl Mangle function names in GLSL. 2021-03-22 17:18:26 +00:00
CrossNoInline.sksl Mangle function names in GLSL. 2021-03-22 17:18:26 +00:00
Degrees.sksl Optimize remaining simple 1-argument intrinsics. 2021-05-11 16:44:09 +00:00
Determinant.sksl
DFdx.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
DFdy.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Distance.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Dot.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Equal.sksl Allow compile-time intrinsic evaluation to read const variables. 2021-05-07 13:36:08 +00:00
Exp2.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Exp.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
FaceForward.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
FindLSB.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
FindMSB.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
FloatBitsToInt.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
FloatBitsToUint.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Floor.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Fma.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Fract.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Frexp.sksl Reland "Add coords parameter to all .sksl test files used as runtime effects" 2021-04-27 20:47:31 +00:00
Fwidth.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
GreaterThan.sksl Allow compile-time intrinsic evaluation to read const variables. 2021-05-07 13:36:08 +00:00
GreaterThanEqual.sksl Allow compile-time intrinsic evaluation to read const variables. 2021-05-07 13:36:08 +00:00
IntBitsToFloat.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Inverse.sksl
Inversesqrt.sksl Optimize remaining simple 1-argument intrinsics. 2021-05-11 16:44:09 +00:00
IsInf.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
IsNan.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Ldexp.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Length.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
LessThan.sksl Allow compile-time intrinsic evaluation to read const variables. 2021-05-07 13:36:08 +00:00
LessThanEqual.sksl Allow compile-time intrinsic evaluation to read const variables. 2021-05-07 13:36:08 +00:00
Log2.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Log.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
MatrixCompMult.sksl
MaxFloat.sksl Reland "Add coords parameter to all .sksl test files used as runtime effects" 2021-04-27 20:47:31 +00:00
MaxInt.sksl Reland "Add coords parameter to all .sksl test files used as runtime effects" 2021-04-27 20:47:31 +00:00
MinFloat.sksl Reland "Add coords parameter to all .sksl test files used as runtime effects" 2021-04-27 20:47:31 +00:00
MinInt.sksl Reland "Add coords parameter to all .sksl test files used as runtime effects" 2021-04-27 20:47:31 +00:00
MixBool.sksl Reland "Add coords parameter to all .sksl test files used as runtime effects" 2021-04-27 20:47:31 +00:00
MixFloat.sksl Reland "Add coords parameter to all .sksl test files used as runtime effects" 2021-04-27 20:47:31 +00:00
Mod.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Modf.sksl Reland "Add coords parameter to all .sksl test files used as runtime effects" 2021-04-27 20:47:31 +00:00
Normalize.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Not.sksl Optimize not() intrinsic. 2021-05-11 14:08:39 +00:00
NotEqual.sksl Allow compile-time intrinsic evaluation to read const variables. 2021-05-07 13:36:08 +00:00
OuterProduct.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Pack.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Pow.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Radians.sksl Optimize remaining simple 1-argument intrinsics. 2021-05-11 16:44:09 +00:00
Reflect.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Refract.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Round.sksl Optimize remaining simple 1-argument intrinsics. 2021-05-11 16:44:09 +00:00
RoundEven.sksl Optimize remaining simple 1-argument intrinsics. 2021-05-11 16:44:09 +00:00
Saturate.sksl Optimize remaining simple 1-argument intrinsics. 2021-05-11 16:44:09 +00:00
SignFloat.sksl Evaluate single-argument generic intrinsics at compile time. 2021-05-10 14:50:50 +00:00
SignInt.sksl Evaluate single-argument generic intrinsics at compile time. 2021-05-10 14:50:50 +00:00
Sin.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Sinh.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Smoothstep.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Sqrt.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Step.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Tan.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Tanh.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Transpose.sksl
Trunc.sksl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
UintBitsToFloat.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Unpack.sksl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00