aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Move strike to subrun in GrAtlasTextContextGravatar joshualitt2015-07-31
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1257253005
* C API: add sk_xfermode.h, impl, testGravatar halcanary2015-07-31
| | | | Review URL: https://codereview.chromium.org/1242403005
* Speculative fix for http://crbug.com/515966Gravatar bsalomon2015-07-31
| | | | | | BUG=chromium:515966 Review URL: https://codereview.chromium.org/1268723005
* Another small fix to GrFontScalerGravatar joshualitt2015-07-31
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1261433006
* Port SkXfermode opts to SkOpts.hGravatar mtklein2015-07-31
| | | | | | | | | | | | | Renames Sk4pxXfermode.h to SkXfermode_opts.h, and refactors it a tiny bit internally. This moves xfermode optimization from being "compile-time everywhere but NEON" to simply "runtime everywhere". I don't anticipate any effect on perf or correctness. BUG=skia:4117 Review URL: https://codereview.chromium.org/1264543006
* use SkNextID::ImageID for android's stable idGravatar reed2015-07-31
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1263463003
* Modifying TextBlobCacheTest to use SkRandomScalerContextGravatar joshualitt2015-07-31
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/adcdca86ce425cf8c28bfad311cef028df756ee8 Review URL: https://codereview.chromium.org/1266003002
* Make ANGLE perf decisions be runtime rather than compile timeGravatar bsalomon2015-07-31
| | | | | | R=robertphillips@google.com Review URL: https://codereview.chromium.org/1268953002
* Port SkUtils opts to SkOpts.Gravatar mtklein2015-07-31
| | | | | | | | | | | | | | | | With this new arrangement, the benefits of inlining sk_memset16/32 have changed. On x86, they're not significantly different, except for small N<=10 where the inlined code is significantly slower. On ARMv7 with NEON, our custom code is still significantly faster for N>10 (up to 2x faster). For small N<=10 inlining is still significantly faster. On ARMv7 without NEON, our custom code is still ridiculously faster (up to 10x) than inlining for N>10, though for small N<=10 inlining is still a little faster. We were not using the NEON memset16 and memset32 procs on ARMv8. At first blush, that seems to be an oversight, but if so it's an extremely lucky one. The ARMv8 code generation for our memset16/32 procs is total garbage, leaving those methods ~8x slower than just inlining the memset, using the compiler's autovectorization. So, no need to inline any more on x86, and still inline for N<=10 on ARMv7. Always inline for ARMv8. BUG=skia:4117 Review URL: https://codereview.chromium.org/1270573002
* Restore read pixels perf on ANGLEGravatar bsalomon2015-07-31
| | | | | | BUG=chromium:513797 Review URL: https://codereview.chromium.org/1265003002
* bump the size of the atlas id to 64 bitsGravatar joshualitt2015-07-31
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1253003005
* Revert of Modifying TextBlobCacheTest to use SkRandomScalerContext (patchset ↵Gravatar joshualitt2015-07-31
| | | | | | | | | | | | | | | | | | | | | | #3 id:40001 of https://codereview.chromium.org/1266003002/) Reason for revert: breaking android Original issue's description: > Modifying TextBlobCacheTest to use SkRandomScalerContext > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/adcdca86ce425cf8c28bfad311cef028df756ee8 TBR=bungeman@google.com,bsalomon@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1267623004
* Modifying TextBlobCacheTest to use SkRandomScalerContextGravatar joshualitt2015-07-31
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1266003002
* Also provides the ResourceProvider to onDrawPath which allows the DF PR to ↵Gravatar bsalomon2015-07-31
| | | | | | no longer require access to GrContext. Review URL: https://codereview.chromium.org/1265763002
* Remove unused field in micro cleanupGravatar joshualitt2015-07-31
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1268893002
* Tweak the MaskFormat in one more place in GrBatchFontCacheGravatar joshualitt2015-07-31
| | | | | | BUG=510931 Review URL: https://codereview.chromium.org/1268743002
* Address some SkLightingShader TODOsGravatar robertphillips2015-07-31
| | | | | | | | This CL: switches the light colors to be 3 scalars (SkColor3f) adds some dox Review URL: https://codereview.chromium.org/1265983003
* Implement support for dual source blending in ESGravatar kkinnunen2015-07-30
| | | | | | | | | | | | | | | | | | | | | | | Use EXT_blend_func_extended to implement dual source blending in OpenGL ES. The extension is the ES version of ARB_blend_func_extended. The extension provides gl_SecondaryFragColorEXT for ES 2.0 contexts. The extension provides glBindFragDataLocationIndexed to bind a custom fragment shader output to the secondary color for ES 3.0 contexts. For ES 3.1 contexts, the extension would also give "layout (location=0, index=1)" output varible layout modifier syntax, but it is not used in this patch. The extension needs #extension GL_EXT_blend_func_extended : require directive for the variables to be available in ES 2.0. For ES 3.0, the directive relaxes the rules for the amount of output variables without layout location qualifiers. OpenGL continues to use GL_ARB_blend_func_extended for dual source blending. Review URL: https://codereview.chromium.org/1266773003
* Make it possible to toggle MSAA for ES (EXT_multisample_compatibility)Gravatar kkinnunen2015-07-30
| | | | | | | | | | | | | | | Make it possible to turn MSAA on and off for OpenGL ES, too. Use EXT_multisample_compatibility. The extension adds token: MULTISAMPLE_EXT 0x809D The token can be supplied to glEnable/glDisable/glGetInteger. This is needed in order to support mixed samples in OpenGL ES. This is important for path rendering Chromium command buffer integration. Review URL: https://codereview.chromium.org/1270533002
* lock pixels in image when bitmap is immutable and not-lazyGravatar reed2015-07-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1266143003
* fix empty image constructorGravatar reed2015-07-30
| | | | | | | | | fBitmap was not fully constructed yet BUG=skia: TBR= Review URL: https://codereview.chromium.org/1264773004
* unify pixelref and image ID space, so we can share IDs when we share pixelsGravatar reed2015-07-30
| | | | | | | | I view this as a performance opportunity, not a feature or bug fix per-se. BUG=skia: Review URL: https://codereview.chromium.org/1266883002
* Disable SRGB support on PowerVR Rogue due to SRGBReadWritePixels failureGravatar bsalomon2015-07-30
| | | | | | | TBR=jvanverth@google.com BUG=skia:4148 Review URL: https://codereview.chromium.org/1266933002
* Make TRecorder alloc_back return a void*Gravatar bsalomon2015-07-30
| | | | | | | | | | Speculative fix for this bug: BUG=chromium:515679 TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/1268493003
* SRGB read and write pixels working and unit testGravatar bsalomon2015-07-30
| | | | Review URL: https://codereview.chromium.org/1264003002
* find image whenever we generateGlyph. This should ensure the glyph is fully ↵Gravatar joshualitt2015-07-30
| | | | | | | | initialized before we start using the maskformat. BUG=skia: Review URL: https://codereview.chromium.org/1270573003
* Move some parts of onReadPixels up to GrGpu readPixels.Gravatar egdaniel2015-07-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1270583003
* Rename SkCodec_libbmp to SkBmpCodecGravatar msarett2015-07-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1254963006
* Revert character in typeface test on Android.Gravatar bungeman2015-07-30
| | | | | | | | | | | This is a partial revert of f20488b4f2, particularly https://skia.googlesource.com/skia/+/f20488b4f2139e6ca09fee7e39b731dd8ab467db%5E%21/#F11 BUG=chromium:515366 TBR=mtklein@google.com This is a (non-automatic) revert. Review URL: https://codereview.chromium.org/1265993003
* Minor cleanup of SkLightingShaderGravatar robertphillips2015-07-30
| | | | | | | | Fix: PM component swizzling on Macs Serialization Review URL: https://codereview.chromium.org/1270533003
* Runtime CPU detection for rsqrt().Gravatar mtklein2015-07-30
| | | | | | | | | | | | | | | This enables the NEON sk_float_rsqrt() code for configurations that have NEON at run-time but not compile-time. These devices will see about a 2x (1.26 -> 2.33) slowdown in sk_float_rsqrt(), but it should be more precise than our portable fallback. (When inlined, the portable fallback and the NEON code are almost identical in speed. The only difference is precision. Going through a function pointer is causing all this slowdown. This is a good example of a place where Skia really benefits from compile-time NEON.) BUG=skia:4117,skia:4114 No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1264893002
* Dont try to draw glyphs with unexpected mask formatsGravatar joshualitt2015-07-30
| | | | | | BUG=510931 Review URL: https://codereview.chromium.org/1269743003
* Remove SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONSGravatar scroggo2015-07-30
| | | | | | Now that Chrome no longer depends on it, remove dead code. Review URL: https://codereview.chromium.org/1263013002
* Make GrGpu read/write pixels take GrSurfaceGravatar bsalomon2015-07-30
| | | | Review URL: https://codereview.chromium.org/1262473004
* Lay groundwork for SkOpts.Gravatar mtklein2015-07-30
| | | | | | | | | | This doesn't really do anything yet. It's just the CPU detection code, skeleton new .cpp files, and a few little .gyp tweaks. BUG=skia:4117 Committed: https://skia.googlesource.com/skia/+/ce2c5055cee5d5d3c9fc84c1b3eeed4b4d84a827 Review URL: https://codereview.chromium.org/1255193002
* Revert of Optimize RGB16 blitH functions with NEON for ARM platform. ↵Gravatar mtklein2015-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #2 id:20001 of https://codereview.chromium.org/1229673008/) Reason for revert: This doesn't draw correctly, e.g. our GM test named dashcubics. Good: https://gold.skia.org/img/images/0f7e8e226379afbad8a700e0a80fd8f1.png Bad: https://gold.skia.org/img/images/56ce15fc67436065a3db4b8ee31f13ae.png Original issue's description: > Optimize RGB16 blitH functions with NEON for ARM platform. > > Here are some performance resultsi on Nexus 9: > SkRGB16BlitterBlitH_neon: > +--------+-----------+ > |height | C/NEON | > +--------+-----------+ > |1 | 0.888531 | > +--------+-----------+ > |8 | 1.231800 | > +--------+-----------+ > |18 | 1.073327 | > +--------+-----------+ > |32 | 1.136991 | > +--------+-----------+ > |76 | 1.174638 | > +--------+-----------+ > |85 | 1.188551 | > +--------+-----------+ > |120 | 1.180261 | > +--------+-----------+ > |128 | 1.183726 | > +--------+-----------+ > |512 | 1.220806 | > +--------+-----------+ > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/6c72d5740231f47c664a8e765a8df05cd124c88c TBR=djsollen@google.com,caryclark@google.com,reed@google.com,bero@linaro.com,yang.zhang@linaro.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1268513003
* Optimize RGB16 blitH functions with NEON for ARM platform.Gravatar yang.zhang2015-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here are some performance resultsi on Nexus 9: SkRGB16BlitterBlitH_neon: +--------+-----------+ |height | C/NEON | +--------+-----------+ |1 | 0.888531 | +--------+-----------+ |8 | 1.231800 | +--------+-----------+ |18 | 1.073327 | +--------+-----------+ |32 | 1.136991 | +--------+-----------+ |76 | 1.174638 | +--------+-----------+ |85 | 1.188551 | +--------+-----------+ |120 | 1.180261 | +--------+-----------+ |128 | 1.183726 | +--------+-----------+ |512 | 1.220806 | +--------+-----------+ BUG=skia: Review URL: https://codereview.chromium.org/1229673008
* Update SkLightingShader to take a localMatrixGravatar robertphillips2015-07-30
| | | | | | W/o this we can't draw lit objects anywhere but the origin. Review URL: https://codereview.chromium.org/1253223003
* Double free in ~SkPictureData()Gravatar fmalita2015-07-29
| | | | | | | | | | | | | | On subpicture parsing failures we clean up all fPictureRefs entries *and* delete the array itself. But the destructor also deletes the array => double free. Alternatively, we can set fPictureCount to the number of successfully parsed pictures such that the destructor handles all the cleanup. BUG=515228 R=reed@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/1264503011
* Move the last headers. Cross your fingers.Gravatar mtklein2015-07-29
| | | | | | | | | | | If this doesn't work, one at a time... BUG=skia:4126 No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1255373006
* Move non-trivial constructors out-of-line.Gravatar mtklein2015-07-29
| | | | | | | | | | | There is more than one way to skin this SkPathPriv.h cat. These constructors are large enough that they probably shouldn't have been inlined like this anyway. BUG=skia:4126 Review URL: https://codereview.chromium.org/1253963004
* remove (unnecessary?) call to notifyPixelsChangedGravatar reed2015-07-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1265733002
* Remove SK_BUILD_FOR_WINCE.Gravatar bungeman2015-07-29
| | | | | | | | This hasn't been tested for years, and no one currently knows when it last worked (if ever). It is doubtful that any of the remaining logic would even make sense with a modern version of Embedded Compact 2013. Review URL: https://codereview.chromium.org/1260453008
* Move LightingShader to effectsGravatar robertphillips2015-07-29
| | | | | | | | | | | Additionally this CL: forces the light colors to be opaque forces the light direction to be normalized adds a raster implementation adds a gm Review URL: https://codereview.chromium.org/1245883003
* Clean up a few includes, introduce iwyu.Gravatar bungeman2015-07-29
| | | | | | | | | The current include-what-you-use with current clang is much less noisy and more useful than it has been in the past. This change introduces a few IWYU directives (which are helpful documentation for humans as well) and fixes a few sets of includes. Review URL: https://codereview.chromium.org/1207893002
* SkImage_Raster's pixels are always immutable.Gravatar reed2015-07-29
| | | | | | | | | | | | | | | | | | To make this work, we tag their pixelrefs as temporarily immutable, allowing ourselves to restore the pixels to mutability only when the image drops away. This should allow us to wobble back and forth between writing to the Surface and reading from the Image without a COW, with the Surface seeing mutable pixels and the Image seeing immutable pixels. The big idea is, Image doesn't need forever-immutable pixels, it just needs pixels that are immutable as long as it's alive. BUG=skia: patch from issue 804523002 at patchset 40001 (http://crrev.com/804523002#ps40001) Review URL: https://codereview.chromium.org/1254383006
* Move headers with no dependencies.Gravatar mtklein2015-07-29
| | | | | | | | | | | | | | | | | C.f. https://codereview.chromium.org/1261013003/ BUG=skia:4126 Will follow up with two more CLs if this works: - one moving SkRecords.h - one moving SkMiniRecorder.h No public API changes. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/117842223bd13325b6da26110d80e0590c1a742b Review URL: https://codereview.chromium.org/1266593002
* Fix for GrAtlasTextContext crashGravatar joshualitt2015-07-29
| | | | | | BUG=510931 Review URL: https://codereview.chromium.org/1256763005
* Make SkSwizzler::Fill() support 565Gravatar msarett2015-07-29
| | | | | | BUG=skia:4135 Review URL: https://codereview.chromium.org/1267543002
* Adding debug SkScalerContext which returns random mask formatsGravatar joshualitt2015-07-29
| | | | | | | TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1260473004