Add non-square MatrixCompMult support to public SkSL in ES3 mode.

We already had a test case here, but it wasn't actually in operation.
The test has been split into ES2 (square) and ES3 (non-square) halves,
returns the color like a proper runtime effect, and it's now running in

Also, Metal doesn't natively support matrixCompMult, so it injects a
helper function; I tweaked the helper so it no longer requires an extra
result variable.

Change-Id: Ie79242768966fcbe879ad73461d17b4fb8e55670
Bug: skia:12202
Auto-Submit: John Stiles <>
Commit-Queue: John Stiles <>
Reviewed-by: Brian Osman <>
17 files changed