Fix two bugs with drawVertices on GPU

1) In SkGpuDevice.cpp, the SkVertices refactor had a copy-paste error
   when moving the paint initialization code into the helper function.
   This caused draws with texs (but no colors, and no shader) to fail
   to draw. Previously (and with this change) that draws solid filled
   triangles. This is still different from CPU (which draws outlines).
   This is an odd edge case, but it's also the easiest way to create
   the second bug...

2) In GrDrawVerticesOp.cpp, we always claimed to have SkColor colors.
   That's only true if the SkVertices has colors, otherwise we use the
   paint's color, which is GrColor. Normally, this doesn't matter,
   because we'll use uniform color which is always GrColor. But if you
   induce batching (and the meshes have different colors), we expand
   the per-mesh color to a per-vertex color. Then, the geo proc code
   thinks that those per-vertex colors are SkColors, and swaps the red
   and blue channels, leading to incorrect results.

Bug: skia:
Change-Id: I3401e030d4ffea8666efd02e20a5fdedcfbd8485
Reviewed-on: https://skia-review.googlesource.com/17986
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2 files changed