aboutsummaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* Fimg2d: set fimg.isFilter in SkDraw::drawBitmapghepeu2013-07-011-0/+1
| | | | | | | Set fimg.isFilter from paint.isFilterBitmap() in drawBitmap like it's done later in drawRect_withG2D. Change-Id: I8c27933dba28ae8834f02cb1ba66ec58dd2c933c
* Fimg2d3x: fix icon scaling issue with acceleration enabledghepeu2013-07-011-1/+1
| | | | | | | * replace undefined TRUE/FALSE with true/false in SkFimgApi3x.h * fix warning in SkFimgApi3x.cpp Change-Id: Iabaf66df526892f006573c97450fd36f461d9bb2
* skia: exynos4: add support for fimg2d3xDaniel Hillenbrand2013-06-143-2/+366
| | | | Change-Id: Ie0509e7d537fe2a73b23c30f5128d80ee48c1d7d
* exynos4: fimg2d accelerationDaniel Hillenbrand2013-06-143-0/+773
| | | | | | http://git.insignal.co.kr/insignal/origen_quad-jb_mr1.1/android/platform/external/skia/commit/?h=origen_quad-jb_mr1.1&id=7a2cdab99f7a27e2566afbf8c0a2d3ea64c8a375 Change-Id: If605106881540f2170249e6446770ec95b4667b3
* Modify sample buffer size for larger displays.Henrik Smiding2013-05-261-1/+7
| | | | | | | | | | Modifies the intermediate buffer size for sample pixel indexes, used in the sample proc function calls. If the buffer is not large enough, the job is split into several calls. This would impact the performance of SIMD optimizations. Change-Id: I86848d1c44fe338258b40f6ee6a576289cebd496 Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com> Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
* Add shader for Clamp_S32_Opaque_D32_nofilter_DX.Henrik Smiding2013-05-261-0/+2
| | | | | | | | | | Adds an optimized shader for S32_Opaque_D32_nofilter_DX when running with clamped tile mode. Improves performance of system and various applications. Change-Id: I8dd7be24870315b2b8273bf72d9c22eb0aeb97fb Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com> Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
* Add shader for Clamp_SI8_opaque_D32_filter_DX.Henrik Smiding2013-05-261-0/+2
| | | | | | | | | | Adds a NEON optimized shader for SI8_opaque_D32_filter_DX when running with clamped tile mode. Improves performance of browser. Change-Id: I0e1fa03d4104210953b7ec81ce10eba5f77459cc Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com> Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
* Skia: Introduce caching of unscaled Bitmaps.Lucas Crowthers2013-03-042-0/+88
| | | | | | | | | | | This allows skia to choose whether to use the prescaled bitmap or the unscaled bitmap depending on which would be optimal in the current situation. This commit also introduces two functions necessary for properly resizing Rects when using the non-pre-scaled bitmaps. CRs-fixed: 451681 Change-Id: I36779d8a680a3ced7c28da492e879de02c7e87a5
* skia: SkPaint::SkPaint(): don't cast away constRichard Hansen2013-02-281-2/+2
| | | | | | | This will help avoid bugs like the one fixed in change-id: Iaeb2b84b6696e3eebf29617dfdc41c55e5226776. Change-Id: I892423e18f9927f827393d0ff0c923259e07389c
* memcpy_76(): fix behavior on non-ARM architecturesRichard Hansen2013-02-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The destination is passed as the first argument to memcpy_76() and the source is passed as the second argument. As originally written in commit cb5701e, the first argument was called 'src' (despite being the destination) and the second was called 'dst' (despite being the source). The behavior of the memcpy_76() function was correct despite the backward variable naming. Commit ad673c1 reversed the naming of the two arguments to clarify the semantics of the function but failed to reverse the naming in the ARM assembly code. This broke the function's behavior on ARM devices. Commits a8ce1a0 and f4be52e reversed the argument names again. This fixed ARM support, but broke non-ARM architectures (the arguments to memcpy() in the body of the memcpy_76() function were not also reversed). This change swaps the argument names again and swaps the names in the ARM assembly, restoring correct behavior on non-ARM architectures and aligning the variable names with the function's semantics. Change-Id: Iaeb2b84b6696e3eebf29617dfdc41c55e5226776
* FIX: memcpy_76(): add support for non-ARM architecturesSteve Kondik2013-02-271-1/+6
| | | | | | | | | Before, memcpy_76() assumed ARM instruction set. Add preprocessor guards to use generic memcpy() if not on ARM. Original patch had args to memcpy_76 backwards. Change-Id: Ib5375e9de28ab6c2b348731dcdf282d6f7a529c1
* Revert "memcpy_76(): add support for non-ARM architectures"Steve Kondik2013-02-271-6/+1
| | | | This reverts commit ad673c1cb9dd151fd4e74380c4ba82c1fefb580b.
* memcpy_76(): add support for non-ARM architecturesRichard Hansen2013-02-211-1/+6
| | | | | | | Before, memcpy_76() assumed ARM instruction set. Add preprocessor guards to use generic memcpy() if not on ARM. Change-Id: Id4d7335332f4086fa33641630f41810b2fe07031
* Several skia tunings for JB_2.5Xin Qi2013-01-202-5/+135
| | | | | | | | * Optiming constructor of Paint object * Special copy path for small object * Global Language list instead of constructing a new obj everytime. Change-Id: I8d4687fffe055166a4758059872af09bfdc973d4
* Support NEON anti-aliasing blit function in SKIALee Hwangjae2012-12-172-1/+182
| | | | | | | | | | | | original function has calculation are called repetitively, and Processed individual pixels only. So Function call overhead was reduced. And In contrast to the serial data processing in the existing code, the Neon code processes 8 or 4 pixels in parallel. In contrast to the serial data processing in the existing code, the Neon code processes 8 or 4 pixels in parallel Change-Id: Ib54aeb6bacfd4ed6d257324e8146b211f90b68e9 Signed-off-by: Lee Hwangjae <hj-yo.lee@samsung.com>
* Merge branch 'jb-mr1-release' of ↵Steve Kondik2012-11-186-35/+139
|\ | | | | | | | | | | https://android.googlesource.com/platform/external/skia into mr1-staging Change-Id: I5cf0639d6ad25f58af4d5e0e480ee063148991f8
| * Increment SkPath's generation id when transform() is calledRomain Guy2012-09-041-1/+6
| | | | | | | | Change-Id: I2f164c30342620e1c0663e133ba671b4a3869b70
| * Disable "no context for char" log spam.Victoria Lease2012-08-221-1/+1
| | | | | | | | | | | | | | | | | | | | It looks like Id8c91ae0be6cad8a7ef77a0cd5803676290986c1 upgraded this message from an actual error notification into a full-fledged adb log spammer. Oops! This CL moves it back to the location it should be at, and requires SK_DEBUG to see it even there. Bug: 7038312 Change-Id: Iefc0b001a9874e0f177507d43231e6fdb4a1d92a
| * DO NOT MERGE Han PreferenceBilly Hewlett2012-08-203-32/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cherry-pick Id8c91ae0be6cad8a7ef77a0cd5803676290986c1 from master. During font initialization, create a seperate fallback list for each locale. At runtime, use the fallbacklist associated with the locale set in the paint object. Fallback files are associated with locales in fallback_fonts.xml. Multiple files can be associated with the same locale, ordering within that langauge and apart from that language in the fallback order is preserved. This changelist also includes some refactoring, notably of the functions that call getNextContext(). Change-Id: I121f0e491a522c4a8558a0066b2d8969fb8a3667
| * Ensure SkCanvas will have a device by default.Derek Sollenberger2012-08-171-1/+2
| | | | | | | | | | bug: 6987261 Change-Id: I8cb5b6da2347a1fa88a13aa3548312a7773831e5
| * Revert "Revert "Use Elegant fonts for Webkit, Compact fonts for Textview""Billy Hewlett2012-06-212-1/+23
| | | | | | This reverts commit 81957ccb58db76c172e195dc3e31eba85d3e4ac9
| * Revert "Use Elegant fonts for Webkit, Compact fonts for Textview"Billy Hewlett2012-06-212-23/+1
| | | | | | This reverts commit 421654d4bf3ca50e2247a7389851d2e8f4812564
| * Use Elegant fonts for Webkit, Compact fonts for TextviewBilly Hewlett2012-06-202-1/+23
| | | | | | | | | | | | | | | | | | | | Fonts can be marked with elegant or compact in fallback_fonts.xml. Webkit uses elegant fonts, Textview uses compact fonts (the default), unmarked fonts are used by both. Bug: 6649136 Change-Id: I6ab6173c2efc50eba8fcc488c89dfdd083fb9c06
| * Skia solution to fake-bold fallback fonts.Victoria Lease2012-06-131-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This version of the fake-bold-for-fallback-fonts fix addresses the issue succinctly inside of Skia, with no need for Skia's clients to be aware of the issue. Attempts to draw a bold parent font flag the embolden flag in the associated SkScalerContext while leaving the SkPaint's fake bold flag unmodified. This depends upon change Icdd13f6b, which arranges for FreeType's FontHost to ignore redundant embolden requests. Bug: 6629786 Change-Id: I4132a232896f72f632caefd79add2f00c36a578a
| * Fix hardcoded font path. Allow adding new font path thru Skia changes.Billy Hewlett2012-06-041-0/+2
| | | | | | | | | | Bug: 6609231 Change-Id: Ie37ada42e7e78ab78318f3ed76eb627bffaddb1a
* | Revert "skia: Several tunings"Steve Kondik2012-11-182-122/+10
| | | | | | | | This reverts commit 6ab870723b749ffd632fecd648704d80b581fcf0.
* | skia: Several tuningsXin Qi2012-09-262-10/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * SkPaint constructor & copy constructor Set up a global SkTextLocale array to maintain all TextLocale explicit small copy for struture. * SkDraw constructor explicit small NULL set for structure * quickReject Go back to explicit exponent check way instead of times zero way Change-Id: I9b2dd08b104f32bd7b6248400189504fe25cd9f9 Conflicts: Android.mk
* | Assembly optimized 4 blittering related functions:Xin Qi2012-07-257-4/+722
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | S32A_D565_Opaque S32A_Opaque_BlitRow32 nofilter_gether S32A_Blend_BlitRow32 * S32A_D565_Opaque: Use neon instructions to optimize BLIT routine which operates on 32-bit source ARGB pixel and 16-bit destination RGB pixel. Here, we process 16-pixels in an iteration. We use regular (32-bit) arm instructions when number of pixels is less than 16 or the architecture doesn't support SIMD/NEON instructions. When alpha value is 255, this version of BLIT routine performs 35% better in comparison to S32A_D565_Opaque_neon routine. * S32A_Opaque_BlitRow32 and nofilter_gether: Use neon instructions to optimize BlitRow32 and nofilter_gether functions for 32-bit source and destination pixel arrays. An improvement of 76% is observed with neon optimized BlitRow32 function and 6% improvement is observed with nofilter_gether function. * S32A_Blend_BlitRow32: Optimize S32A_Blend_BlitRow32 using neon instructions for armv7 based targets and using regular arm instructions for armv6 based targets. This is the consolidated commit from several patches. Change-Id: Id5aab49656247b9a69b43cfb22fe7a8608f847e5 Apply PLD to blittering functions Extend software pipelining for S32A_Blending to process 16 points perloop and per-read points of next loop Change-Id: Ib7a6a6efb8249b96578e75613683099251dc2a82 Two skia optimizations: 1. Combine S16_opaque_D32_nofilter_DX and clampx_nofilter_trans 2. Change MAX_BUF between mproc and sproc to 1024 from 128 Opt 1 is giving about 8-10 FPS in gmail and facebook apk. Opt 2 is helping all combinations for shaderspan. Change-Id: I88dc097ffd52984a7b786e13c70384688f2e1b12 File changes for SKIA Neon optimziation for S32_Opaque_filter_DX Change-Id: I0e8a0506aca2a8d4ee4f4b6b1aa4dcc9ce9c0329 Fix CTS failure. Revert opt 2 in the following commit. Author: Xin Qi <xqi@codeaurora.org> Date: Wed Nov 16 10:07:54 2011 -0800 Two skia optimizations: 1. Combine S16_opaque_D32_nofilter_DX and clampx_nofilter_trans 2. Change MAX_BUF between mproc and sproc to 1024 from 128 Opt 1 is giving about 8-10 FPS in gmail and facebook apk. Opt 2 is helping all combinations for shaderspan. CRs-Fixed: 330807 Change-Id: Iece797781e97918f4c77fc767bf9e6772927d6f3 skia: Fix a bug in clampx_nofilter_trans_S16_D32_DX When scaling a line, in the case of the last pixel needing to be duplicated, the beginning of the line is getting clobbered with wrong value. This is because dest buffer pointer is not moved forward. Fix that by adding pointer update line. CRs-Fixed: 349571 Change-Id: Id6dc41d7e6bd2b777097f62e788bd2476609a9ae
* | DO NOT MERGE Skia solution to fake-bold fallback fonts.Victoria Lease2012-06-131-3/+15
|/ | | | | | | | | | | | | | | | This version of the fake-bold-for-fallback-fonts fix addresses the issue succinctly inside of Skia, with no need for Skia's clients to be aware of the issue. Attempts to draw a bold parent font flag the embolden flag in the associated SkScalerContext while leaving the SkPaint's fake bold flag unmodified. This depends upon change Icdd13f6b, which arranges for FreeType's FontHost to ignore redundant embolden requests. This is a cherry-pick of change I4132a232 from master. Bug: 6629786 Change-Id: I389d6793e5472d664f6ac7b894927dbfd811be12
* detect all masks, and don't use masksuperblitter with those.Derek Sollenberger2012-05-291-2/+4
| | | | | | | This is a cherry-pick of Skia r3364. bug: 6522740 Change-Id: I9f9360a0fd5d8bfd936072f0f9bae0709768a1b6
* Disable the incorrect culling of vertical text.Derek Sollenberger2012-05-161-3/+3
| | | | | bug:6242553 Change-Id: Ied1865b667c21d0a59586ec8b36db276f892ccbc
* Merge "Cleanup pixel ref mutexes in Skia" into jb-devDerek Sollenberger2012-05-164-21/+70
|\
| * Cleanup pixel ref mutexes in SkiaDerek Sollenberger2012-05-144-21/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mutexes in pixelrefs were done very sloppily initially. The code (a) assumes all pixelref subclasses want a mutex to guard their lock/unlock virtuals, and (b) most subclasses use the same mutex for *all* of their instances, even when there is no explicit need to guard modifying one instances with another. When we try drawing bitmaps from multiple threads, we are seeing a lot of slow- down from these mutexes. This CL has two changes to try to speed things up. 1. Add setPreLocked(), for pixelrefs who never need the onLockPixels virtual to be called. This speeds up those subclasses in multithreaded environs as it avoids the mutex lock all together (e.g. SkMallocPixelRef). 2. Add setMutex() to allow a subclass to change the mutex choice. ashmem wants this, since its unflattening constructor cannot pass down the null, it needs to cleanup afterwards. see https://codereview.appspot.com/6199075/ bug: 6469917 Change-Id: I81a7cfa0b2ead5a42059697eafa58de1e7a87da2
* | Add new utfToGlyphs API for GL rendererRomain Guy2012-05-141-0/+31
|/ | | | | | Bug #6408362 Change-Id: I69c21d9aeeb663aa6244132ce8d598be888886e2
* Fix SkNWayCanvas to prevent crashes by setting up a deviceDerek Sollenberger2012-05-011-0/+12
| | | | | | | | | This is a cherry-pick of two CL's from upstream Skia: https://codereview.appspot.com/6092056/ https://codereview.appspot.com/6131062/ bug: 6400332 Change-Id: Ia833e7c0d4fd6e21a06980653450095176f5bd42
* Merge "Add SkPaint.setTextLocale()"Fabrice Di Meglio2012-04-121-0/+17
|\
| * Add SkPaint.setTextLocale()Fabrice Di Meglio2012-04-111-0/+17
| | | | | | | | | | | | | | | | - will be used for better CJK shaping - forced to use a "placement new" operator because of use of sk_bzero / memcpy in the Skia contructor and copy operator Change-Id: If6f62634c9088d2401250c35239a1722102fe80c
* | Reinstate early out from antialiased path rendering if weDerek Sollenberger2012-04-121-3/+44
|/ | | | | | | | | anticipate overflow (or if the path is completely clipped out). http://code.google.com/p/skia/source/detail?r=3658 bug: 6208579 Change-Id: If9749231bea465c3d35cc98c1b8e2fad3c7aeff6
* Fix incorrectly rendered stroked text on pathDerek Sollenberger2012-03-201-1/+4
| | | | | | | | | | | If the paint has a text point size that is small (e.g. < 1) then the results returned from FreeType are not accurate. This code is an adapation of the Skia CL that was reviewed at http://codereview.appspot.com/5844060/ Change-Id: I3ca1d69b2097b47b344ec9f56a04fe94da76013d http://code.google.com/p/android/issues/detail?id=26764
* Skia Merge (revision 3312)Derek Sollenberger2012-03-0641-770/+1371
| | | | | | | This CL also includes changes made to Android's copy of Skia in their J release branch. Change-Id: Ib2baecf48004951a3ad4a1574cdc38790c814cbc
* Skia merge (revision 3022)Derek Sollenberger2012-02-06151-4722/+9402
| | | | | | | | This CL has companion changes to account for API updates in... (1) frameworks/base (2) external/webkit Change-Id: Ibb989e76e8bd24313849f9631dbef42cdef9eb7d
* Fix rendering bug in pages with shadowed text.Derek Sollenberger2011-11-306-26/+126
| | | | | | | | | | | | | | | | | | Shadowed text currently does not get subjected to culling until immediately prior to rendering each glyph. This is problematic for any page with an axis greater than 32k as we can't covert the glyph coordinates to fixed point. Additionally, this is a large perf hit as we look at every shadowed glyph on the page for every draw call regardless of the canvas' clip. This fix enables shadowed text to be quickly rejected based on the canvas' clip when the draw text command is executed. Finally, a mirror image of this CL is currently under review for inclusion in the open-source Skia project. bug: 5571685 Change-Id: I5df94eccecbd7d77a08004b5cbcca02120e390f7
* Merge upstream bug fixes from Skia into Android.Derek Sollenberger2011-08-241-7/+32
| | | | | | | This CL pulls in r1835 and r1870 from Skia's trunk. bug: 5197241 Change-Id: I79b51cf8605bc16641cfe7b3e1b369f801bf0922
* remove font cache log msgMichael Kolb2011-08-041-1/+1
| | | | | | | Bug: 5122491 Remove font cache purge log message Change-Id: Ib5a23433b8cb1402c96b8d510ed875be7400c80c
* Fix crash when playing back a picture with an unknown font.Derek Sollenberger2011-07-261-1/+1
| | | | | bug: 5009656 Change-Id: Ic91bdb84e42b4d07f88bd6df1a2bedc2031404df
* Fix shader crash when drawing a bitmap.Derek Sollenberger2011-07-261-100/+98
| | | | | | | This change has also been submitted upstream to Skia in r1954. bug: 5060654 Change-Id: Iac9ce0d9150c59e4db6653081d7f46843ea8f2bf
* Skia Merge (revision 1562)Derek Sollenberger2011-06-239-36/+68
| | | | Change-Id: Ief005abc9eb741ccf5efec3d1f29fe2dfc23103d
* Skia Merge (revision 1510)Derek Sollenberger2011-06-0715-69/+254
| | | | | | | | | | | | | | | | | | This CL includes bug fixes and closely mirrors the version of Skia used in Chrome M13, which is likely to be our baseline for ICS. The CL also adds source files for the SampleApp which will allow us to execute basic skia tests. The SampleApp requires the utils/views directory in order to run. Finally, we have included the PDF backend for Skia in order to experiment with using it to generate PDF files for certain applications. Note: The SampleApp and PDF code are not built as part of libskia. Change-Id: I1895ccfbd8074e25f19148cc7bd1b4af571fb307
* Add method to SkPaint to get a glyph from a glyph id.Romain Guy2011-06-011-0/+10
| | | | Change-Id: I34121c66fc53aaa47aed798f7cd8e33d5977e0d8
* Skia Merge (revision 1327)Derek Sollenberger2011-05-1736-521/+1488
| | | | Change-Id: I46f41274d07a3d7bac4728f8841c7f5e89dc9181