aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Pack BitmapTextBlob a bit tighterGravatar joshualitt2015-04-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1092973004
* reuse scaler across consecutive textbatch flushesGravatar joshualitt2015-04-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1091313002
* A small patch to enable distance field text in textblobsGravatar joshualitt2015-04-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1098653005
* Yet more ASAN fixes.Gravatar senorblanco2015-04-21
| | | | | | | | | More nullptr checks for factories I have added. Other checks more Yoda-like I have made. (Skia style this is.) BUG=skia: Review URL: https://codereview.chromium.org/1086393004
* Another speculative ASAN fix.Gravatar senorblanco2015-04-21
| | | | | | | | Add a GrContext nullptr check in SurfaceTest. TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/1098993004
* SkTHash: remove()Gravatar mtklein2015-04-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1057043003
* Undo the bounds mapping of bounds for GrOvalRenderer for certain drawsGravatar egdaniel2015-04-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1099873002
* fix valgrind uninitialized var errorGravatar caryclark2015-04-21
| | | | | | R=mtklein@google.com Review URL: https://codereview.chromium.org/1097293002
* Speculative fix for ASAN build.Gravatar senorblanco2015-04-20
| | | | | | | | | Check for NULL GrContext in TessellatingPathRendererTests. Also fix an upload nag (no #includes before GPU #ifdef). TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/1097943004
* Make the GPU dashing effect MSAA-friendly.Gravatar senorblanco2015-04-20
| | | | Review URL: https://codereview.chromium.org/1092793006
* Regularize lmp::XXX_element_handler.Gravatar bungeman2015-04-20
| | | | | | | | | | | | | | This makes all non-XMLCALL element_handler functions uniform by making their signature void XXX_element_handler(FamilyData* self, const char** attributes) This makes the code somewhat easier to follow, as it makes explicit which functions are actually logically methods of FamilyData (start with 'FamilyData* self') and which are called directly by expat (start with 'void* data'). Review URL: https://codereview.chromium.org/1086943007
* Minor modifications to GrProgramDesc.h.Gravatar jvanverth2015-04-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1100483003
* Return correctly mapped bounds from GrOvalRenderer.Gravatar egdaniel2015-04-20
| | | | | | | | | | | | | | Before we were returning non transformed bounds for the ovals instead of device bounds from the various draw calls. This was causing us to do dst copies from the wrong portion of the screen when there was some transform on the matrix. This fixes the gpu issues from the new imagefilters-xfermodes gm as well an old bug from the srcmode GM. BUG=skia: Review URL: https://codereview.chromium.org/1090453003
* Regularize informative messages in Android font parser.Gravatar bungeman2015-04-20
| | | | | | | | The Android font parser prints a number of helpful messages when something seems amiss in the configuration file. Give all of these messages a common and more informative format. Review URL: https://codereview.chromium.org/1096063003
* Convert Color32 code to perfect blend.Gravatar mtklein2015-04-20
| | | | | | | | | | | | | | | | | | | | | Before we commit to blend_256_round_alt, let's make sure blend_perfect is really slower in practice (i.e. regresses on perf.skia.org). blend_perfect is really the most desirable algorithm if we can afford it. Not only is it correct, but it's easy to think about and break into correct pieces: for instance, its div255() doesn't require any coordination with the multiply. This looks like a 30% hit according to microbenches. That said, microbenches said my previous change would be a 20-25% perf improvement, but it didn't end up showing a significant effect at a high level. As for correctness, I see a bunch of off-by-1 compared to blend_256_round_alt (exactly what we'd expect), and one off-by-3 in a GM that looks like it has a bunch of overdraw. BUG=skia: Review URL: https://codereview.chromium.org/1098913002
* adjust GM to have a final opaque bg, to make it easier to triageGravatar reed2015-04-20
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1085333003
* Now, path ops natively intersect conics, quads, and cubics in any ↵Gravatar caryclark2015-04-20
| | | | | | | | | | | combination. There are still a class of cubic tests that fail and a handful of undiagnosed failures from skps and fuzz tests, but things are much better overall. Extended tests (150M+) run to completion in release in about 6 minutes; the standard test suite exceeds 100K and finishes in a few seconds on desktops. TBR=reed BUG=skia:3588 Review URL: https://codereview.chromium.org/1037953004
* apply xfermode after imagefilter when we create a tmp layerGravatar reed2015-04-20
| | | | | | BUG=skia:3741 Review URL: https://codereview.chromium.org/1091173003
* add GM to test imagefilters + xfermodesGravatar reed2015-04-20
| | | | | | | | draws incorrectly as is, but will be fixed by https://codereview.chromium.org/1091173003 BUG=skia:3741 Review URL: https://codereview.chromium.org/1088773004
* Update our libjpeg to the version used by Chromium.Gravatar scroggo2015-04-20
| | | | | | | | | We had previously not updated since 2013. This includes the fix for http://seclists.org/fulldisclosure/2013/Nov/83 BUG=skia:3744 Review URL: https://codereview.chromium.org/1097943002
* Fix point count computation in tessellating path renderer.Gravatar senorblanco2015-04-20
| | | | | | | | | | | | | The conic, quadratic and cubic computations were using tolerance^2 instead of tolerance when computing maximum point count, causing paths to be undertessellated when magnifying and overtessellated when minifying. (Funny story: this bug went unnoticed back when we were tessellating paths in screen space, when tolerance and its square were both 1.) BUG=skia:3731 Review URL: https://codereview.chromium.org/1095773003
* remove dead code from SK_SUPPORT_LEGACY_BLITANTIH2V2Gravatar reed2015-04-20
| | | | | | | | | no image changes expected in skia or chrome/blink BUG=skia: TBR= Review URL: https://codereview.chromium.org/1050953003
* Update SKP versionGravatar skia.buildbots2015-04-19
| | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= Review URL: https://codereview.chromium.org/1095953002
* Revert of Allow NEON on iOS. (patchset #3 id:40001 of ↵Gravatar mtklein2015-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1091823002/) Reason for revert: need to coordinate this with chrome gyps/gn Original issue's description: > Allow NEON on iOS. > > I have nanobench building and running (Color32_arm_neon) on my iPad. > > No public API changes. > TBR=reed@google.com > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/e5043b7ea5170a639367b67c986568907576be4b TBR=caryclark@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1094843005
* Respect declared font style on Android.Gravatar bungeman2015-04-17
| | | | | | | | | | | | | | | | | | | | Previously the normal/italic style bit was obtained from scanning the font file. With the new format the style may be stated explicitly, and this explicit value in the configuration file should override any information obtained from the font data itself. This change allows the font element's style attribute to override the font's style, but retains the default 'auto' setting for backwards compatibility. Repecting the style bit may become more important with variation fonts, because it will be up to the configuration writer to determine what values of the 'slnt' variation should be considered 'normal' or 'italic'. DOCS_PREVIEW= https://skia.org/?cl=1092093002 Committed: https://skia.googlesource.com/skia/+/673e902c9b9982a167f54f1cc175d8d9cab8bcaf Review URL: https://codereview.chromium.org/1092093002
* Revert of Respect declared font style on Android. (patchset #6 id:100001 of ↵Gravatar jcgregorio2015-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1092093002/) Reason for revert: Failed on the compile bots. Original issue's description: > Respect declared font style on Android. > > Previously the normal/italic style bit was obtained from scanning the > font file. With the new format the style may be stated explicitly, and > this explicit value in the configuration file should override any > information obtained from the font data itself. > > This change allows the font element's style attribute to override the > font's style, but retains the default 'auto' setting for backwards > compatibility. Repecting the style bit may become more important with > variation fonts, because it will be up to the configuration writer to > determine what values of the 'slnt' variation should be considered > 'normal' or 'italic'. > > DOCS_PREVIEW= https://skia.org/?cl=1092093002 > > Committed: https://skia.googlesource.com/skia/+/673e902c9b9982a167f54f1cc175d8d9cab8bcaf TBR=mtklein@google.com,tomhudson@google.com,scroggo@google.com,bungeman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1082173004
* PDF: Correctly embed JPEG images directly into PDF output.Gravatar halcanary2015-04-17
| | | | | | | | | We only embed images with YUV planes. That should only grab the subset of color JPEGs supported by PDF. BUG=skia:3180 Review URL: https://codereview.chromium.org/1025773002
* Respect declared font style on Android.Gravatar bungeman2015-04-17
| | | | | | | | | | | | | | | | | | Previously the normal/italic style bit was obtained from scanning the font file. With the new format the style may be stated explicitly, and this explicit value in the configuration file should override any information obtained from the font data itself. This change allows the font element's style attribute to override the font's style, but retains the default 'auto' setting for backwards compatibility. Repecting the style bit may become more important with variation fonts, because it will be up to the configuration writer to determine what values of the 'slnt' variation should be considered 'normal' or 'italic'. DOCS_PREVIEW= https://skia.org/?cl=1092093002 Review URL: https://codereview.chromium.org/1092093002
* Trace contention for lockPixels mutexGravatar enne2015-04-17
| | | | Review URL: https://codereview.chromium.org/1090103002
* Rework SSE and NEON Color32 algorithms to be more correct and faster.Gravatar mtklein2015-04-17
| | | | | | | | | | | | | | | | | | | | This algorithm changes the blend math, guarded by SK_LEGACY_COLOR32_MATH. The new math is more correct: it's never off by more than 1, and correct in all the interesting 0x00 and 0xFF edge cases, where the old math was never off by more than 2, and not always correct on the edges. If you look at tests/BlendTest.cpp, the old code was using the `blend_256_plus1_trunc` algorithm, while the new code uses `blend_256_round_alt`. Neither uses `blend_perfect`, which is about ~35% slower than `blend_256_round_alt`. This will require an unfathomable number of rebaselines, first to Skia, then to Blink when I remove the guard. I plan to follow up with some integer SIMD abstractions that can unify these two implementations into a single algorithm. This was originally what I was working on here, but the correctness gains seem to be quite compelling. The only places these two algorithms really differ greatly now is the kernel function, and even there they can really both be expressed abstractly as: - multiply 8-bits and 8-bits producing 16-bits - add 16-bits to 16-bits, returning the top 8 bits. All the constants are the same, except SSE is a little faster to keep 8 16-bit inverse alphas, NEON's a little faster to keep 8 8-bit inverse alphas. I may need to take this small speed win back to unify the two. We should expect a ~25% speedup on Intel (mostly from unrolling to 8 pixels) and a ~20% speedup on ARM (mostly from using vaddhn to add `color`, round, and narrow back down to 8-bit all into one instruction. (I am probably missing several more related bugs here.) BUG=skia:3738,skia:420,chromium:111470 Review URL: https://codereview.chromium.org/1092433002
* Remove filename from SkFontDescriptor.Gravatar bungeman2015-04-17
| | | | | | | | | | No one actually uses it, so remove it. Keep the string id for backward compatibility. TBR=reed@google.com This doesn't change any public API. Review URL: https://codereview.chromium.org/1057413005
* Small change to allow DistanceField and BMP text to coexist in a blobGravatar joshualitt2015-04-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1096753002
* Correct SkFixedToDouble.Gravatar bungeman2015-04-17
| | | | | | | | | | | | SkFixedToDouble uses the decimal floating point string representation of 1/(2^16) to provide a constant value. This value is exactly representable by a double but the decimal constant currently used does not map to this value. This change modifies this constant to more decimal digits so that the actual double value desired is created. Review URL: https://codereview.chromium.org/1097473002
* Initial CL to add distance field support to GrAtlasTextContextGravatar joshualitt2015-04-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1082843002
* adding new gm to rotate, translate, and scale textblobsGravatar joshualitt2015-04-17
| | | | | | | | this is to test distance field caching and regen of texture blobs on scale. BUG=skia: Review URL: https://codereview.chromium.org/1097563002
* Allow NEON on iOS.Gravatar mtklein2015-04-17
| | | | | | | | | | | I have nanobench building and running (Color32_arm_neon) on my iPad. No public API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1091823002
* add a GM to demo the blend bugGravatar mtklein2015-04-17
| | | | | | BUG=skia:3739 Review URL: https://codereview.chromium.org/1094863003
* Revert of Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 ↵Gravatar reed2015-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1060703003/) Reason for revert: fix (removal from gypi/gn files) has landed in chrome. Original issue's description: > Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/1088383003/) > > Reason for revert: > This change is causing the DEPS roll to fail: > > > http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/78771/steps/gn/logs/stdio > > Original issue's description: > > remove unused (by clients) SkPathUtils > > > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/aab35d91b8b80acd1902594bbf542083fdfa4bb7 > > TBR=scroggo@google.com,reed@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/bdb0bf5f8858043878d8a4fa8130c6c87bef3fd4 TBR=scroggo@google.com,jcgregorio@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1091963002
* Add PS 'all' weight name to scanFont.Gravatar bungeman2015-04-16
| | | | | | | | Multiple Master fonts often list their weight as 'all'. However, they usually default to normal weight. State explicitly that we know about this weight string. Review URL: https://codereview.chromium.org/1092793002
* Default iOS builds to our code signing identity.Gravatar mtklein2015-04-16
| | | | | | | | | It's super tedious to keep setting it every time I rerun ./gyp_skia. Doesn't look like it'll bother the bots. BUG=skia: Review URL: https://codereview.chromium.org/1053493005
* contrib: Simplify the command to create a feature branch.Gravatar tfarina2015-04-16
| | | | | | | | | | | | | You can create a work branch off origin/master by simply running: $ git checkout -b my-feature origin/master BUG=None R=borenet@google.com NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=1057513004 Review URL: https://codereview.chromium.org/1057513004
* This section is moot: we divert ios to opts_none above.Gravatar mtklein2015-04-16
| | | | | | | | | | (We never set arm_version = 7 for iOS...) CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot BUG=skia: Review URL: https://codereview.chromium.org/1092753002
* Add SkTPin.Gravatar bungeman2015-04-16
| | | | | | | | Currently there exist SkScalarPin and SkPin32, and in a future change another version is desired. This change introduces SkTPin and changes SkScalarPin and SkPin32 to use it. Review URL: https://codereview.chromium.org/1090003002
* Improve tessellating path rasterizer performance on dashed paths.Gravatar senorblanco2015-04-16
| | | | | | | | | | | | | With dashed paths, we get a lot of geometry on the same sort line. Since the vertices are sorted, it makes more sense to insert edges from the end (in sort order) than the beginning. This requires maintaining both the head and tail of the active edge list. This gives a ~20% perf improvement on tabl_digg.skp. BUG=skia:3733 Review URL: https://codereview.chromium.org/1089903002
* add textblob cache freeallGravatar joshualitt2015-04-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1088683004
* Rename GrStencilBuffer to GrStencilAttachmentGravatar egdaniel2015-04-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1083133002
* SkScaledBitmapSampler: fix memory overwrittenGravatar zoran.jovanovic2015-04-16
| | | | | | | | | | | | | | | | | | | Memory will be overwritten while downsampling some interlaced gif images, most commonly with odd sizes, when index of destination row stores in the current line computed from GifInterlaceIter meets: X is an integer in [0..height-1] and (X < height) && ((X - sampleSize/2) % sampleSize == 0) && ((X - sampleSize/2)/sampleSize >= height/sampleSize) Signed-off-by: Lu Tong <lu.x.tong@sonymobile.com> BUG=skia: Review URL: https://codereview.chromium.org/1085253002
* Add ReverseIter to GrTRecorderGravatar cdalton2015-04-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1035083004
* Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of ↵Gravatar jcgregorio2015-04-16
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1088383003/) Reason for revert: This change is causing the DEPS roll to fail: http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/78771/steps/gn/logs/stdio Original issue's description: > remove unused (by clients) SkPathUtils > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/aab35d91b8b80acd1902594bbf542083fdfa4bb7 TBR=scroggo@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1060703003
* Don't serialize anything for SkEmptyShader.Gravatar mtklein2015-04-16
| | | | | | BUG=skia:3735 Review URL: https://codereview.chromium.org/1097433002