skia2/tests/sksl/intrinsics
John Stiles c4f2d8d17c Use op cache to eliminate OpCompositeConstruct + OpCompositeExtract.
Previously, we only handled the simple case of extracting from an
OpConstantComposite. Now we also handle the complex case of extracting
from an OpCompositeConstruct, where vectors can be composed of other
vectors.

This is particularly challenging because OpCompositeConstruct can
contain SpvIds from almost any other instruction, so we need to be
able to decode those instructions and figure out their type. For
instance:

  %5 = OpFAdd Vec2   %1 %2
  %6 = OpFAdd Scalar %3 %4
  %7 = OpCompositeConstruct FloatVec3 %5 %6
  %8 = OpCompositeExtract %7 2

The %8 (OpCompositeExtract) could be replaced with %6 but we need to
peek at the type in *both* OpFAdd instructions to decode this. It
only works when the affected instructions are in-cache, so many
opportunities are currently not optimized because their code still
uses the original, uncached form of writeInstruction.

Change-Id: I5719ae6284f32e1d6f2c898eca282c22b94fc764
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529743
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-04-15 15:50:06 +00:00
..
AbsFloat.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
AbsFloat.glsl Evaluate single-argument generic intrinsics at compile time. 2021-05-10 14:50:50 +00:00
AbsFloat.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
AbsInt.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
AbsInt.glsl Evaluate single-argument generic intrinsics at compile time. 2021-05-10 14:50:50 +00:00
AbsInt.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Acos.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Acos.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Acos.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Acosh.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Acosh.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Acosh.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
All.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
All.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
All.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Any.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Any.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Any.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Asin.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Asin.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Asin.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Asinh.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Asinh.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Asinh.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Atan.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Atan.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Atan.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Atanh.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Atanh.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Atanh.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
BitCount.asm.frag Revert "Revert "Added more RelaxedPrecision decorations"" 2021-03-23 19:34:42 +00:00
BitCount.glsl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
BitCount.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Ceil.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Ceil.glsl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Ceil.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
ClampFloat.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
ClampFloat.glsl Add missing intrinsic tests for abs/max/min(genIType), clamp(genType) 2022-02-04 14:42:17 +00:00
ClampFloat.metal Add missing intrinsic tests for abs/max/min(genIType), clamp(genType) 2022-02-04 14:42:17 +00:00
ClampInt.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
ClampInt.glsl Implement compile-time optimization for clamp(). 2021-05-25 16:25:42 +00:00
ClampInt.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
ClampUInt.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
ClampUInt.glsl Add support for clamp($genUType, ...) in SkSL. 2021-11-11 18:43:42 +00:00
ClampUInt.metal Add support for clamp($genUType, ...) in SkSL. 2021-11-11 18:43:42 +00:00
Cos.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Cos.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Cos.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Cosh.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Cosh.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Cosh.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Cross.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Cross.glsl Implement compile-time optimization for cross(). 2021-06-01 15:51:53 +00:00
Cross.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
CrossNoInline.asm.frag Use op cache for pointer and function types. 2022-04-14 13:00:27 +00:00
CrossNoInline.glsl Rename SkSL's 2D cross product builtin function 2021-12-14 22:00:26 +00:00
CrossNoInline.metal Rename SkSL's 2D cross product builtin function 2021-12-14 22:00:26 +00:00
Degrees.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Degrees.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Degrees.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Determinant.asm.frag Implement determinant() in SkSL ES3 public API. 2021-08-19 15:27:10 +00:00
Determinant.glsl Implement determinant() in SkSL ES3 public API. 2021-08-19 15:27:10 +00:00
Determinant.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
DFdx.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
DFdx.glsl Avoid mix-up between MAIN_COORDS and FRAGCOORD. 2021-08-18 20:11:19 +00:00
DFdx.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
DFdy.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
DFdy.glsl Wrap 'u_rtFlip.y * dfdy()' in parentheses, in GLSL. 2021-10-29 14:03:35 +00:00
DFdy.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
DFdyNoRTFlip.asm.frag Fix SPIR-V handling of fForceNoRTFlip 2022-04-15 13:08:35 +00:00
DFdyNoRTFlip.glsl SkSL: Add unit tests for new ForceNoRTFlip code-gen option 2022-04-15 12:59:07 +00:00
DFdyNoRTFlip.metal SkSL: Add unit tests for new ForceNoRTFlip code-gen option 2022-04-15 12:59:07 +00:00
Distance.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Distance.glsl Implement compile-time optimization for distance(). 2021-05-26 14:11:58 +00:00
Distance.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Dot.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Dot.glsl Implement compile-time optimization for dot(). 2021-05-26 15:05:08 +00:00
Dot.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Equal.asm.frag Fix incorrect assertion discovered by fuzzer. 2021-10-04 13:41:56 +00:00
Equal.glsl Fix incorrect assertion discovered by fuzzer. 2021-10-04 13:41:56 +00:00
Equal.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Exp2.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Exp2.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Exp2.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Exp.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Exp.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Exp.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
FaceForward.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
FaceForward.glsl Implement compile-time optimization for faceforward(). 2021-05-26 16:28:48 +00:00
FaceForward.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
FindLSB.asm.frag Revert "Revert "Added more RelaxedPrecision decorations"" 2021-03-23 19:34:42 +00:00
FindLSB.glsl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
FindLSB.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
FindMSB.asm.frag Revert "Revert "Added more RelaxedPrecision decorations"" 2021-03-23 19:34:42 +00:00
FindMSB.glsl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
FindMSB.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
FloatBitsToInt.asm.frag Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
FloatBitsToInt.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
FloatBitsToInt.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
FloatBitsToUint.asm.frag Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
FloatBitsToUint.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
FloatBitsToUint.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Floor.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Floor.glsl Evaluate various single-argument float intrinsics at compile time. 2021-05-07 14:37:18 +00:00
Floor.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Fma.asm.frag Revert "Revert "Added more RelaxedPrecision decorations"" 2021-03-23 19:34:42 +00:00
Fma.glsl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Fma.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Fract.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Fract.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Fract.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Frexp.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Frexp.glsl Migrate convertSwizzle to Swizzle::Make. 2021-02-19 21:26:58 +00:00
Frexp.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Fwidth.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Fwidth.glsl Add fwidth intrinsic to public SkSL in ES3. 2021-09-16 01:56:32 +00:00
Fwidth.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
GreaterThan.asm.frag Optimize intrinsic vector comparisons of constants. 2021-05-06 14:00:27 +00:00
GreaterThan.glsl Optimize intrinsic vector comparisons of constants. 2021-05-06 14:00:27 +00:00
GreaterThan.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
GreaterThanEqual.asm.frag Optimize intrinsic vector comparisons of constants. 2021-05-06 14:00:27 +00:00
GreaterThanEqual.glsl Optimize intrinsic vector comparisons of constants. 2021-05-06 14:00:27 +00:00
GreaterThanEqual.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
IntBitsToFloat.asm.frag Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
IntBitsToFloat.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
IntBitsToFloat.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Inverse.asm.frag Use op cache for OpCompositeExtract. 2022-04-13 16:35:06 +00:00
Inverse.glsl Implement compile-time optimization for inverse(). 2021-05-27 13:57:00 +00:00
Inverse.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Inversesqrt.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Inversesqrt.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Inversesqrt.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
IsInf.asm.frag Reland "Add ES3 intrinsics isinf/isnan to public SkSL ES3." 2021-08-25 19:01:22 +00:00
IsInf.glsl Reland "Add ES3 intrinsics isinf/isnan to public SkSL ES3." 2021-08-25 19:01:22 +00:00
IsInf.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
IsNan.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
IsNan.glsl Reland "Add ES3 intrinsics isinf/isnan to public SkSL ES3." 2021-08-25 19:01:22 +00:00
IsNan.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Ldexp.asm.frag Revert "Revert "Refactored SPIR-V RelaxedPrecision handling"" 2021-03-18 15:01:15 +00:00
Ldexp.glsl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Ldexp.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Length.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Length.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Length.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
LessThan.asm.frag Optimize intrinsic vector comparisons of constants. 2021-05-06 14:00:27 +00:00
LessThan.glsl Optimize intrinsic vector comparisons of constants. 2021-05-06 14:00:27 +00:00
LessThan.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
LessThanEqual.asm.frag Optimize intrinsic vector comparisons of constants. 2021-05-06 14:00:27 +00:00
LessThanEqual.glsl Optimize intrinsic vector comparisons of constants. 2021-05-06 14:00:27 +00:00
LessThanEqual.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Log2.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Log2.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Log2.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Log.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Log.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Log.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
MatrixCompMultES2.asm.frag Use op cache to deduplicate diagonal matrix construction. 2022-04-13 16:35:15 +00:00
MatrixCompMultES2.glsl Add non-square MatrixCompMult support to public SkSL in ES3 mode. 2021-09-14 18:15:23 +00:00
MatrixCompMultES2.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
MatrixCompMultES3.asm.frag Use op cache to eliminate OpCompositeConstruct + OpCompositeExtract. 2022-04-15 15:50:06 +00:00
MatrixCompMultES3.glsl Revert "Disallow matrix ctors which overflow a column." 2021-10-14 01:30:08 +00:00
MatrixCompMultES3.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
MaxFloat.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
MaxFloat.glsl Implement compile-time optimization for min() and max(). 2021-05-25 14:52:11 +00:00
MaxFloat.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
MaxInt.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
MaxInt.glsl Implement compile-time optimization for min() and max(). 2021-05-25 14:52:11 +00:00
MaxInt.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
MinFloat.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
MinFloat.glsl Implement compile-time optimization for min() and max(). 2021-05-25 14:52:11 +00:00
MinFloat.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
MinInt.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
MinInt.glsl Implement compile-time optimization for min() and max(). 2021-05-25 14:52:11 +00:00
MinInt.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
MixBool.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
MixBool.glsl Implement compile-time optimization for mix(). 2021-06-01 19:36:05 +00:00
MixBool.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
MixFloat.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
MixFloat.glsl Implement compile-time optimization for mix(). 2021-06-01 19:36:05 +00:00
MixFloat.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Mod.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Mod.glsl Implement compile-time optimization for mod(). 2021-05-25 22:07:53 +00:00
Mod.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Modf.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Modf.glsl Add ES3 intrinsic modf to sksl_public. 2021-09-08 18:45:16 +00:00
Modf.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Normalize.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Normalize.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Normalize.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Not.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Not.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Not.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
NotEqual.asm.frag Use unordered comparisons for != in SPIR-V. 2022-02-25 22:22:43 +00:00
NotEqual.glsl Optimize intrinsic vector comparisons of constants. 2021-05-06 14:00:27 +00:00
NotEqual.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
OuterProduct.asm.frag Use op cache for OpCompositeExtract. 2022-04-13 16:35:06 +00:00
OuterProduct.glsl Implement compile-time optimization for outerProduct. 2021-09-10 14:34:32 +00:00
OuterProduct.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Pack.asm.frag Revert "Revert "Added more RelaxedPrecision decorations"" 2021-03-23 19:34:42 +00:00
Pack.glsl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Pack.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
PackUnorm2x16.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
PackUnorm2x16.glsl Add support for pack/unpackUnorm2x16 to public SkSL. 2021-09-09 18:59:15 +00:00
PackUnorm2x16.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Pow.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Pow.glsl Implement compile-time optimization for pow(). 2021-05-26 19:54:09 +00:00
Pow.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Radians.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Radians.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Radians.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Reflect.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Reflect.glsl Implement compile-time optimization for reflect(). 2021-05-26 19:49:29 +00:00
Reflect.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Refract.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Refract.glsl Implement compile-time optimization for refract(). 2021-05-26 19:55:39 +00:00
Refract.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Round.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Round.glsl Add trunc/round/roundEven SKSL ES3 public APIs. 2021-08-23 15:44:15 +00:00
Round.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
RoundEven.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
RoundEven.glsl Add trunc/round/roundEven SKSL ES3 public APIs. 2021-08-23 15:44:15 +00:00
RoundEven.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Saturate.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Saturate.glsl Optimize remaining simple 1-argument intrinsics. 2021-05-11 16:44:09 +00:00
Saturate.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
SignFloat.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
SignFloat.glsl Evaluate single-argument generic intrinsics at compile time. 2021-05-10 14:50:50 +00:00
SignFloat.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
SignInt.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
SignInt.glsl Evaluate single-argument generic intrinsics at compile time. 2021-05-10 14:50:50 +00:00
SignInt.metal Implement Metal polyfill for sign(genIType). 2022-02-03 15:21:03 +00:00
Sin.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Sin.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Sin.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Sinh.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Sinh.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Sinh.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Smoothstep.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Smoothstep.glsl Implement compile-time optimization for smoothstep(). 2021-05-25 20:32:46 +00:00
Smoothstep.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Sqrt.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Sqrt.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Sqrt.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Step.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Step.glsl Implement compile-time optimization for step(). 2021-05-25 16:59:22 +00:00
Step.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Tan.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Tan.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Tan.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Tanh.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Tanh.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
Tanh.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Transpose.asm.frag Use op cache for OpCompositeExtract. 2022-04-13 16:35:06 +00:00
Transpose.glsl Add compile-time optimization for transpose(). 2021-08-18 13:49:04 +00:00
Transpose.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Trunc.asm.frag Replace scalar/vector ID caches with op cache. 2022-04-12 21:33:50 +00:00
Trunc.glsl Add trunc/round/roundEven SKSL ES3 public APIs. 2021-08-23 15:44:15 +00:00
Trunc.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
UintBitsToFloat.asm.frag Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
UintBitsToFloat.glsl Rename variables named input in test files. 2021-09-30 16:39:21 +00:00
UintBitsToFloat.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00
Unpack.asm.frag Revert "Revert "Added more RelaxedPrecision decorations"" 2021-03-23 19:34:42 +00:00
Unpack.glsl Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
Unpack.metal Reland "Add support for half-precision types in Metal." 2021-10-30 14:33:52 +00:00