These can't really be done with SkJumper.
Change-Id: Ic357f00695eacd2766f6dfb9a3be13b0c07c3650
Reviewed-on: https://skia-review.googlesource.com/11386
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
// the Stage*. This mostly matters on 64-bit Windows where every register is precious.
#define SK_RASTER_PIPELINE_STAGES(M) \
- M(trace) M(registers) \
M(move_src_dst) M(move_dst_src) M(swap) \
M(clamp_0) M(clamp_1) M(clamp_a) \
M(unpremul) M(premul) \
*a = SkHalfToFloat_finite_ftz(ah);
}
-STAGE_CTX(trace, const char*) {
- SkDebugf("%s\n", ctx);
-}
-STAGE(registers) {
- auto print = [](const char* name, const SkNf& v) {
- SkDebugf("%s:", name);
- for (int i = 0; i < N; i++) {
- SkDebugf(" %g", v[i]);
- }
- SkDebugf("\n");
- };
- print(" r", r);
- print(" g", g);
- print(" b", b);
- print(" a", a);
- print("dr", dr);
- print("dg", dg);
- print("db", db);
- print("da", da);
-}
-
STAGE(clamp_0) {
a = SkNf::Max(a, 0.0f);
r = SkNf::Max(r, 0.0f);