diff options
author | Mike Klein <mtklein@chromium.org> | 2017-09-15 14:57:02 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-16 00:23:46 +0000 |
commit | d286bfbd96f8b7ccf1cbce74f07d2f3917dbec30 (patch) | |
tree | 316ad4fc24fc15cac4938873fecb24bc9b53860b /src/core/SkRasterPipeline.cpp | |
parent | 57372152b2e1960b6a831b83a088e8910ac120d2 (diff) |
Bump stored lowp uniform color to 16-bit storage.
This makes loading into 16-bit channels more natural in _lowp.cpp.
Change-Id: I1ed393873654060ef52f4632d670465528006bbd
Reviewed-on: https://skia-review.googlesource.com/47261
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/core/SkRasterPipeline.cpp')
-rw-r--r-- | src/core/SkRasterPipeline.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/SkRasterPipeline.cpp b/src/core/SkRasterPipeline.cpp index a8c4c0de73..aabb365b23 100644 --- a/src/core/SkRasterPipeline.cpp +++ b/src/core/SkRasterPipeline.cpp @@ -92,7 +92,13 @@ void SkRasterPipeline::append_constant_color(SkArenaAlloc* alloc, const float rg auto ctx = alloc->make<SkJumper_UniformColorCtx>(); Sk4f color = Sk4f::Load(rgba); color.store(&ctx->r); - ctx->rgba = Sk4f_toL32(color); + + // To make loads more direct, we store 8-bit values in 16-bit slots. + color = color * 255.0f + 0.5f; + ctx->rgba[0] = (uint16_t)color[0]; + ctx->rgba[1] = (uint16_t)color[1]; + ctx->rgba[2] = (uint16_t)color[2]; + ctx->rgba[3] = (uint16_t)color[3]; this->unchecked_append(uniform_color, ctx); INC_COLOR; |