reed@google.com
4b163ed2c2
Privatization:
...
move SkFDot.h to private
move parts of SkMath.h into SkMathPriv.h
Review URL: https://codereview.appspot.com/6461045
git-svn-id: http://skia.googlecode.com/svn/trunk@4997 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 21:35:13 +00:00
djsollen@google.com
21830d9009
Refactor Bitmap Storage for SkPicture using SkPipe's design.
...
Refactor Picture and Pipe bitmap storage into common data structure
Update SkFlattenable buffers to be more modular.
This CL is an effort to stage the conversion to named
parameters for all SkFlattenable commands. This particular
stage only does the following two things...
1. Move flattenable buffers from SkFlattenable.h into
their own header.
2. Update and Add new read write methods for better clarity
and convenience.
BUG=
Review URL: https://codereview.appspot.com/6445079
git-svn-id: http://skia.googlecode.com/svn/trunk@4994 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 19:49:41 +00:00
bsalomon@google.com
a1bf0fffff
uniquely name FS functions, add lighting effects to unit test
...
Review URL: http://codereview.appspot.com/6458080/
git-svn-id: http://skia.googlecode.com/svn/trunk@4992 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 17:36:29 +00:00
robertphillips@google.com
2972bb5fd2
Adding storage of SkPath::fIsOval
...
http://codereview.appspot.com/6453085/
git-svn-id: http://skia.googlecode.com/svn/trunk@4991 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 17:32:51 +00:00
junov@chromium.org
88e29146c1
Moving DeferredDevice and DeferredGPipeController classes out of the deferred canvas API header
...
Review URL: https://codereview.appspot.com/6449104
git-svn-id: http://skia.googlecode.com/svn/trunk@4989 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 16:48:22 +00:00
reed@google.com
27889877c0
must include SkPath.h after restructure
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4987 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 16:15:13 +00:00
reed@google.com
9ddef9b680
include SkFlatteningBuffer.h after restructure
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4985 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 16:10:42 +00:00
robertphillips@google.com
b9640612b9
Fix for r4978 unit test failure. TBR by Brian
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4983 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 16:04:54 +00:00
reed@google.com
0c43266bac
need to explicitly include SkPath.h after refactoring
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4982 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 16:01:15 +00:00
djsollen@google.com
c73dd5c688
Update SkFlattenable buffers to be more modular.
...
This CL is an effort to stage the conversion to named
parameters for all SkFlattenable commands. This particular
stage only does the following two things...
1. Move flattenable buffers from SkFlattenable.h into
their own header.
2. Update and Add new read write methods for better clarity
and convenience.
BUG=
Review URL: https://codereview.appspot.com/6448095
git-svn-id: http://skia.googlecode.com/svn/trunk@4980 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 15:54:32 +00:00
reed@google.com
7b4531f64c
change SkTextToPathIter to allow continuation even when there is no path for
...
the current glyph. Fixes bug in getTextPath() if there are spaces in the text.
Update gm to add space-characters, so images will have to be rebaselined.
git-svn-id: http://skia.googlecode.com/svn/trunk@4979 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 15:53:00 +00:00
robertphillips@google.com
46f935002c
Added SkClipStack portion of new clip mask caching system
...
http://codereview.appspot.com/6449089/
git-svn-id: http://skia.googlecode.com/svn/trunk@4978 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 15:38:08 +00:00
reed@google.com
e69137620a
move SkTextToPathIter into private header
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4977 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 15:19:47 +00:00
junov@chromium.org
9060c9bae9
Style correction: sprinkling "this->" in SkDeferredCanvas.cpp
...
Unreviewed.
git-svn-id: http://skia.googlecode.com/svn/trunk@4976 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 15:14:01 +00:00
junov@chromium.org
3de7acc180
Removing the SkPicture backend from SkDeferredCanvas code
...
Review URL: https://codereview.appspot.com/6446095
git-svn-id: http://skia.googlecode.com/svn/trunk@4974 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 14:53:59 +00:00
junov@chromium.org
2e14ba8ceb
Adding API to SkGPipe and SkDeferredCanvas for controlling memory usage externally
...
BUG=http://code.google.com/p/chromium/issues/detail?id=136828
Review URL: https://codereview.appspot.com/6454102
git-svn-id: http://skia.googlecode.com/svn/trunk@4971 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 14:26:57 +00:00
reed@google.com
e763951a5c
document OwnDeviceCanvas
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4970 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 14:25:44 +00:00
reed@google.com
02f65f2d91
move SkFilterShader into private header
...
Review URL: https://codereview.appspot.com/6454107
git-svn-id: http://skia.googlecode.com/svn/trunk@4961 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-06 21:20:05 +00:00
reed@google.com
e2faf17bcc
Even when the pts are restricted to 32K values, we can still overflow computing
...
a fixed-point coefficient for quadratics. To avoid this, we bias these
coefficients, storing 1/2 of their actual value, and then apply the 2x unbias
in updateQuadratic().
Fixes http://code.google.com/p/chromium/issues/detail?id=140803
Review URL: https://codereview.appspot.com/6450099
git-svn-id: http://skia.googlecode.com/svn/trunk@4960 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-06 19:01:34 +00:00
reed@google.com
d9ee348720
If we lose precision computing sum of the dash intervals, then we can have the
...
same error when we subtract-in-a-loop with the phase. The result is that we can
read past the end of the array.
To fix this, we just pin the loop counter, and if we exhaust our intervals, we
just treat the phase as 0. Not precisely the exact answer, but we aren't going
to draw this dash correctly anyway, since it contains massive interval values
that will be imprecise given our current float implementation.
Fixes http://code.google.com/p/chromium/issues/detail?id=140642
Review URL: https://codereview.appspot.com/6458088
git-svn-id: http://skia.googlecode.com/svn/trunk@4959 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-06 14:58:35 +00:00
digit@google.com
157d94465a
rm: Introduce SK_ARM_NEON_WRAP handy wrapper macro.
...
It is used to simplify arm/neon dispatch logic code.
Review URL: https://codereview.appspot.com/6458060
git-svn-id: http://skia.googlecode.com/svn/trunk@4958 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-06 14:53:32 +00:00
reed@google.com
0951ded8d8
tie slow sort (STD) to legacy AA, so that skia can use the fast one, and so that
...
when chrome disables the legacy flag, it will automatically get the faster one.
git-svn-id: http://skia.googlecode.com/svn/trunk@4955 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 20:06:12 +00:00
bsalomon@google.com
2e40173c95
revert gpu-less mac sample app, remove busted sample (that has equivalent gm)
...
Review URL: https://codereview.appspot.com/6450088/
git-svn-id: http://skia.googlecode.com/svn/trunk@4954 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 19:25:10 +00:00
bsalomon@google.com
8d3d210e74
Ensure that enums used by GrCustomStage TestCreate functions are declared in SK_ALLOW_GLOBAL_STATIC_INITIALIZERS=0 builds (e.g. android)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4953 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 18:49:51 +00:00
bsalomon@google.com
5c33b71b96
Add .0 on float GLSL literals to fix GLPrograms test break
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4952 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 18:22:53 +00:00
bsalomon@google.com
0a7672f85e
Add morphology, convolution, single texture, texture domain effects to new unit test system
...
Review URL: http://codereview.appspot.com/6442085/
git-svn-id: http://skia.googlecode.com/svn/trunk@4951 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 18:12:20 +00:00
bsalomon@google.com
d472620458
Registry-based unit test for custom effects
...
Review URL: http://codereview.appspot.com/6447085/
git-svn-id: http://skia.googlecode.com/svn/trunk@4946 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 14:34:46 +00:00
tomhudson@google.com
de788237c2
Reduce usage of GrGLShaderBuilder::SamplerMode
...
http://codereview.appspot.com/6453080/
git-svn-id: http://skia.googlecode.com/svn/trunk@4940 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 20:13:12 +00:00
scroggo@google.com
1554360a95
Store more behavior of SkFlatDictionary in SkFlatController.
...
Code refactoring for simplicity.
Review URL: https://codereview.appspot.com/6427046
git-svn-id: http://skia.googlecode.com/svn/trunk@4929 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 18:49:49 +00:00
bsalomon@google.com
c3841b927b
Move GL programs unit test code to tests project.
...
Review URL: http://codereview.appspot.com/6453079/
git-svn-id: http://skia.googlecode.com/svn/trunk@4927 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 18:11:43 +00:00
twiz@google.com
1bfccadae2
Early out the texture key generation if there is no texture passed to the GrGLShaderBuilder::keyForTextureAccess.
...
Under normal circumstances, there will always be a passed texture. However, when running in the unit tests, CustomStages are constructed without a texture input.
Review URL: https://codereview.appspot.com/6450083
git-svn-id: http://skia.googlecode.com/svn/trunk@4924 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 17:32:25 +00:00
reed@google.com
b6a2ba7b48
create inline version of setLine that assumes no clip. 10% faster for dashing gms
...
Review URL: https://codereview.appspot.com/6455078
git-svn-id: http://skia.googlecode.com/svn/trunk@4920 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 16:08:51 +00:00
twiz@google.com
a5e65ec434
Introduction of set of functions to manage generation of texture fetch shader code.
...
A new set of routines have been added to GrGLShaderBuilder to emit texture fetches, taking into consideration the format of the texture to be accessed, and the channel swizzle.
Review URL: https://codereview.appspot.com/6446072
git-svn-id: http://skia.googlecode.com/svn/trunk@4919 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 15:15:16 +00:00
bsalomon@google.com
54ad851361
Fix infinite recursion in cubic->quad conversion, also attempt to detect nearly flat cubics early.
...
Review URL: http://codereview.appspot.com/6448100/
THIS WILL REQUIRE REBASELINING OF CONVEXPATHS GM.
git-svn-id: http://skia.googlecode.com/svn/trunk@4917 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 14:55:45 +00:00
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