reed@google.com
c8d640b178
special-case edge-building for polygons (paths with only lines)
...
makes the dashing bench faster (from 13.4 -> 11.5 ticks)
Review URL: https://codereview.appspot.com/6449080
git-svn-id: http://skia.googlecode.com/svn/trunk@4916 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 14:26:43 +00:00
bsalomon@google.com
cf8fb1f6f0
Create GPU-less build of Skia.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4912 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 14:03:32 +00:00
robertphillips@google.com
08eacc1447
Added check for aa/bw rect merging
...
http://codereview.appspot.com/6449079/
git-svn-id: http://skia.googlecode.com/svn/trunk@4907 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 12:49:00 +00:00
robertphillips@google.com
768fee8b6e
Fixed oversized SkRegion bound problem for complexclip_aa GM
...
http://codereview.appspot.com/6447076/
git-svn-id: http://skia.googlecode.com/svn/trunk@4906 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 12:42:43 +00:00
bungeman@google.com
2bf82d843d
Set fReservedAlign to 0.
...
Cleans scalar context key and should fix http://code.google.com/p/chromium/issues/detail?id=140196
git-svn-id: http://skia.googlecode.com/svn/trunk@4904 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 10:06:19 +00:00
senorblanco@chromium.org
302cffba86
Replace the asAFoo() functions in SkImageFilter with canFilterImageGPU() and
...
onFilterImageGPU() virtuals. This allows each filter to implement its own GPU
processing code, even for multi-pass filters.
Review URL: http://codereview.appspot.com/6449075/
git-svn-id: http://skia.googlecode.com/svn/trunk@4900 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 20:16:34 +00:00
robertphillips@google.com
a2d71482db
Removed GrClip & related classes
...
http://codereview.appspot.com/6450071/
git-svn-id: http://skia.googlecode.com/svn/trunk@4899 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 20:08:47 +00:00
scroggo@google.com
0c3e5fe728
Pipe factory names independently from the flattenables using them.
...
Avoids an issue where a flattenable written twice might be written
differently (the first time the flat data may have a name, whereas
the second time it will have an index).
Also add a test which confirms that identical flattenables will have
the same SkFlatData representation.
BUG=https://code.google.com/p/skia/issues/detail?id=721
TEST=FlatDataTest.cpp
Review URL: https://codereview.appspot.com/6431057
git-svn-id: http://skia.googlecode.com/svn/trunk@4896 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 19:34:20 +00:00
digit@google.com
fbf31949ac
arm: Move SkUtilsArm.h from include/core to src/core
...
There is no reason to make this visible to client code.
Review URL: https://codereview.appspot.com/6441082
git-svn-id: http://skia.googlecode.com/svn/trunk@4892 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 15:58:41 +00:00
bungeman@google.com
6385314686
Handle rgb_to_a8 when kGenA8FromLCD_Flag is set.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4889 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 15:36:46 +00:00
digit@google.com
fce02aca62
arm: dynamic NEON support for SkBitmapProcState matrix operations.
...
This patch implements dynamic ARM NEON support for the functions
implemented by src/core/SkBitmapProcState_matrixProcs.cpp.
- Because the SkBitmapProcState_matrix_{clamp,repeat}.h headers
are NEON-specific, they are renamed with a _neon.h suffix, and
moved to src/opts/ (from src/core/)
- Add a new file src/opts/SkBitmapProcState_matrixProcs_neon.cpp
which implements the NEON code paths for all builds, and add
it to the 'opts_neon' static library.
- Modify SkBitmapProcState_matrixProcs.cpp to select the right
code-path depending on our build configuration. Note that in
the case where 'arm_neon == 1', we do not embed regular ARM
code paths in the final binary. Only 'arm_neon_optional == 1'
builds will contain both regular and NEON code paths at the
same time.
Note that there doesn't seem to be a simple way to put the
NEON-specific selection from that currently is in
SkBitmapProcState_matrixProcs.cpp into src/opts/. Doing so
would require much more drastic restructuring. This is also
true of the other SkBitmapProcState source files that will
be touched in a future patch.
Review URL: https://codereview.appspot.com/6453065
git-svn-id: http://skia.googlecode.com/svn/trunk@4888 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 14:25:07 +00:00
junov@chromium.org
10f7f97d42
Prevent deferred canvases from recording draw operations that use an SkPaint object that indirectly references a GPU resource.
...
The specific case targeted by this patch is SkBitmapProcShaders that use an SkBitmap object that references a GPU texture.
BUG=http://code.google.com/p/chromium/issues/detail?id=139204
Review URL: https://codereview.appspot.com/6447068
git-svn-id: http://skia.googlecode.com/svn/trunk@4871 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 21:01:51 +00:00
rileya@google.com
98e8b6de04
Remove old constructors from GrGradientEffect subclasses, and moved their declarations into source files.
...
Review URL: https://codereview.appspot.com/6449067
git-svn-id: http://skia.googlecode.com/svn/trunk@4870 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 20:38:06 +00:00
robertphillips@google.com
622a17091b
Fixed minor memory leaks
...
http://codereview.appspot.com/6453066/
git-svn-id: http://skia.googlecode.com/svn/trunk@4866 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 19:23:02 +00:00
robertphillips@google.com
641f8b19a6
Replace GrClip with SkClipStack
...
http://codereview.appspot.com/6449070/
git-svn-id: http://skia.googlecode.com/svn/trunk@4865 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 19:15:58 +00:00
reed@google.com
4b2af9c91d
add getUnitsPerEm() to SkTypeface
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4863 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 17:24:44 +00:00
rileya@google.com
1ee7c6a18a
Modified GrGpuGL_unittest to no longer use the old constructors to create gradients, also added TwoPointConical to the tests.
...
Review URL: https://codereview.appspot.com/6452068
git-svn-id: http://skia.googlecode.com/svn/trunk@4860 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 16:00:13 +00:00
reed@google.com
5d4ba88694
check-point for gpu support in SkImage/SkSurface
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4859 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 15:45:27 +00:00
bsalomon@google.com
0982d35187
Make 0-texture GrCustomStages work.
...
Review URL: http://codereview.appspot.com/6448080/
git-svn-id: http://skia.googlecode.com/svn/trunk@4858 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 15:33:25 +00:00
reed@google.com
bd5fa90dd1
add flattening
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4857 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 15:19:56 +00:00
robertphillips@google.com
7b11289b4e
Added dev- & canv- prefixes to Ganesh bounding boxes to indicate coordinate space
...
http://codereview.appspot.com/6457061/
git-svn-id: http://skia.googlecode.com/svn/trunk@4856 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 15:18:21 +00:00
reed@google.com
076f4c9791
fix LayerDrawLooper to record its fFlagsMask
...
convert SampleDrawLooper to a GM
git-svn-id: http://skia.googlecode.com/svn/trunk@4854 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 14:32:38 +00:00
djsollen@google.com
a1da103431
Update SkData and SkDataSet to make better use of SkFlattenable.
...
TEST=DataRefTest.cpp
Review URL: https://codereview.appspot.com/6441076
git-svn-id: http://skia.googlecode.com/svn/trunk@4850 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 13:17:31 +00:00
robertphillips@google.com
f8d904a7ee
GrClip no longer translates its clips (to better mimic SkClipStack's behavior)
...
http://codereview.appspot.com/6445052/
git-svn-id: http://skia.googlecode.com/svn/trunk@4848 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 12:18:16 +00:00
mike@reedtribe.org
d829b5cbff
add SkImage from encoded data
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4845 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 03:57:11 +00:00
reed@google.com
9ea5a3bc73
change SkSurface::newCanvas() to getCanvas(), and redefine its life-cycle to be
...
a single canvas for the lifetime of the surface.
Get a playback copy from the src picture, so we can continue to record into the
original picture.
git-svn-id: http://skia.googlecode.com/svn/trunk@4842 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 21:03:46 +00:00
bungeman@google.com
97efada074
Gamma correcting masks.
...
https://codereview.appspot.com/6244068/
git-svn-id: http://skia.googlecode.com/svn/trunk@4841 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 20:40:50 +00:00
reed@google.com
fa3d892f2e
remove outdated test code for TEST_SRC_ALPHA
...
Review URL: https://codereview.appspot.com/6457056
git-svn-id: http://skia.googlecode.com/svn/trunk@4840 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 20:26:06 +00:00
reed@google.com
6997ebbe5c
update/add copyright notices
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4839 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 19:50:31 +00:00
reed@google.com
58b21ec7f0
expand internal subclasses into separate files
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4836 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 18:20:12 +00:00
reed@google.com
c9062047ce
expand private subclasses into separate files
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4835 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 18:06:00 +00:00
robertphillips@google.com
b0fe4c59e8
Fix for clip assert in Chrome tests
...
http://codereview.appspot.com/6442063/
git-svn-id: http://skia.googlecode.com/svn/trunk@4834 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 17:10:51 +00:00
scroggo@google.com
58be682c77
Share code in various SkGPipeCanvas::drawBitmap_ calls.
...
Also implement SkGPipeCanvas::drawBitmapMatrix, and
create a GM to make sure it works properly.
Use a flag instead of writing a bool for determining whether
drawBitmap_ has a paint and whether drawBitmapRect has a source
rectangle.
BUG=
TEST=drawbitmapmatrix GM
Review URL: https://codereview.appspot.com/6450053
git-svn-id: http://skia.googlecode.com/svn/trunk@4828 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 14:40:01 +00:00
reed@google.com
8e1034e9ca
detect null pixles in setPixels() and just clear out any existing pixelref.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4827 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 13:16:35 +00:00
bsalomon@google.com
cddaf340f1
Remove GrDrawState::setTexture/getTexture
...
Review URL: http://codereview.appspot.com/6455051/
git-svn-id: http://skia.googlecode.com/svn/trunk@4826 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 13:09:05 +00:00
reed@google.com
79a1c34ee4
land https://codereview.appspot.com/6448046/
...
Add a method reporting used font cache size to the SkGraphics API
git-svn-id: http://skia.googlecode.com/svn/trunk@4825 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 13:08:01 +00:00
chudy@google.com
ada448040f
Deserialization locks up multithreading fix.
...
Review URL: https://codereview.appspot.com/6448077
git-svn-id: http://skia.googlecode.com/svn/trunk@4824 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 12:59:12 +00:00
mike@reedtribe.org
70e3590552
check-point for image/surface work
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4823 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-29 20:38:16 +00:00
reed@google.com
889b09edfe
check-point for surface experiment
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4819 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 21:10:42 +00:00
george@mozilla.com
2092c40a0d
Add support for ARM without EDSP and ARMv6+
...
Original Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=751814
Review URL: https://codereview.appspot.com/6405065
git-svn-id: http://skia.googlecode.com/svn/trunk@4818 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 21:08:01 +00:00
scroggo@google.com
3cb969f27d
In SkGPipe, only serialize SkTypefaces in cross process mode.
...
Also make SkGPipeController ref the recording canvas to ensure that
objects used by SkGPipeCanvas (e.g. SharedHeap and fTypefaceSet, which
hold references to objects to which pointers are written to the stream)
survive to be played back even if SkGPipeWriter.endRecording() is called.
BUG=
TEST=TypefaceGM
Review URL: https://codereview.appspot.com/6447055
git-svn-id: http://skia.googlecode.com/svn/trunk@4817 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 20:39:19 +00:00
epoger@google.com
be8cefcc07
fix the build after intentional break
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4814 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 18:15:03 +00:00
epoger@google.com
3bf5e310ea
intentionally break the build to test notifications
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4813 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 18:13:31 +00:00
reed@google.com
f6627b78f9
check-point for image experiment
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4811 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 18:02:50 +00:00
justinlin@google.com
20a550c6ea
Add virtual destructor to class with virtual functions.
...
BUG=
TEST=
Review URL: https://codereview.appspot.com/6453052
git-svn-id: http://skia.googlecode.com/svn/trunk@4810 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 17:37:12 +00:00
djsollen@google.com
7dade42e6f
Always store pixels of mutable bitmaps when recording a SkPicture.
...
Prior to this CL mutable bitmaps only saved a copy of their pixels
if a flag was set at recording time. That flag has been removed
and the default behavior when recording a mutable bitmap is to
make a copy of it's pixels. This is the only way to ensure that
the pixels are not manipulated before we playback their contents.
However, enabling this behavior breaks the recording of extracted
bitmaps in SkPicture. This is because we currently cache bitmaps
within a picture based only on their pixelRef. This results in
false positive cache hit when drawing an extracted bitmap as it
shares a pixelRef with its orginating bitmap. Therefore we must
update the index of the bitmap cache to be both the pixelRef AND
the size and offset of the bitmap using those pixels.
BUG=
TEST=extractbitmap.cpp
Review URL: https://codereview.appspot.com/6439043
git-svn-id: http://skia.googlecode.com/svn/trunk@4809 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 15:58:23 +00:00
rileya@google.com
1c6d64b78b
Renamed and made public SkGradientShaderBases's 'commonAsAGradient' to 'getGradientTableBitmap', and use that instead of asABitmap in gradient custom stage setup.
...
Also tidied up Gr gradient implementation constructors, to take the appropriate SkGradientShaderBase subclass, and where necessary (namely 2pt radial/conical) made them obtain extra parameters from that object, rather than passing them in in addition to it.
Review URL: https://codereview.appspot.com/6449057
git-svn-id: http://skia.googlecode.com/svn/trunk@4808 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 15:49:05 +00:00
reed@google.com
bdae027bd8
rename private animator type SkImage to SkImageBitmapBase, to avoid conflicts
...
with new public type SkImage
git-svn-id: http://skia.googlecode.com/svn/trunk@4807 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 15:30:40 +00:00
rileya@google.com
d7cc651b8d
Move GPU gradients into src/effects/gradients.
...
Review URL: https://codereview.appspot.com/6453055
git-svn-id: http://skia.googlecode.com/svn/trunk@4805 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 14:00:39 +00:00
djsollen@google.com
c84b8335ee
Reapply "Remove Bitmaps Raw Pixel Support."
...
This CL reapplies r4722. Now that we have addressed the issues
in Chrome tests that were causing asserts to be fired.
Review URL: https://codereview.appspot.com/6452050
git-svn-id: http://skia.googlecode.com/svn/trunk@4804 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 13:41:44 +00:00