| Index: src/core/SkRasterPipelineBlitter.cpp
|
| diff --git a/src/core/SkRasterPipelineBlitter.cpp b/src/core/SkRasterPipelineBlitter.cpp
|
| index 0fae6dd5a29d3dea34837eb4723950574cefb9ee..618e646da4365f527905e86dda63f30b1d35a869 100644
|
| --- a/src/core/SkRasterPipelineBlitter.cpp
|
| +++ b/src/core/SkRasterPipelineBlitter.cpp
|
| @@ -196,17 +196,17 @@ SK_RASTER_STAGE(load_d_f16) {
|
| Sk4h rh, gh, bh, ah;
|
| Sk4h_load4(ptr, &rh, &gh, &bh, &ah);
|
|
|
| - dr = SkHalfToFloat_finite(rh);
|
| - dg = SkHalfToFloat_finite(gh);
|
| - db = SkHalfToFloat_finite(bh);
|
| - da = SkHalfToFloat_finite(ah);
|
| + dr = SkHalfToFloat_finite_ftz(rh);
|
| + dg = SkHalfToFloat_finite_ftz(gh);
|
| + db = SkHalfToFloat_finite_ftz(bh);
|
| + da = SkHalfToFloat_finite_ftz(ah);
|
| }
|
|
|
| // Load 1 F16 pixel.
|
| SK_RASTER_STAGE(load_d_f16_1) {
|
| auto ptr = (const uint64_t*)ctx + x;
|
|
|
| - auto p0 = SkHalfToFloat_finite(ptr[0]);
|
| + auto p0 = SkHalfToFloat_finite_ftz(ptr[0]);
|
| dr = { p0[0],0,0,0 };
|
| dg = { p0[1],0,0,0 };
|
| db = { p0[2],0,0,0 };
|
| @@ -217,15 +217,15 @@ SK_RASTER_STAGE(load_d_f16_1) {
|
| SK_RASTER_STAGE(store_f16) {
|
| auto ptr = (uint64_t*)ctx + x;
|
|
|
| - Sk4h_store4(ptr, SkFloatToHalf_finite(r), SkFloatToHalf_finite(g),
|
| - SkFloatToHalf_finite(b), SkFloatToHalf_finite(a));
|
| + Sk4h_store4(ptr, SkFloatToHalf_finite_ftz(r), SkFloatToHalf_finite_ftz(g),
|
| + SkFloatToHalf_finite_ftz(b), SkFloatToHalf_finite_ftz(a));
|
| }
|
|
|
| // Store 1 F16 pixel.
|
| SK_RASTER_STAGE(store_f16_1) {
|
| auto ptr = (uint64_t*)ctx + x;
|
|
|
| - SkFloatToHalf_finite({r[0], g[0], b[0], a[0]}).store(ptr);
|
| + SkFloatToHalf_finite_ftz({r[0], g[0], b[0], a[0]}).store(ptr);
|
| }
|
|
|
| // Load 4 8-bit sRGB pixels from SkPMColor order to RGBA.
|
|
|