skia2/resources/sksl/intrinsics
John Stiles 7f17d36c2c Implement compile-time optimization for min() and max().
`evaluate_intrinsic_1_of_type` was rewritten and now supports up to
three arguments. The following APIs are now optimizable:

	$genType min($genType x, $genType y);
	$genType min($genType x, float y);
	$genHType min($genHType x, $genHType y);
	$genHType min($genHType x, half y);
	$genIType min($genIType x, $genIType y);
	$genIType min($genIType x, int y);
	$genType max($genType x, $genType y);
	$genType max($genType x, float y);
	$genHType max($genHType x, $genHType y);
	$genHType max($genHType x, half y);
	$genIType max($genIType x, $genIType y);
	$genIType max($genIType x, int y);

Change-Id: I0a6467fb60b008b61e8b6a7affaebfcb15f5f7a9
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412057
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-25 14:52:11 +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 Implement compile-time optimization for min() and max(). 2021-05-25 14:52:11 +00:00
MaxInt.sksl Implement compile-time optimization for min() and max(). 2021-05-25 14:52:11 +00:00
MinFloat.sksl Implement compile-time optimization for min() and max(). 2021-05-25 14:52:11 +00:00
MinInt.sksl Implement compile-time optimization for min() and max(). 2021-05-25 14:52:11 +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 Implement compile-time optimization for sqrt(constant). 2021-05-25 04:43:10 +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