support dither in skvm
support dither in skvm

Dither is handled here by the blitter itself,
when requested and the shader is not constant.

A little refactoring to hang onto the integer (dx,dy)
dst coordinates we need, a little math using them,
and some plumbing to pass around whether or not to
dither and if so how much.

Left another TODO to think about unpremul dither.

Change-Id: Ia660cf12cc729578684233a48088aa703563ecd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266362
Commit-Queue: Mike Klein <14574f09dfa9b4e14759b88c3426a495a0e627b0@google.com>
Reviewed-by: Brian Salomon <61fabaaf0876044aeedfd8e351e485c028d69e7b@google.com>

aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,google/skia,aosp-mirror/platform_external_skia,google/skia,google/skia,google/skia,aosp-mirror/platform_external_skia,google/skia,aosp-mirror/platform_external_skia,google/skia,google/skia,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,google/skia,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,google/skia,google/skia,aosp-mirror/platform_external_skia