From 85f8536ca2dd446f2f68d82b0e69134a3e7a88b7 Mon Sep 17 00:00:00 2001 From: Mike Klein Date: Tue, 17 Oct 2017 14:22:58 -0400 Subject: Feed seed_shader() iota through a context pointer. As this array grows longer it causes troublesome code generation when we're compiling offline, but it's easy as an argument. Change-Id: I53526443f534f29d3bff17c3aec24a9e916c9b86 Reviewed-on: https://skia-review.googlesource.com/60564 Commit-Queue: Mike Klein Reviewed-by: Herb Derby --- src/jumper/SkJumper_stages.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/jumper/SkJumper_stages.cpp') diff --git a/src/jumper/SkJumper_stages.cpp b/src/jumper/SkJumper_stages.cpp index 1f9848e1fa..690ba574ef 100644 --- a/src/jumper/SkJumper_stages.cpp +++ b/src/jumper/SkJumper_stages.cpp @@ -214,11 +214,10 @@ SI U32 ix_and_ptr(T** ptr, const SkJumper_GatherCtx* ctx, F x, F y) { // Now finally, normal Stages! -STAGE(seed_shader, Ctx::None) { +STAGE(seed_shader, const float* iota) { // It's important for speed to explicitly cast(dx) and cast(dy), // which has the effect of splatting them to vectors before converting to floats. // On Intel this breaks a data dependency on previous loop iterations' registers. - float iota[] = { 0.5f,1.5f,2.5f,3.5f,4.5f,5.5f,6.5f,7.5f }; r = cast(dx) + unaligned_load(iota); g = cast(dy) + 0.5f; b = 1.0f; -- cgit v1.2.3