[graphite] Fix SDF LCD Atlas Indexing Bug

* The `sample_indexed_atlas_lcd` function was missing breaks inside its switch statement. This effectively made the sampling always fall through to the default case to sampling the first page in the text atlas.

* This bug went undetected because no existing test cases for SDF LCD text filled the atlas past the first page. The rendering is correct if the first atlas page would have been sampled anyways.

* Reproducing this bug requires
  1) LCD rendering enabled
  2) Glyphs large enough to exceed to the minimum SDF size threshold
  3) Draw enough glyphs to fill up the atlas. (Drawing a large number of glyphs is not sufficient, you have to draw a large number of unique glyphs, either by using a large character set or applying a transform that forces redraw)

* Fixes shader and adds reproducer test case

Change-Id: If495cd67373af70dc38aae5c47c176c06fd4e94a
Bug: b/478659067
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1156936
Commit-Queue: Thomas Smith <thomsmit@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
8 files changed