aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
Commit message (Collapse)AuthorAge
* Add constant color GrFP.Gravatar bsalomon2015-04-01
| | | | Review URL: https://codereview.chromium.org/978713002
* Switch to one single bitmap text blob cache allocationGravatar joshualitt2015-04-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1041953002
* SkCodec::onGetScanlineDecoder must call rewind.Gravatar scroggo2015-04-01
| | | | | | | | | | | | | | | | | | | | This mirrors the behavior in onGetPixels, and allows the implementation to share code for handling calls to rewindIfNeeded. This also fixes a bug where getScanlineDecoder was calling rewindIfNeeded and treating the result as a bool. In SkPngCodec, factor out the code to call rewindIfNeeded, and call it in both onGetPixels and onGetScanlineDecoder. Update the test to include testing the scanline decoder. Rename "gen" to "codec" now that it must be an SkCodec. BUG=skia:3257 Depends on https://codereview.chromium.org/1048423003/ (DIFFERENT ISSUE). Review URL: https://codereview.chromium.org/1050893002
* GrGLInterface: Add support for NV_framebuffer_mixed_samplesGravatar vbuzinov2015-04-01
| | | | | | | | | Import glCoverageModulation if NV_framebuffer_mixed samples is available BUG=skia:3177 Review URL: https://codereview.chromium.org/993363002
* BitmapTextBatch and BitmapTextBlobGravatar joshualitt2015-03-31
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/eed1dae04932483579b02c10f0706127d3f5d984 Review URL: https://codereview.chromium.org/1011403004
* Revert of BitmapTextBatch and BitmapTextBlob (patchset #18 id:360001 of ↵Gravatar joshualitt2015-03-31
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1011403004/) Reason for revert: Breaks a unit test on mac Original issue's description: > BitmapTextBatch and BitmapTextBlob > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/eed1dae04932483579b02c10f0706127d3f5d984 TBR=fmalita@chromium.org,reed@google.com,jvanverth@google.com,robertphillips@google.com,bsalomon@google.com,jvanverth@chromium.org,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1050633002
* BitmapTextBatch and BitmapTextBlobGravatar joshualitt2015-03-31
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1011403004
* SkPDF: remove SK_NO_FLATE & dead code in SkPDFStreamGravatar halcanary2015-03-31
| | | | | | | | | | | | SkPDFStream copy constructor SkPDFStream Substitute mechanism SkPDFStream::setData(NULL); SkPDFStream SK_NO_FLATE logic BUG=skia:3585 TBR=bsalomon@google.com,reed@google.com Review URL: https://codereview.chromium.org/1041183002
* Refactor Sk2x<T> + Sk4x<T> into SkNf<N,T> and SkNi<N,T>Gravatar mtklein2015-03-30
| | | | | | | | | | | | | | | | | | | | | The primary feature this delivers is SkNf and SkNd for arbitrary power-of-two N. Non-specialized types or types larger than 128 bits should now Just Work (and we can drop in a specialization to make them faster). Sk4s is now just a typedef for SkNf<4, SkScalar>; Sk4d is SkNf<4, double>, Sk2f SkNf<2, float>, etc. This also makes implementing new specializations easier and more encapsulated. We're now using template specialization, which means the specialized versions don't have to leak out so much from SkNx_sse.h and SkNx_neon.h. This design leaves us room to grow up, e.g to SkNf<8, SkScalar> == Sk8s, and to grown down too, to things like SkNi<8, uint16_t> == Sk8h. To simplify things, I've stripped away most APIs (swizzles, casts, reinterpret_casts) that no one's using yet. I will happily add them back if they seem useful. You shouldn't feel bad about using any of the typedef Sk4s, Sk4f, Sk4d, Sk2s, Sk2f, Sk2d, Sk4i, etc. Here's how you should feel: - Sk4f, Sk4s, Sk2d: feel awesome - Sk2f, Sk2s, Sk4d: feel pretty good No public API changes. TBR=reed@google.com BUG=skia:3592 Review URL: https://codereview.chromium.org/1048593002
* Extract the spinlock from SkOnce as SkSpinlock.Gravatar mtklein2015-03-30
| | | | | | | | | | | This uses slightly newer APIs from SkAtomics.h to make it a bit more efficient. No public API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1039323002
* use Sk4f for matrix mathGravatar reed2015-03-29
| | | | | | | | | Need to land SK_SUPPORT_LEGACY_SCALAR_MAPPOINTS in chrome to suppress Affine version which causes slight differences (which will need to be rebaselined) BUG=skia: Review URL: https://codereview.chromium.org/1045493002
* use table of procs (and unrolling) to speed up mapPtsGravatar reed2015-03-27
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1040783002
* Remove SkMemoryStream::peek()Gravatar scroggo2015-03-27
| | | | | | | | | | | | | | | | | | | | | | | | I'd like to add a new API to SkStream for peeking - i.e. reading some bytes without advancing the stream. This will be implemented for the streams where it makes sense. I think the function should look something like the following: size_t peek(void* buffer, size_t bytesToRead) { return this->onPeek(buffer, bytesToRead); } virtual size_t onPeek(void* buffer, size_t bytesToRead) { return 0; // unimplemented base class. } In order to avoid confusion, I'd like to remove SkMemoryStream::peek(), which is not currently used internally, by Chrome, or by Android as far as I can tell. There is also another function does the same thing: getPosition(). BUG=skia:3257 Review URL: https://codereview.chromium.org/1039373002
* SkCodec: add wbmp classGravatar halcanary2015-03-27
| | | | Review URL: https://codereview.chromium.org/1006583005
* Add matrix constructing helpers to SkMatrixGravatar robertphillips2015-03-26
| | | | Review URL: https://codereview.chromium.org/1034273002
* add legacy pathop enums; fix uninitialized warningGravatar caryclark2015-03-26
| | | | | | | | | | R=reed@google.com BUG=skia:3588 NOTREECHECKS=true NOTRY=true NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1034073004
* cumulative pathops patchGravatar caryclark2015-03-26
| | | | | | | | | | | | | | | | | | | | | Replace the implicit curve intersection with a geometric curve intersection. The implicit intersection proved mathematically unstable and took a long time to zero in on an answer. Use pointers instead of indices to refer to parts of curves. Indices required awkward renumbering. Unify t and point values so that small intervals can be eliminated in one pass. Break cubics up front to eliminate loops and cusps. Make the Simplify and Op code more regular and eliminate arbitrary differences. Add a builder that takes an array of paths and operators. Delete unused code. BUG=skia:3588 R=reed@google.com Review URL: https://codereview.chromium.org/1037573004
* Add a paint filter utility canvas (SkPaintFilterCanvas)Gravatar fmalita2015-03-26
| | | | | | | | | | Introduce a paint filter proxy base class as a SkDrawFilter replacement, and convert SkDebugCanvas to use the new approach. BUG=skia:3587 R=reed@google.com,mtklein@google.com,robertphillips@google.com,tomhudson@google.com Review URL: https://codereview.chromium.org/1032173002
* SkCodec: conditionally remove fInfoGravatar halcanary2015-03-26
| | | | Review URL: https://codereview.chromium.org/1029423005
* C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}Gravatar mtklein2015-03-25
| | | | | | | | | NOPRESUBMIT=true BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=1037793002 Review URL: https://codereview.chromium.org/1037793002
* Replace error checking mutex initializer with the glibc-compatible versionGravatar djsollen2015-03-25
| | | | | | | No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1038733002
* simple patch to always init SkTextBlob uniqueIDGravatar joshualitt2015-03-25
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1036613002
* Add scanline decoding to SkCodec.Gravatar scroggo2015-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an interface for decoding scanlines, and implement that interface in the PNG decoder. Use a separate method to determine whether an image that used a type with alpha was actually opaque. SkScanlineDecoder.h: New interface for decoding scanlines. SkCodec.h: Add getScanlineDecoder. Add a virtual function (with non-virtual caller) for determining whether the image truly had alpha. The client can call this to determine if the image was actually opaque if it reported having alpha. Remove code to sneakily change the passed in alpha type. SkCodec_libpng.*: Split up code onGetPixels into helper functions that can be shared with the scanline decoder. Implement scanline decoding. Implement onReallyHasAlpha. SkSwizzler.*: Add a new SrcConfig as a default, which is invalid. Add a function for setting fDstRow directly. Assert fDstRow is not NULL. BUG=skia:3257 Review URL: https://codereview.chromium.org/1010903003
* Enabling ico decoding with use of png and bmp decodersGravatar msarett2015-03-25
| | | | | | | | BUG=skia:3257 NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1011343003
* Revert of pathops version two (patchset #16 id:150001 of ↵Gravatar reed2015-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1002693002/) Reason for revert: ASAN investigation Original issue's description: > pathops version two > > R=reed@google.com > > marked 'no commit' to attempt to get trybots to run > > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/ccec0f958ffc71a9986d236bc2eb335cb2111119 TBR=caryclark@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1029993002
* Revert of Enabling ico decoding with use of png and bmp decoders (patchset ↵Gravatar tomhudson2015-03-24
| | | | | | | | | | | | | | | | | | | | | | #10 id:280001 of https://codereview.chromium.org/1011343003/) Reason for revert: Reverting on suspicion of massive bot failures - possible command line too long? Original issue's description: > Enabling ico decoding with use of png and bmp decoders > > BUG=skia:3257 > > Committed: https://skia.googlesource.com/skia/+/15bfd075d38e4422a477e22940d06a137f66cc97 TBR=scroggo@google.com,reed@google.com,djsollen@google.com,msarett@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3257 Review URL: https://codereview.chromium.org/1022843005
* Enabling ico decoding with use of png and bmp decodersGravatar msarett2015-03-24
| | | | | | BUG=skia:3257 Review URL: https://codereview.chromium.org/1011343003
* Move SkMatrixImageFilter.h into src/core.Gravatar senorblanco2015-03-24
| | | | | | | | | Callers in Blink have been updated to call SkImageFilter::CreateMatrixFilter() instead. BUG=skia:3568 Review URL: https://codereview.chromium.org/1013753013
* pathops version twoGravatar caryclark2015-03-24
| | | | | | | | | | R=reed@google.com marked 'no commit' to attempt to get trybots to run TBR=reed@google.com Review URL: https://codereview.chromium.org/1002693002
* Revert of Revert of remove colorfilter native-565 support. complicating w/ ↵Gravatar reed2015-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | no real value. (patchset #1 id:1 of https://codereview.chromium.org/1022673007/) Reason for revert: fix for chrome has landed... Original issue's description: > Revert of remove colorfilter native-565 support. complicating w/ no real value. (patchset #2 id:20001 of https://codereview.chromium.org/1015533011/) > > Reason for revert: > skia/ext/benchmarking_canvas.cc references HasFilter16 :( > > Original issue's description: > > remove colorfilter native-565 support. complicating w/ no real value. > > > > BUG=skia: > > TBR= > > > > Committed: https://skia.googlesource.com/skia/+/2151353d161fe389cdc0db62cfe1932c7680f710 > > TBR=reed@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/92b47c49016749249ff8521e424c4373b4a74241 TBR=reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1016103004
* Revert of remove colorfilter native-565 support. complicating w/ no real ↵Gravatar reed2015-03-24
| | | | | | | | | | | | | | | | | | | | | | | value. (patchset #2 id:20001 of https://codereview.chromium.org/1015533011/) Reason for revert: skia/ext/benchmarking_canvas.cc references HasFilter16 :( Original issue's description: > remove colorfilter native-565 support. complicating w/ no real value. > > BUG=skia: > TBR= > > Committed: https://skia.googlesource.com/skia/+/2151353d161fe389cdc0db62cfe1932c7680f710 TBR=reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1022673007
* Revert "Revert of impl colormatrix w/ floats (patchset #7 id:120001 of ↵Gravatar reed2015-03-24
| | | | | | | | | | | | | https://codereview.chromium.org/967943002/)" disabled for the momment -- need to understand arm64 glitches This reverts commit 374a4c3b744e8c77455efa73b139950136f7b374. BUG=skia: TBR= Review URL: https://codereview.chromium.org/1028403002
* remove colorfilter native-565 support. complicating w/ no real value.Gravatar reed2015-03-24
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1015533011
* Revert of impl colormatrix w/ floats (patchset #7 id:120001 of ↵Gravatar reed2015-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/967943002/) Reason for revert: Arm64 seems to be having glitches :( See gm:colormatrix on Arm64/TegraK1/Nexus9 last square should be all white, but it has stripes Original issue's description: > impl colormatrix w/ floats > > this needs to land first https://codereview.chromium.org/1031713003 > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/7971def11be91ed08eae7107b372322d24e67544 TBR=mtklein@google.com,caryclark@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1030743003
* impl colormatrix w/ floatsGravatar reed2015-03-23
| | | | | | | | this needs to land first https://codereview.chromium.org/1031713003 BUG=skia: Review URL: https://codereview.chromium.org/967943002
* remove meaningless matrix benches, add mapPts() and add new benchesGravatar reed2015-03-23
| | | | | | | | | | mapPts definitely faster than mapPoints (identity and perspective same speed). Up to 3x for large values of N. cloned from https://codereview.chromium.org/1031443002/ BUG=skia: Review URL: https://codereview.chromium.org/1030653002
* Initial change to move text blob to GrTextContextGravatar joshualitt2015-03-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1019633002
* Make SkCanvas::getBaseLayerSize() virtualGravatar tomhudson2015-03-23
| | | | | | | | | | | | | | | Subclasses of SkCanvas may need to override the behavior here - for example, any proxy or deferred canvas may not know its own size and need to delegate to another object. We'll also work on reducing use of this function (https://skbug.com/3569), but some of the current uses seem to be semantically necessary. R=reed@google.com BUG=skia:3566 Review URL: https://codereview.chromium.org/1022423002
* remove SK_SUPPORT_LEGACY_PIXELREF_UNFLATTENABLE codeGravatar reed2015-03-20
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1020403002
* Add SkEncodedFormat, used by SkCodec.Gravatar scroggo2015-03-20
| | | | | | Needed by Android to determine the format. Review URL: https://codereview.chromium.org/1018953003
* Let text contexts fall back directly to pathsGravatar joshualitt2015-03-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1015173002
* Specialize Sk2d for ARM64Gravatar mtklein2015-03-20
| | | | | | | | | | | | | | | | | | | The implementation is nearly identical to Sk2f, with these changes: - float32x2_t -> float64x2_t - vfoo -> vfooq - one extra Newton's method step in sqrt(). Also, generally fix NEON detection to be defined(SK_ARM_HAS_NEON). SK_ARM_HAS_NEON is not being set on ARM64 bots right now (nor does the compiler seem to set __ARM_NEON__), so this CL fixes everything up. BUG=skia: Committed: https://skia.googlesource.com/skia/+/e57b5cab261a243dcbefa74c91c896c28959bf09 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot,Build-Ubuntu-GCC-Arm64-Release-Android-Trybot Review URL: https://codereview.chromium.org/1020963002
* Replace SSE optimization of Color32A_D565Gravatar henrik.smiding2015-03-20
| | | | | | | | | | | | | | | | | | | | | | | Adds an SSE2 version of the Color32A_D565 function, to replace the existing SSE4 version. Also does some minor cleanup. Performance improvement in the following Skia benchmarks. Measured on Atom Silvermont: Xfermode_SrcOver - x3 luma_colorfilter_large - x4.6 luma_colorfilter_small - x2 tablebench - ~15% chart_bw - ~10% Measured on Corei7 Haswell: luma_colorfilter_large running SSE2 - x2 luma_colorfilter_large running SSE4 - x2.3 Also improves performance in WPS Office application and 2D subtest of 0xbenchmark on Android. Signed-off-by: Henrik Smiding <henrik.smiding@intel.com> Review URL: https://codereview.chromium.org/923523002
* Revert of Specialize Sk2d for ARM64 (patchset #3 id:40001 of ↵Gravatar mtklein2015-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1020963002/) Reason for revert: https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Mac10.7-Clang-Arm7-Debug-iOS/builds/2441/steps/build%20most/logs/stdio https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Mac10.7-Clang-Arm7-Release-iOS/builds/2424/steps/build%20most/logs/stdio https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-Arm64-Release-Android/builds/8/steps/build%20most/logs/stdio Original issue's description: > Specialize Sk2d for ARM64 > > The implementation is nearly identical to Sk2f, with these changes: > - float32x2_t -> float64x2_t > - vfoo -> vfooq > - one extra Newton's method step in sqrt(). > > Also, generally fix NEON detection to be defined(SK_ARM_HAS_NEON). > SK_ARM_HAS_NEON is not being set on ARM64 bots right now (nor does the compiler > seem to set __ARM_NEON__), so this CL fixes everything up. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/e57b5cab261a243dcbefa74c91c896c28959bf09 TBR=msarett@google.com,reed@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1028523003
* Specialize Sk2d for ARM64Gravatar mtklein2015-03-20
| | | | | | | | | | | | | | | The implementation is nearly identical to Sk2f, with these changes: - float32x2_t -> float64x2_t - vfoo -> vfooq - one extra Newton's method step in sqrt(). Also, generally fix NEON detection to be defined(SK_ARM_HAS_NEON). SK_ARM_HAS_NEON is not being set on ARM64 bots right now (nor does the compiler seem to set __ARM_NEON__), so this CL fixes everything up. BUG=skia: Review URL: https://codereview.chromium.org/1020963002
* Move SkMatrixImageFilter into core, and add a factory fn for it.Gravatar senorblanco2015-03-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1011273003
* Remove deprecated flavour of SkDropShadowImageFilter::Create().Gravatar senorblanco2015-03-20
| | | | Review URL: https://codereview.chromium.org/1026603002
* add SkMatrix::decomposeScaleGravatar reed2015-03-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1006173005
* Remove now-unused uniqueID param from SkDropShadowImageFilter::Create().Gravatar senorblanco2015-03-19
| | | | | | | | Also make both input & crop rect default NULL, as in other filter Create functions. BUG=skia: Review URL: https://codereview.chromium.org/1016343002
* guarded change to SkImageGenerator to make getInfo() constGravatar reed2015-03-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1017293002