skia2/resources/sksl/workarounds
John Stiles 85749c0b22 Add caps bit for RewriteMatrixVectorMultiply.
On ARM GPUs, the Vulkan driver does not honor relaxed precision when
evaluating SpvOpMatrixTimesVector. This leads to reduced performance
(compared to GLSL, where mediump matrices and floats do evaluate all
intermediate values at mediump).

This caps bit will be enabled on ARM GPUs and, in a followup CL, will
be used to toggle a workaround where `m*v` is rewritten as the sum of
(m[0]*v[0] + m[1]*v[1] + ... + m[N]*v[N]).

Change-Id: I310fa73639b6498552c9672e76860f2eded15d0a
Bug: skia:11769
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388459
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-23 22:40:02 +00:00
..
AbsInt.sksl
BlendGuardedDivide.sksl
BlendModesAllZeroVec.sksl
FractNegative.sksl
FragCoords.sksl
LoopCondition.sksl
MinAndAbsTogether.sksl
NegatedAtan.sksl
PowWithConstantExponent.sksl
RewriteDoWhileLoops.sksl
RewriteMatrixVectorMultiply.sksl
TernaryShortCircuit.sksl