Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(705)

Side by Side Diff: src/core/SkRasterPipeline.h

Issue 2480823002: skrpb: evaluate color filters for constant shaders once. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/core/SkRasterPipelineBlitter.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2016 Google Inc. 2 * Copyright 2016 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef SkRasterPipeline_DEFINED 8 #ifndef SkRasterPipeline_DEFINED
9 #define SkRasterPipeline_DEFINED 9 #define SkRasterPipeline_DEFINED
10 10
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 * 49 *
50 * Some stages that typically return are those that write a color to a destinati on pointer, 50 * Some stages that typically return are those that write a color to a destinati on pointer,
51 * but any stage can short-circuit the rest of the pipeline by returning instead of calling next(). 51 * but any stage can short-circuit the rest of the pipeline by returning instead of calling next().
52 */ 52 */
53 53
54 // TODO: There may be a better place to stuff tail, e.g. in the bottom alignment bits of 54 // TODO: There may be a better place to stuff tail, e.g. in the bottom alignment bits of
55 // the Stage*. This mostly matters on 64-bit Windows where every register is pr ecious. 55 // the Stage*. This mostly matters on 64-bit Windows where every register is pr ecious.
56 56
57 #define SK_RASTER_PIPELINE_STAGES(M) \ 57 #define SK_RASTER_PIPELINE_STAGES(M) \
58 M(swap_src_dst) M(clamp_0) M(clamp_a) M(unpremul) M(premul) \ 58 M(swap_src_dst) M(clamp_0) M(clamp_a) M(unpremul) M(premul) \
59 M(constant_color) \ 59 M(constant_color) M(store_f32) \
60 M(load_s_565) M(load_d_565) M(store_565) \ 60 M(load_s_565) M(load_d_565) M(store_565) \
61 M(load_s_srgb) M(load_d_srgb) M(store_srgb) \ 61 M(load_s_srgb) M(load_d_srgb) M(store_srgb) \
62 M(load_s_f16) M(load_d_f16) M(store_f16) \ 62 M(load_s_f16) M(load_d_f16) M(store_f16) \
63 M(scale_u8) M(scale_constant_float) \ 63 M(scale_u8) M(scale_constant_float) \
64 M(lerp_u8) M(lerp_565) M(lerp_constant_float) \ 64 M(lerp_u8) M(lerp_565) M(lerp_constant_float) \
65 M(dst) \ 65 M(dst) \
66 M(dstatop) M(dstin) M(dstout) M(dstover) \ 66 M(dstatop) M(dstin) M(dstout) M(dstover) \
67 M(srcatop) M(srcin) M(srcout) M(srcover) \ 67 M(srcatop) M(srcin) M(srcout) M(srcover) \
68 M(clear) M(modulate) M(multiply) M(plus_) M(screen) M(xor_) \ 68 M(clear) M(modulate) M(multiply) M(plus_) M(screen) M(xor_) \
69 M(colorburn) M(colordodge) M(darken) M(difference) \ 69 M(colorburn) M(colordodge) M(darken) M(difference) \
(...skipping 25 matching lines...) Expand all
95 StockStage stage; 95 StockStage stage;
96 void* ctx; 96 void* ctx;
97 }; 97 };
98 98
99 private: 99 private:
100 int fNum = 0; 100 int fNum = 0;
101 Stage fStages[kMaxStages]; 101 Stage fStages[kMaxStages];
102 }; 102 };
103 103
104 #endif//SkRasterPipeline_DEFINED 104 #endif//SkRasterPipeline_DEFINED
OLDNEW
« no previous file with comments | « no previous file | src/core/SkRasterPipelineBlitter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698