The previous change made it difficult to inherit from SkCanvas without leaking memory. By making SkDeviceFactory not reference counted, the right thing happens more naturally, just NewCanvas : public SkCanvas(new NewDeviceFactory()) {...}
Review URL: http://codereview.appspot.com/2530042
git-svn-id: http://skia.googlecode.com/svn/trunk@605 2bbb7eff-a529-9590-31e7-b0007b416f81
Methods or classes that should go away are marked deprecated. The only thing I know of that breaks backward compatibility is SkCanvas((SkDevice*)NULL), but that is fairly unlikely to occur in the wild because that constructor had a default value of NULL.
Review URL: http://codereview.appspot.com/2103045
git-svn-id: http://skia.googlecode.com/svn/trunk@604 2bbb7eff-a529-9590-31e7-b0007b416f81
- when the previous point in the path and (x1, y1) are coincident
- when (x1, y1) and (x2, y2) are coincident
These cause the setNormalize() calls to leave the "before" and "after" vectors
uninitialized, respectively, which are then used to compute cosh and sinh.
I chose to implement HTML5 canvas behaviour for these cases (as well as for the
case where all three points are collinear): add a line to the first point, and
bail. I think this is ok, since skia is mostly used for HTML5 browsers, and
this case is degenerate anyway.
Review URL: http://codereview.appspot.com/2484041
git-svn-id: http://skia.googlecode.com/svn/trunk@603 2bbb7eff-a529-9590-31e7-b0007b416f81
have a bitmap with pixels, but no (required) colortable. readyToDraw() knows
to check for this.
git-svn-id: http://skia.googlecode.com/svn/trunk@599 2bbb7eff-a529-9590-31e7-b0007b416f81
The S32A_Blend_BlitRow32 function was written and unrolled in ARM
assembly to improve the rendering performance on ARM cores lacking
NEON.
Added in SkBlitRow_opts_arm.cpp.
Performance improvement about ~18% on micro benchmarking.
Patch-by: Vassillis
git-svn-id: http://skia.googlecode.com/svn/trunk@598 2bbb7eff-a529-9590-31e7-b0007b416f81
inside SkBitmap.cpp.
core_files.mk updated, but if your build does not reference that, you will
need to add SkMallocPixelRef.cpp to your list
git-svn-id: http://skia.googlecode.com/svn/trunk@597 2bbb7eff-a529-9590-31e7-b0007b416f81
Flagged as a compiler warning. It appears that it was intended that the
conjuction not bind so tightly.
git-svn-id: http://skia.googlecode.com/svn/trunk@591 2bbb7eff-a529-9590-31e7-b0007b416f81
one index array, indexing into src array and output to dst array.
Because of the scatter-gather nature, we can not do much burst/batch
reading/writing to improve the performance.
We tried Neon vector instructions. We also tried the hand optimize the compiler
generated assembly (non-neon) code. The latter seems to have better gain.
About 6% improvements, not much though...
Patch-by: Xin Qi of codeaurora.org
http://codereview.appspot.com/1127042/show
git-svn-id: http://skia.googlecode.com/svn/trunk@579 2bbb7eff-a529-9590-31e7-b0007b416f81
Taking the advantage of 16 channels of each QualWord register. Also using the
software pipelining to scatter the loads/stores among vector operations.
Got roughly 70% improvements on simulation environments.
http://codereview.appspot.com/1148042/show
Patch-by: XinQi of codeaurora.org
git-svn-id: http://skia.googlecode.com/svn/trunk@578 2bbb7eff-a529-9590-31e7-b0007b416f81
In older versions of Freetype, the FT_GlyphSlot_Own_Bitmap function is
defined in FT_SYNTHESIS_H. Modern versions have it in FT_BITMAP_H.
git-svn-id: http://skia.googlecode.com/svn/trunk@575 2bbb7eff-a529-9590-31e7-b0007b416f81
- Remove an unused ctor that was wrong anyway.
- Add magic angle brackets to a template declaration.
Patch-by: Evan Martin
git-svn-id: http://skia.googlecode.com/svn/trunk@563 2bbb7eff-a529-9590-31e7-b0007b416f81
This reverts commit r560. Chromium has landed at r560, so I'm applying the
revert-revert. (See the comments in r560 for details.)
git-svn-id: http://skia.googlecode.com/svn/trunk@561 2bbb7eff-a529-9590-31e7-b0007b416f81
This reverts commit r538 for the moment. In order to roll Chrome to include
some bug fixes, I want to land it in between this revert, and the revert
revert. That way the baseline changes from the other revisions can be
considered without conflating the huge number of changes due to r538.
git-svn-id: http://skia.googlecode.com/svn/trunk@560 2bbb7eff-a529-9590-31e7-b0007b416f81
For the moment, at least, switch back to the old Neon code because the
new code is triggering internal compiler errors in Chromium ARM.
git-svn-id: http://skia.googlecode.com/svn/trunk@559 2bbb7eff-a529-9590-31e7-b0007b416f81