Commit Graph

685 Commits

Author SHA1 Message Date
commit-bot@chromium.org
5651512aa3 Remove uses of GR_RELEASE.
Instead of using GR_RELEASE new code should just use SK_RELEASE, like its
counterpart SK_DEBUG instead of GR_DEBUG.

R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23479017

git-svn-id: http://skia.googlecode.com/svn/trunk@11070 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 23:32:08 +00:00
commit-bot@chromium.org
f5897f83e6 Add OpenGL 4.4 support to SkNativeGLContext and GrGLCreateNativeInterface android versions.
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23702015

git-svn-id: http://skia.googlecode.com/svn/trunk@11060 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 17:50:50 +00:00
commit-bot@chromium.org
46fbfe0cd1 Add glTexGen funcs to interface
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23513006

git-svn-id: http://skia.googlecode.com/svn/trunk@11032 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 15:52:12 +00:00
robertphillips@google.com
1f2f338e23 Split SkDevice into SkBaseDevice and SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 11:54:56 +00:00
commit-bot@chromium.org
515dcd3603 Replace uses of GR_DEBUG by SK_DEBUG.
BUG=None
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23137022

git-svn-id: http://skia.googlecode.com/svn/trunk@10978 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 14:17:03 +00:00
commit-bot@chromium.org
78a1078f17 Create new target to hold gpu test code, enable direct testing of GrEffects in GM.
R=robertphillips@google.com, jvanverth@google.com, egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23352003

git-svn-id: http://skia.googlecode.com/svn/trunk@10866 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-21 19:27:48 +00:00
robertphillips@google.com
9b051a375b Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018 Split SkDevice out of SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
commit-bot@chromium.org
d28063e491 Replace uses of GR_API by SK_API.
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22881005

git-svn-id: http://skia.googlecode.com/svn/trunk@10808 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 12:23:06 +00:00
skia.committer@gmail.com
7475811143 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-17 07:01:54 +00:00
tfarina@chromium.org
f6de475e5c Replace uses of GrAssert by SkASSERT.
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/22850006

git-svn-id: http://skia.googlecode.com/svn/trunk@10789 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-17 00:02:59 +00:00
commit-bot@chromium.org
a8916ffd90 Change Atlas recycling to track current flush count and recycle if Atlas not used in current flush.
BUG=
R=bsalomon@google.com, robertphillips@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/23120004

git-svn-id: http://skia.googlecode.com/svn/trunk@10777 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-16 15:53:46 +00:00
commit-bot@chromium.org
eed779d866 This CL plumbs in the drawBitmapRectToRect "bleed" flag and makes it live on the simplest GPU path.
R=bsalomon@google.com, reed@google.com, edisonn@google.com, scroggo@google.com, jvanverth@google.com, mtklein@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/20806003

git-svn-id: http://skia.googlecode.com/svn/trunk@10765 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-16 10:24:37 +00:00
bsalomon@google.com
46b450a049 temporary kES2_GrGLBinding alias to unblock DEPS roll
git-svn-id: http://skia.googlecode.com/svn/trunk@10749 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 19:45:26 +00:00
bsalomon@google.com
eb170703fc missing header from previous commit
git-svn-id: http://skia.googlecode.com/svn/trunk@10748 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 18:57:53 +00:00
commit-bot@chromium.org
24ab3b0ce5 Add blend optimization helpers and use to convert rect draws to clears.
R=robertphillips@google.com, jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/22558003

git-svn-id: http://skia.googlecode.com/svn/trunk@10723 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 21:56:37 +00:00
bsalomon@google.com
75796db3b3 Revert "Add blend optimization helpers and use to convert rect draws to clears."
This reverts commit r10537.

git-svn-id: http://skia.googlecode.com/svn/trunk@10601 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 13:34:14 +00:00
commit-bot@chromium.org
c1cdf21ab8 Add blend optimization helpers and use to convert rect draws to clears.
Committed: http://code.google.com/p/skia/source/detail?r=10537

R=robertphillips@google.com, jvanverth@google.com, reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/21877006

git-svn-id: http://skia.googlecode.com/svn/trunk@10562 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 15:07:23 +00:00
bsalomon@google.com
9b6a185e36 Revert "Add blend optimization helpers and use to convert rect draws to clears."
This reverts commit r10537.

git-svn-id: http://skia.googlecode.com/svn/trunk@10542 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 18:27:23 +00:00
commit-bot@chromium.org
66017f6cc5 Add blend optimization helpers and use to convert rect draws to clears.
R=robertphillips@google.com, jvanverth@google.com, reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/21877006

git-svn-id: http://skia.googlecode.com/svn/trunk@10537 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 16:55:55 +00:00
skia.committer@gmail.com
aeefb2afe7 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10398 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-27 07:01:06 +00:00
commit-bot@chromium.org
cffff79a40 get genmipmap function in the struct
BUG=
R=bsalomon@google.com, reed@google.com

Author: humper@google.com

Review URL: https://chromiumcodereview.appspot.com/20436002

git-svn-id: http://skia.googlecode.com/svn/trunk@10393 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-26 16:36:04 +00:00
skia.committer@gmail.com
956b310f13 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10385 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-26 07:00:58 +00:00
humper@google.com
b86add1ad3 make the filter mode for GrTextureAccess an enum so we can plumb down
the paint's filter modes to the GPU

BUG=
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/20362002

git-svn-id: http://skia.googlecode.com/svn/trunk@10368 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 18:49:07 +00:00
robertphillips@google.com
44a91dcf25 Add GrContext::setMaxTextureSizeOverride
https://codereview.chromium.org/20325002/



git-svn-id: http://skia.googlecode.com/svn/trunk@10358 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 15:32:06 +00:00
robertphillips@google.com
9bf380ce7f drawBitmap* cleanup
https://codereview.chromium.org/19977003/



git-svn-id: http://skia.googlecode.com/svn/trunk@10342 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 12:10:42 +00:00
commit-bot@chromium.org
fd03d4a829 Replace all instances of GrRect with SkRect.
And remove the typedef in GrRect.h. The same with GrIRect.

R=robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19449002

git-svn-id: http://skia.googlecode.com/svn/trunk@10130 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-17 21:39:42 +00:00
robertphillips@google.com
736dd031f1 Move gaussianBlur functionality to src\effects
https://codereview.chromium.org/18771004/



git-svn-id: http://skia.googlecode.com/svn/trunk@10080 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 15:06:54 +00:00
commit-bot@chromium.org
2d3b492013 Remove possiblity of NULL effect in GrEffectStage
R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/18295008

git-svn-id: http://skia.googlecode.com/svn/trunk@10075 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 13:54:06 +00:00
commit-bot@chromium.org
42dacab4e7 Make GrPaint have a variable sized array of color and coverage stages rather than a fixed size.
R=robertphillips@google.com, jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/18686007

git-svn-id: http://skia.googlecode.com/svn/trunk@10062 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-13 17:24:24 +00:00
commit-bot@chromium.org
ef284a84f5 The two leaks are:
missing unrefs in megalooper GM
  missing reset capability in oval renderer

This CL also expands the instance counting system to some recently adding classes (e.g., SkFontStyleSet)

R=bsalomon@google.com, jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/18461007

git-svn-id: http://skia.googlecode.com/svn/trunk@10030 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-11 22:29:29 +00:00
commit-bot@chromium.org
cae27fed5e Allow the resource cache to (indirectly) flush the InOrderDrawBuffer
R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/18466005

git-svn-id: http://skia.googlecode.com/svn/trunk@9949 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 10:14:35 +00:00
robertphillips@google.com
1267fbd952 Minor GrContext/GrInOrderDrawBuffer cleanup
https://codereview.chromium.org/18341007/



git-svn-id: http://skia.googlecode.com/svn/trunk@9898 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 18:37:27 +00:00
bsalomon@google.com
0a208a117b Add flag bits for partial GrContext reset
BUG=248728
R=bsalomon@google.com

Committed: https://code.google.com/p/skia/source/detail?r=9802

Review URL: https://codereview.chromium.org/17027003

git-svn-id: http://skia.googlecode.com/svn/trunk@9814 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 18:57:35 +00:00
edisonn@google.com
ba669991e5 revert 9802 breacking tests on some configs
git-svn-id: http://skia.googlecode.com/svn/trunk@9805 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 16:03:21 +00:00
bsalomon@google.com
cad107bbe7 Add flag bits for partial GrContext reset
BUG=248728
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/17027003

git-svn-id: http://skia.googlecode.com/svn/trunk@9802 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 14:32:08 +00:00
commit-bot@chromium.org
b8d00db075 Change undefined SkGpuRenderTarget and SkGpuTexture forward declares to GrRenderTarget and GrTexture.
R=robertphillips@google.com, reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/17269003

git-svn-id: http://skia.googlecode.com/svn/trunk@9775 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-26 19:18:23 +00:00
bsalomon@google.com
eb6879f50a Replace fixed-size array of effect stages in GrDrawState with two appendable arrays, one for color, one for coverage.
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/16952006

git-svn-id: http://skia.googlecode.com/svn/trunk@9592 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-13 19:34:18 +00:00
bsalomon@google.com
21c10c5ff5 Make text context responsible for setting GrPaint on GrDrawState.
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/16928010

git-svn-id: http://skia.googlecode.com/svn/trunk@9588 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-13 17:44:07 +00:00
robertphillips@google.com
5f9f2b0875 Improve batching of drawBitmap* calls
https://codereview.chromium.org/16406006/



git-svn-id: http://skia.googlecode.com/svn/trunk@9499 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-10 22:07:19 +00:00
senorblanco@chromium.org
d0925240ef Force checking of all color, stencil and FBO allocations for SkSurface_Gpu. This fixes the software canvas fallback in Chrome.
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/15643013

git-svn-id: http://skia.googlecode.com/svn/trunk@9487 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-10 15:06:09 +00:00
commit-bot@chromium.org
bb6a3178c3 Make GrContext track the current matrix, render target, and clip directly rather than using GrDrawState.
R=robertphillips@google.com, jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/15821008

git-svn-id: http://skia.googlecode.com/svn/trunk@9297 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 17:25:49 +00:00
robertphillips@google.com
83d1a68141 Add special handling of rectori case for gpu
https://codereview.chromium.org/15080010/



git-svn-id: http://skia.googlecode.com/svn/trunk@9175 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-17 12:50:27 +00:00
robertphillips@google.com
afd1cba523 Re-add isIRect test for AA rect drawing
https://codereview.chromium.org/14820035/



git-svn-id: http://skia.googlecode.com/svn/trunk@9128 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-14 19:47:47 +00:00
commit-bot@chromium.org
3f4ea26ff5 Check for NULL texture in GrAutoScratchTexture::detach()
R=sugoi@chromium.org, robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/14683009

git-svn-id: http://skia.googlecode.com/svn/trunk@9104 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-11 13:21:43 +00:00
bsalomon@google.com
94b284d719 Remove GrPathCmd
R=reed@google.com

Review URL: https://codereview.chromium.org/15068008

git-svn-id: http://skia.googlecode.com/svn/trunk@9097 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-10 17:14:06 +00:00
robertphillips@google.com
114eb9e699 Update shader rect drawing path for r9087 (removal of isIRect "opt")
https://codereview.chromium.org/14972013/

(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@9089 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-10 13:16:13 +00:00
robertphillips@google.com
18136d1cf2 Remove isIRect "optimization" & defer computation of device Rect in AA rect rendering
https://chromiumcodereview.appspot.com/14890021/



git-svn-id: http://skia.googlecode.com/svn/trunk@9087 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-10 11:05:58 +00:00
commit-bot@chromium.org
8d47ddc19a Make GrGLShaderBuilder check whether GrEffect advertised that it would require the dst color or fragment position
R=senorblanco@chromium.org, robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/14998007

git-svn-id: http://skia.googlecode.com/svn/trunk@9074 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-09 14:55:46 +00:00
bsalomon@google.com
00142c4405 Fix GL extension printing on core profiles.
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/14864002

git-svn-id: http://skia.googlecode.com/svn/trunk@8970 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 19:42:54 +00:00
robertphillips@google.com
4b140b5fbe Add geometry-based rotated AA rect drawing path
https://codereview.chromium.org/14854005/



git-svn-id: http://skia.googlecode.com/svn/trunk@8961 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 17:13:13 +00:00
robertphillips@google.com
b19cb7f367 Axis aligned shader-based rect drawing
https://codereview.chromium.org/14314004/



git-svn-id: http://skia.googlecode.com/svn/trunk@8960 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 15:37:20 +00:00
commit-bot@chromium.org
37d883d9d3 Disable AA for ovals and roundrects if MSAA is enabled.
Also remove GrPaint from a number of methods -- we only
use it to get the AA state.

R=bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/14109033

git-svn-id: http://skia.googlecode.com/svn/trunk@8954 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 13:11:22 +00:00
robertphillips@google.com
a6ffb58b10 Plumbed in discard_framebuffer extension
https://codereview.chromium.org/14461006/



git-svn-id: http://skia.googlecode.com/svn/trunk@8906 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-29 16:50:17 +00:00
skia.committer@gmail.com
2cf444f704 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8873 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-26 07:00:58 +00:00
robertphillips@google.com
6ef912ac43 Reduce calls to SkMatrix::reset from GrDrawState
https://codereview.chromium.org/14474011/



git-svn-id: http://skia.googlecode.com/svn/trunk@8861 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 17:23:46 +00:00
commit-bot@chromium.org
f2bfd54de3 Add GPU support for roundrects
This uses the OvalRenderer to render roundrects as "stretched ovals." It adds an
additional shader that handles the straight edges of ellipsoid roundrects better, 
and uses the circle shader for roundrects where the two radii are the same. Only
axis-aligned, simple roundrects are supported. Handles fill, stroke and hairline.

R=bsalomon@google.com, robertphillips@google.com, reed@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/13852049

git-svn-id: http://skia.googlecode.com/svn/trunk@8859 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 15:27:00 +00:00
bsalomon@google.com
d42aca31b9 Remove static effects from the effect memory pool.
Review URL: https://codereview.chromium.org/14081016

git-svn-id: http://skia.googlecode.com/svn/trunk@8828 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-23 15:37:27 +00:00
robertphillips@google.com
235ef3d0e2 Remove GR_STATIC_RECT_VB
https://codereview.chromium.org/14367030/



git-svn-id: http://skia.googlecode.com/svn/trunk@8786 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-20 12:10:26 +00:00
bsalomon@google.com
018f179efb Expand modulate, add, subtract, extract component glsl helpers.
Review URL: https://codereview.chromium.org/13895006

git-svn-id: http://skia.googlecode.com/svn/trunk@8755 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 19:36:09 +00:00
jvanverth@google.com
c4f2ecaa47 Disable GPU acceleration for narrow ovals.
GPU anti-aliasing is currently not correct for ellipses where the ratio of long
axis length to short axis length is greater than 2 (see 
https://code.google.com/p/skia/issues/detail?id=1249). This disables the GPU 
path for those cases.

Review URL: https://codereview.chromium.org/13925015/


git-svn-id: http://skia.googlecode.com/svn/trunk@8694 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 12:30:35 +00:00
commit-bot@chromium.org
98168bb394 Add glCopyTexSubImage2D to GrGLInterface
Author: bsalomon@google.com

Reviewed By: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/13941006

git-svn-id: http://skia.googlecode.com/svn/trunk@8634 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 22:00:34 +00:00
bsalomon@google.com
686bcb871b Reland of 8525 with fix for case when GrRT outlives GrTexture.
Review URL: https://codereview.chromium.org/13814015

git-svn-id: http://skia.googlecode.com/svn/trunk@8573 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 15:04:12 +00:00
robertphillips@google.com
df3695e5c7 First pass at Rect Effect
https://codereview.chromium.org/13521006/



git-svn-id: http://skia.googlecode.com/svn/trunk@8571 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 14:01:44 +00:00
bsalomon@google.com
e06f8ef5ba Revert 8525,8526 pending investigation of bench_pictures crashes.
git-svn-id: http://skia.googlecode.com/svn/trunk@8527 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 21:06:42 +00:00
bsalomon@google.com
d02e8803e9 Remove GrTexture::releaseRenderTarget() and add GrSurface::isSameAs().
Review URL: https://codereview.chromium.org/13414006

git-svn-id: http://skia.googlecode.com/svn/trunk@8525 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 19:49:13 +00:00
commit-bot@chromium.org
5d01bec07a Fix for effect cache key.
Adds the additional shift needed to incorporate the attribKeyBits.  Also simplifies the creation of the static globals for the edge effects.

Author: jvanverth@google.com

Reviewed By: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/13465019

git-svn-id: http://skia.googlecode.com/svn/trunk@8498 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-02 20:48:38 +00:00
robertphillips@google.com
a6c63a90d1 Fix another clang warning/error
git-svn-id: http://skia.googlecode.com/svn/trunk@8476 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-01 23:30:26 +00:00
jvanverth@google.com
86b5e29f80 Patches for r8468 build errors. Unreviewed.
git-svn-id: http://skia.googlecode.com/svn/trunk@8469 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-01 20:14:02 +00:00
jvanverth@google.com
054ae99d93 Take two for r8466:
Replace the old attribute binding and index interface with one where we include the binding as part of the attribute array. Also removed the fixed attribute indices for constant color and coverage attributes, and replaced with dynamic ones based on current attribute set. Removed binding of color and coverage attributes unless they're actually set.

Original author: bsalomon@google.com

Author: jvanverth@google.com

Reviewed By: bsalomon@google.com,robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/13296005


git-svn-id: http://skia.googlecode.com/svn/trunk@8468 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-01 20:06:51 +00:00
jvanverth@google.com
c7bf2963f0 Rolling back r8466.
Not reviewed.


git-svn-id: http://skia.googlecode.com/svn/trunk@8467 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-01 19:29:32 +00:00
commit-bot@chromium.org
fb495b537f Revise attribute binding interface.
Replace the old attribute binding and index interface with one where we include the binding as part of the attribute array. Also removed the fixed attribute indices for constant color and coverage attributes, and replaced with dynamic ones based on current attribute set. Removed binding of color and coverage attributes unless they're actually set.

Original author: bsalomon@google.com

Author: jvanverth@google.com

Reviewed By: bsalomon@google.com,robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/13296005

git-svn-id: http://skia.googlecode.com/svn/trunk@8466 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-01 19:12:42 +00:00
bsalomon@google.com
26e18b593a Add support for reading the dst pixel value in an effect. Use in a new effect for the kDarken xfer mode.
The current implementation is to always make a copy of the entire dst before the draw.
It will only succeed if the RT is also a texture.
Obviously, there is lots of room for improvement.
Review URL: https://codereview.chromium.org/13314002

git-svn-id: http://skia.googlecode.com/svn/trunk@8449 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-29 19:22:36 +00:00
bsalomon@google.com
123ac1d4ea Make GM render to render targets that are also textures.
Review URL: https://codereview.chromium.org/13211002

git-svn-id: http://skia.googlecode.com/svn/trunk@8438 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-28 19:18:12 +00:00
bsalomon@google.com
b8eb2e89ed Make GrGLShaderBuilder::TextureSampler extract only required info from GrTextureAccess.
This will make it possible to init a TextureSampler without a texture or a specific config.

Also unify two separate bitfields of color components in GPU code.
Review URL: https://codereview.chromium.org/13121002

git-svn-id: http://skia.googlecode.com/svn/trunk@8428 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-28 13:46:42 +00:00
bsalomon@google.com
73818dce93 Add GrPaint stage for xfermodes.
Review URL: https://codereview.chromium.org/12918032

git-svn-id: http://skia.googlecode.com/svn/trunk@8425 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-28 13:23:29 +00:00
bsalomon@google.com
31ec7985f2 Move GrGLProgram::Desc out of GrGLProgram.
Review URL: https://codereview.chromium.org/12942014

git-svn-id: http://skia.googlecode.com/svn/trunk@8411 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-27 18:14:57 +00:00
robertphillips@google.com
ad9327f036 Increase space for effect-class-ID and fix assert
https://codereview.chromium.org/12703040/



git-svn-id: http://skia.googlecode.com/svn/trunk@8400 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-26 19:35:06 +00:00
bsalomon@google.com
c26d94fd7d Move nested class GrDrawTarget::Caps out as GrDrawTargetCaps.
Pass caps to GrEffect::TestCreate() functions so that they can return effects that will work with the capabilities.
Review URL: https://codereview.chromium.org/12965018

git-svn-id: http://skia.googlecode.com/svn/trunk@8369 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 18:19:00 +00:00
skia.committer@gmail.com
7e32851d54 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8350 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-23 07:01:28 +00:00
commit-bot@chromium.org
81312830ef Move oval rendering code to GrOvalRenderer.
Author: jvanverth@google.com

Reviewed By: bsalomon@google.com,robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/12657003

git-svn-id: http://skia.googlecode.com/svn/trunk@8345 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-22 18:34:09 +00:00
bsalomon@google.com
c78188896e Attempt to reland 8264-5 with warning-as-error fixes.
git-svn-id: http://skia.googlecode.com/svn/trunk@8272 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 19:19:53 +00:00
reed@google.com
67e7cde5c5 revert 8265-8264 (broke build)
git-svn-id: http://skia.googlecode.com/svn/trunk@8268 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 17:47:16 +00:00
bsalomon@google.com
4d9853288b Fix build breakage.
git-svn-id: http://skia.googlecode.com/svn/trunk@8265 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 17:41:50 +00:00
bsalomon@google.com
ae81d5c4aa Adds local coords to GrEffect system.
Effects can ask the builder for local coords which may or may not be distinct from positions.

GrEffectStage tracks changes to relationship between pos and local coords.

GrGLEffectMatrix and GrSingleTextureEffect can use either pos or textures as intput coords

GrSimpleTextureEffect now allows for an explicit texture coords attribute.
Review URL: https://codereview.chromium.org/12531015

git-svn-id: http://skia.googlecode.com/svn/trunk@8264 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 17:32:27 +00:00
skia.committer@gmail.com
01c34ee599 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8249 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 07:01:02 +00:00
robertphillips@google.com
f4b6763b95 Removed GrEffectStage::fVertexAttribCount to fix Chrome compilation warning/error
git-svn-id: http://skia.googlecode.com/svn/trunk@8245 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 00:28:46 +00:00
bsalomon@google.com
f3a60c09b9 Add support for IMG's MSAA extension.
Review URL: https://codereview.chromium.org/12875005

git-svn-id: http://skia.googlecode.com/svn/trunk@8241 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 19:06:09 +00:00
jvanverth@google.com
65eb4d5a21 Add stroked ovals and CircleEdgeEffect.
Adds some optimizations to the circle and ellipse shaders, static effect 
instances for their GrEffects, and some minor changes to GrDrawState::setEffect
to make GrEffect setup faster.


git-svn-id: http://skia.googlecode.com/svn/trunk@8238 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 18:51:02 +00:00
commit-bot@chromium.org
e4657ed7e1 Add a macro for querying the byte order of SkPMColor.
R=reed@google.com

Author: bsalomon@google.com

Reviewed By: reed@google.com,epoger@google.com

Review URL: https://chromiumcodereview.appspot.com/12771010

git-svn-id: http://skia.googlecode.com/svn/trunk@8219 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 14:16:31 +00:00
bsalomon@google.com
8a70eef71c Add MSAA configs to bench.
Review URL: https://codereview.chromium.org/12607013

git-svn-id: http://skia.googlecode.com/svn/trunk@8217 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 13:58:55 +00:00
jvanverth@google.com
c3413d6f41 Increase bits for effect attribute key.
We can have an attribute index value up to 7, but only allow 2 bits for each
index in GrGLEffect::GenAttribKey. This change gives them 3 bits (and fixes an
assert when running tests in debug).

Review URL: https://codereview.chromium.org/12431018/


git-svn-id: http://skia.googlecode.com/svn/trunk@8140 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-13 21:05:14 +00:00
skia.committer@gmail.com
91274b9972 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8120 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-13 07:01:04 +00:00
commit-bot@chromium.org
ff6ea2663f Add GrEllipseEdgeEffect.
Adds the effect that replaces the old oval rendering code. Also hooks in code to set attribute names and indices for effects.

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/12462008

git-svn-id: http://skia.googlecode.com/svn/trunk@8092 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-12 12:26:08 +00:00
jvanverth@google.com
9b855c7c95 Resubmit r7899 and r7901.
git-svn-id: http://skia.googlecode.com/svn/trunk@7929 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 18:21:22 +00:00
bsalomon@google.com
ecd84842b3 Add support to GrGLInterface for vertex array objects
Committed: https://code.google.com/p/skia/source/detail?r=7919
Review URL: https://codereview.chromium.org/12379025

git-svn-id: http://skia.googlecode.com/svn/trunk@7924 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 15:36:02 +00:00
bsalomon@google.com
b82c3993c2 Revert 7919 and 7920 (committed wrong version of r7919.)
git-svn-id: http://skia.googlecode.com/svn/trunk@7923 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 15:32:49 +00:00
bsalomon@google.com
87c6d7a99e Add support to GrGLInterface for vertex array objects
Review URL: https://codereview.chromium.org/12379025

git-svn-id: http://skia.googlecode.com/svn/trunk@7919 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 14:37:18 +00:00
robertphillips@google.com
af3a3b9fb1 Revert r7901 & r7899 to allow DEPS roll
git-svn-id: http://skia.googlecode.com/svn/trunk@7909 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 23:08:28 +00:00
robertphillips@google.com
6177e6999d Split GrGLContextInfo into GrGLContext & GrGLContextInfo
https://codereview.appspot.com/7436045/



git-svn-id: http://skia.googlecode.com/svn/trunk@7905 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 20:16:25 +00:00
bsalomon@google.com
26fb61ae46 Move the default definition of GR_USE_NEW_SHADER_SOURCE_SIGNATURE to GrGLConfig.
R=senorblanco@google.com
Review URL: https://codereview.chromium.org/12390021

git-svn-id: http://skia.googlecode.com/svn/trunk@7904 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 19:26:04 +00:00
commit-bot@chromium.org
e452a0ab43 Use updated Khronos signature for glShaderSource
(const char* const instead of char**).

This is needed for new Khronos headers.

BUG=178589

Review URL: https://chromiumcodereview.appspot.com/12310156

git-svn-id: http://skia.googlecode.com/svn/trunk@7900 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 17:11:11 +00:00
jvanverth@google.com
b8b705b1b9 Add new vertex attribute array specification.
This changes the old method of setting vertex layout to a new one where we
specify vertex attribute data separately from attribute bindings (i.e. program
functionality). Attribute data is now set up via an array of generic attribute
types and offsets, and this is mapped to the old program functionality by
setting specific attribute indices. This allows us to create more general 
inputs to shaders.


git-svn-id: http://skia.googlecode.com/svn/trunk@7899 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 16:28:34 +00:00
skia.committer@gmail.com
12eea2b10d Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7875 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 07:10:10 +00:00
bsalomon@google.com
1744f97ea7 Use glGetStringi to get extensions when available.
Review URL: https://codereview.chromium.org/12328111

git-svn-id: http://skia.googlecode.com/svn/trunk@7872 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-26 21:46:32 +00:00
bsalomon@google.com
6e4e65066a Give GrDrawTarget a back ptr to its owning GrContext.
Review URL: https://codereview.appspot.com/7395055

git-svn-id: http://skia.googlecode.com/svn/trunk@7850 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-25 20:12:45 +00:00
bsalomon@google.com
cb26535ff7 Make GPU versions of benchs use the same canvas size as raster.
Review URL: https://codereview.appspot.com/7400049

git-svn-id: http://skia.googlecode.com/svn/trunk@7827 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 16:13:16 +00:00
bsalomon@google.com
96966a5a1f Use CPU arrays for dynamic indices/vertices on ARM GPUs.
Review URL: https://codereview.appspot.com/7365047

git-svn-id: http://skia.googlecode.com/svn/trunk@7810 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 16:34:21 +00:00
bsalomon@google.com
682e1f9245 Use CGL rather than AGL on the Mac.
Review URL: https://codereview.appspot.com/7307106

git-svn-id: http://skia.googlecode.com/svn/trunk@7736 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-14 15:10:59 +00:00
bsalomon@google.com
73a9694b4c Use SkMWRandom in GLPrograms test.
R=jvanverth@google.com
Review URL: https://codereview.appspot.com/7306097

git-svn-id: http://skia.googlecode.com/svn/trunk@7721 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-13 16:31:19 +00:00
bsalomon@google.com
994b52ea55 Correct default value for GR_STATIC_RECT_VB
git-svn-id: http://skia.googlecode.com/svn/trunk@7685 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-08 21:45:47 +00:00
bsalomon@google.com
6438695222 Revert 7625 until after M26 due to a mix of perf changes.
git-svn-id: http://skia.googlecode.com/svn/trunk@7683 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-08 21:22:44 +00:00
bsalomon@google.com
85983288ba Remove compile time option to use different types for text vertices.
Review URL: https://codereview.appspot.com/7309060

git-svn-id: http://skia.googlecode.com/svn/trunk@7658 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 22:00:29 +00:00
bsalomon@google.com
82b0ec6ea4 Remove GR_DISABLE_DRAW_BUFFERING, replace with RTConf variable.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/7312061

git-svn-id: http://skia.googlecode.com/svn/trunk@7656 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 21:02:36 +00:00
bsalomon@google.com
5b25a8d72d Remove GR_DUMP_TEXTURE_UPLOADS
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/7300062

git-svn-id: http://skia.googlecode.com/svn/trunk@7652 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 20:21:39 +00:00
bsalomon@google.com
51ac7e6d97 Remove GR_AGGRESSIVE_SHADER_OPTS build option.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/7312058

git-svn-id: http://skia.googlecode.com/svn/trunk@7650 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 19:53:49 +00:00
robertphillips@google.com
fe1b536bb7 Enhance GL error checking for non-Ganesh GL calls
https://codereview.appspot.com/7312057/



git-svn-id: http://skia.googlecode.com/svn/trunk@7647 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 19:45:46 +00:00
bsalomon@google.com
fec0bc3fc1 Remove legacy names no longer referenced in Chrome and WebKit.
Review URL: https://codereview.appspot.com/7311055

git-svn-id: http://skia.googlecode.com/svn/trunk@7640 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 14:43:04 +00:00
bsalomon@google.com
1c7c01a1b3 Remove GR_STATIC_RECT_VB
Review URL: https://codereview.appspot.com/7304055

git-svn-id: http://skia.googlecode.com/svn/trunk@7625 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-06 18:53:12 +00:00
bsalomon@google.com
9c68058b67 Fix WritePixels test on ANGLE.
Don't upload BGRA to RGBA if not supported (ES2 w/ EXT BGRA extension).

R=senorblanco@chromium.org
Review URL: https://codereview.appspot.com/7305046

git-svn-id: http://skia.googlecode.com/svn/trunk@7622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-06 18:17:50 +00:00
senorblanco@chromium.org
3cb406bb88 Implement support for origin-TopLeft render targets. Note that the default behaviour remains the same: textures default to origin-TopLeft, render targets default to origin-BottomLeft, and backend textures default to origin-BottomLeft. However, the caller can override the default by setting fOrigin in GrTextureDesc, GrBackendTextureDesc or GrBackendRenderTargetDesc.
Review URL: https://codereview.appspot.com/7230049

git-svn-id: http://skia.googlecode.com/svn/trunk@7594 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-05 19:50:46 +00:00
robertphillips@google.com
cf9faf6ce9 Reverting r7545 (render target origin change) due to layout test issues (see https://codereview.chromium.org/12210002/)
git-svn-id: http://skia.googlecode.com/svn/trunk@7571 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-05 14:05:06 +00:00
senorblanco@chromium.org
ed8659b51d Implement support for origin-TopLeft render targets in GL backend.
Review URL: https://codereview.appspot.com/7230049

git-svn-id: http://skia.googlecode.com/svn/trunk@7545 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 17:29:51 +00:00
bsalomon@google.com
67b915de99 Make GPU unit tests use GrContexts of different GL types.
Review URL: https://codereview.appspot.com/7281046

git-svn-id: http://skia.googlecode.com/svn/trunk@7540 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 16:13:32 +00:00
skia.committer@gmail.com
cdcb2ce274 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7439 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-29 07:05:52 +00:00
senorblanco@chromium.org
22943cd588 Fix debug build. Unreviewed.
git-svn-id: http://skia.googlecode.com/svn/trunk@7416 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 16:48:51 +00:00
senorblanco@chromium.org
ef5dbe1cd9 Add an origin flag for backend (external) textures. Some textures in WebKit have a topdown orientation, and skia needs to be notified of this, so that they are not drawn upside-down.
Review URL: https://codereview.appspot.com/7200048

git-svn-id: http://skia.googlecode.com/svn/trunk@7414 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 16:42:38 +00:00
bsalomon@google.com
adc6536fe5 Remove getter of writable GrEffectStage from GrDrawState.
Upcoming changes will require GrDrawState to know things about the set of installed effects. Thus all setting of effects must go through a GrDrawState function (setEffect()). This change accomplishes that.
Review URL: https://codereview.appspot.com/7214045

git-svn-id: http://skia.googlecode.com/svn/trunk@7411 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 14:26:09 +00:00
skia.committer@gmail.com
e16efc1882 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-26 07:06:02 +00:00
bsalomon@google.com
95ed55adc6 Make all GrContext members that return a texture also ref the texture for the caller.
Review URL: https://codereview.appspot.com/7198049

git-svn-id: http://skia.googlecode.com/svn/trunk@7362 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-24 14:46:47 +00:00
bsalomon@google.com
838f6e18fb Add deferred count to GrResource.
This will be used to determine whether a resource can either be deleted or reinserted in the cache when its ref count reaches zero.
Review URL: https://codereview.appspot.com/7202046

git-svn-id: http://skia.googlecode.com/svn/trunk@7355 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-23 21:37:01 +00:00
bsalomon@google.com
1f0f1a3b5e Fix bug introduced in r7348, deleting wrapped resources.
git-svn-id: http://skia.googlecode.com/svn/trunk@7354 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-23 21:32:32 +00:00
bsalomon@google.com
7283022819 Make GrResource know whether 3D objects' lifetimes are managed by Skia or not.
Review URL: https://codereview.appspot.com/7201046

git-svn-id: http://skia.googlecode.com/svn/trunk@7348 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-23 20:25:22 +00:00
bsalomon@google.com
ca43208e4a Reland r7342 with fixes.
git-svn-id: http://skia.googlecode.com/svn/trunk@7346 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-23 19:53:46 +00:00
bsalomon@google.com
58f9ae1c7a Revert 7342 to investigate failures.
git-svn-id: http://skia.googlecode.com/svn/trunk@7345 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-23 19:09:06 +00:00
bsalomon@google.com
bcede394ee Add GrDrawState::DeferredState for saving GrDrawStates in GrInOrderDrawBuffer.
A future CL will do the unref'ing of GrResources when converting a GrDrawState to a DeferredState.
Review URL: https://codereview.appspot.com/7181049

git-svn-id: http://skia.googlecode.com/svn/trunk@7342 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-23 18:29:21 +00:00
bsalomon@google.com
730138c02b Remove declaration of unimplemented function.
git-svn-id: http://skia.googlecode.com/svn/trunk@7327 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-22 22:04:13 +00:00
bsalomon@google.com
8a252f7962 Switch GrEffect::onIsEqual signature back to GrEffect from GrEffectRef.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/7188046

git-svn-id: http://skia.googlecode.com/svn/trunk@7326 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-22 20:35:13 +00:00
bsalomon@google.com
6340a41108 Let them eat GrEffectRef.
Changes the remaining existing code that operates on naked GrEffects to GrEffectRef.
Review URL: https://codereview.appspot.com/7124058

git-svn-id: http://skia.googlecode.com/svn/trunk@7321 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-22 19:55:59 +00:00
jvanverth@google.com
46d3d39e65 Add GPU support for axis-aligned ovals:
- Add drawOval base function to SkDevice, and override in SkGpuDevice
- Move isSimilarityMatrix to SkMatrix (renamed to isSimilarity) and fixed up unit test
- Since both SkGpuDevice::drawOval() and GrContext::drawPath() can try to draw ovals, added GrContext::canDrawOval() and GrContext::internalDrawOval() to avoid duplicate code
- Hooked in axis-aligned oval fill shader
- Enabled GPU stroked circles
- Added stroked circle bench test

Review URL: https://codereview.appspot.com/7137050



git-svn-id: http://skia.googlecode.com/svn/trunk@7304 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-22 13:34:01 +00:00
bsalomon@google.com
68b58c9538 Remove default implementation of GrEffect::isEqual. Make GrSingleTextureEffect abstract.
Review URL: https://codereview.appspot.com/7142049

git-svn-id: http://skia.googlecode.com/svn/trunk@7254 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-17 16:50:08 +00:00
bsalomon@google.com
a1ebbe447d Change some function/vars from EffectPtr to EffectRef to reflect GrEffectPtr->GrEffectRef renaming.
git-svn-id: http://skia.googlecode.com/svn/trunk@7226 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 15:51:47 +00:00
bsalomon@google.com
87c472653b Fix no-static-init (android) build.
git-svn-id: http://skia.googlecode.com/svn/trunk@7225 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 15:38:37 +00:00
bsalomon@google.com
64287c5ef7 Fix missing "class" in friend decls in GrEffect.h
git-svn-id: http://skia.googlecode.com/svn/trunk@7223 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 15:25:55 +00:00
bsalomon@google.com
0ac6af4997 Wrap GrEffects in GrEffectPtr.
This is the first step towards automatic recycling of scratch resouces in the cache via ref-cnts.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/7092061

git-svn-id: http://skia.googlecode.com/svn/trunk@7222 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 15:16:18 +00:00
bsalomon@google.com
371e105da5 Add GrEffect::updateKnownColorComponents(). It is used to determine whether the output of an effect has a constant output value for r,g,b, or a.
Review URL: https://codereview.appspot.com/7064057

git-svn-id: http://skia.googlecode.com/svn/trunk@7144 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-11 21:08:55 +00:00
bsalomon@google.com
50db75c871 Make GrEffect::textureAccess non-virtual. Require subclasses to append their GrTAs.
Review URL: https://codereview.appspot.com/7062063

git-svn-id: http://skia.googlecode.com/svn/trunk@7129 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-11 13:54:30 +00:00
sugoi@google.com
e3453cbd20 This CL introduces a new path renderer.
Here are the characteristics :
- It uses the original path, before stroking
- It supports traight lines only (no curves)
- It supports butt or square caps only
- It supports miter or bevel joins only
- No AA support
Support for these will be added step by step later on.

A first pass at the benchmarks on my linux machine gave me these approximate speed improvements (running all bench with the option '--forceAA 0') :
path_stroke_small_long_line 4X
path_stroke_small_sawtooth 4X
path_stroke_big_rect 4X
path_stroke_small_rect 6X
path_stroke_big_triangle 4X
path_stroke_small_triangle 10X
lines_1_BW 1.5X
dashline_2_square 1.5X
dashline_1_square 1.5X

Also note that I can't submit this code until GrDrawTarget::isOpaque() is implemented, unless I just disable my renderer completely for now.

BUG=chromium:135111
TEST=The following gms are affected and may require rebaselining : lineclosepath, linepath, strokes_poly
Review URL: https://codereview.appspot.com/7026049

git-svn-id: http://skia.googlecode.com/svn/trunk@7047 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-07 14:26:40 +00:00
bsalomon@google.com
34cccde630 Allow GrEffects with multiple textures.
It will work as long as the total number of textures sis less than GrDrawState::kNumStages. That will be fixed in a follow up CL.
Review URL: https://codereview.appspot.com/7040052

git-svn-id: http://skia.googlecode.com/svn/trunk@7023 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-04 18:34:30 +00:00
djsollen@google.com
ade109f57c Fix Android compiler warnings.
Review URL: https://codereview.appspot.com/7040053

git-svn-id: http://skia.googlecode.com/svn/trunk@7014 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-04 15:29:06 +00:00
bsalomon@google.com
11f20d6270 Remove GrInstanceCounter.
R=reed@google.com
Review URL: https://codereview.appspot.com/6849125

git-svn-id: http://skia.googlecode.com/svn/trunk@6972 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-02 19:57:10 +00:00
skia.committer@gmail.com
2859eb74f9 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6921 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-21 02:01:28 +00:00
bsalomon@google.com
0797c2ccea Reland 6914 w/ fixes.
git-svn-id: http://skia.googlecode.com/svn/trunk@6916 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-20 15:13:01 +00:00
bsalomon@google.com
0b6ad2297f Revert 6914 to fix build issues.
git-svn-id: http://skia.googlecode.com/svn/trunk@6915 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-20 14:23:26 +00:00
bsalomon@google.com
4b86e3428b Simplify cache IDs and keys.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6954047

git-svn-id: http://skia.googlecode.com/svn/trunk@6914 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-20 14:18:10 +00:00
robertphillips@google.com
6d0673042f Accelerate AA filled rect drawing using drawIndexedInstances
https://codereview.appspot.com/6947078/



git-svn-id: http://skia.googlecode.com/svn/trunk@6889 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-18 21:47:47 +00:00
sugoi@google.com
5f74cf8c49 Follow up on the previous patch :
- Moved the SkStrokeRec class in its own file
- Replaced SkStroke by SkStrokeRec in Ganesh
- Moved path stroking to the Ganesh level in some cases (everytime it isn't required to do it directly in SkGpuDevice). PathEffect and MaskFilter still require path stroking at the SkGpuDevice for now.
- Renamed static functions in SkPath with proper names

* No functionality shold have changed with this patch. This is a step towards enabling Ganesh Path Renderers to decide whether or not to stroke the path rather than always receiving the stroked path as an input argument.

BUG=chromium:135111
TEST=Try path rendering tests from the gm
Review URL: https://codereview.appspot.com/6946072

git-svn-id: http://skia.googlecode.com/svn/trunk@6861 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-17 21:16:45 +00:00
bsalomon@google.com
9f6a557548 Remove unused type GrCacheKey
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6947074

git-svn-id: http://skia.googlecode.com/svn/trunk@6858 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-17 20:44:22 +00:00
reed@google.com
dd335aeb5d Change to BDS license (as we did with all the other files that were Apache)
Review URL: https://codereview.appspot.com/6948045

git-svn-id: http://skia.googlecode.com/svn/trunk@6787 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 19:24:05 +00:00
skia.committer@gmail.com
c7b4be7f11 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6746 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-11 02:01:20 +00:00
bsalomon@google.com
45a15f551b Modifications to GrPatherRenderer(Chain) interfaces to support clip mask manager.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6904069

git-svn-id: http://skia.googlecode.com/svn/trunk@6741 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-10 19:10:17 +00:00
scroggo@google.com
a2a3192847 Fix some extract subset bugs.
In SkBitmap::extractSubset, perform a deepCopy, if the pixelRef supports it.

Fixes a bug in the 'extractbitmap' gm, which attempts to draw a subset of a texture backed bitmap (if the canvas is really an SkGpuCanvas).

Also fix some bugs that happen when there is a pixel offset. These fixes get bypassed by the deepCopy, but a user can still set a pixel offset manually.

When copying GPU backed bitmap with a pixel offset, copy the offset.

If the new config is the same as the old, copy fRowBytes as well.

Add a function to SkBitmap.cpp (getUpperLeftFromOffset) to find the x,y coordinate to use when copying to a new config.

Fix a bug where readPixels copied to the correct desired config and we were setting the generation ID to match even though the desired config was not the same as the original config (caught by my new tests!).

Add some tests to verify the correct behavior.

Review URL: https://codereview.appspot.com/6839043

git-svn-id: http://skia.googlecode.com/svn/trunk@6710 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-07 19:14:45 +00:00
sugoi@google.com
12b4e27ae1 As part of preliminary groundwork for a chromium fix, this changelist is deprecating GrPathFill so that SkPath::FillType is used everywhere in order to remove some code duplication between Skia and Ganesh.
BUG=chromium:135111
TEST=Try path rendering tests from the gm
Review URL: https://codereview.appspot.com/6875058

git-svn-id: http://skia.googlecode.com/svn/trunk@6693 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-06 20:13:11 +00:00
bsalomon@google.com
42619d8df2 Rename SkTDLinkedList to SkTInternalLinked list, add some methods useful for forthcoming SkTLList.
Review URL: https://codereview.appspot.com/6858101

git-svn-id: http://skia.googlecode.com/svn/trunk@6643 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-03 14:54:59 +00:00
senorblanco@chromium.org
e0d44ff614 Add support for new glShaderSource() signature from Khronos. Disabled by default.
Review URL: https://codereview.appspot.com/6853068

git-svn-id: http://skia.googlecode.com/svn/trunk@6491 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-19 20:43:10 +00:00
senorblanco@chromium.org
f9a1455ef1 Avoid re-definition of STDC symbols, needed for my ffmpeg work.
See changes to build/common.gypi in https://codereview.chromium.org/11364077/

BUG=118986, 91970

Review URL: https://codereview.appspot.com/6810088
Patch from Paweł Hajdan, Jr. <phajdan.jr@chromium.org>.

git-svn-id: http://skia.googlecode.com/svn/trunk@6313 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-06 18:36:33 +00:00
skia.committer@gmail.com
1aa90cf11e Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6306 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-06 13:18:25 +00:00
bsalomon@google.com
dbe49f7354 Remove default texture coords / texture matrix
Review URL: https://codereview.appspot.com/6775100

git-svn-id: http://skia.googlecode.com/svn/trunk@6293 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-05 16:36:02 +00:00
robertphillips@google.com
4187a2fc71 Attempt to patch Chrome compiler failures
git-svn-id: http://skia.googlecode.com/svn/trunk@6289 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-05 01:31:44 +00:00
bsalomon@google.com
b4a55b7b68 Make morphology, convolution, and table color filter opt out of default texture matrices.
Review URL: https://codereview.appspot.com/6817077

git-svn-id: http://skia.googlecode.com/svn/trunk@6280 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-02 20:45:37 +00:00
bsalomon@google.com
b9086a0268 Replace GrMatrix with SkMatrix.
Review URL: https://codereview.appspot.com/6814067

git-svn-id: http://skia.googlecode.com/svn/trunk@6247 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 18:02:54 +00:00
borenet@google.com
7158e6acca Improve NaCl support
- Add nacl_make script to build Skia targets for NaCl using gyp
- Add nacl_interface for command-line apps
- Add nacl_sample as front-end for SampleApp
- Add freetype to DEPS
- Various gyp tweaks for NaCl

TODO:
- Implement GL interface
- Implement font host
- Fix plumbing so that SampleApp works properly
Review URL: https://codereview.appspot.com/6671044

git-svn-id: http://skia.googlecode.com/svn/trunk@6245 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 17:43:44 +00:00
bsalomon@google.com
8171288341 Remove GrScalar, replace with SkScalar.
Review URL: https://codereview.appspot.com/6812064

git-svn-id: http://skia.googlecode.com/svn/trunk@6243 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 17:12:34 +00:00
bsalomon@google.com
d8b5faca04 Reland r6233 with fix.
git-svn-id: http://skia.googlecode.com/svn/trunk@6241 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 17:02:46 +00:00
bsalomon@google.com
115b06f3d5 Re-revert r6233.
git-svn-id: http://skia.googlecode.com/svn/trunk@6239 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 15:47:55 +00:00
bsalomon@google.com
c3a58f345d Reland r6233 with fix for config conversion texture matrices.
git-svn-id: http://skia.googlecode.com/svn/trunk@6238 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 15:40:47 +00:00
bsalomon@google.com
66e534da8e Revert r6233 while investigating bot failures.
git-svn-id: http://skia.googlecode.com/svn/trunk@6235 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 14:02:43 +00:00
bsalomon@google.com
ce49e16d3b Checkpoint in moving texture matrices out of GrGLProgram and into GrGLEffect.
Review URL: https://codereview.appspot.com/6818064

git-svn-id: http://skia.googlecode.com/svn/trunk@6233 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 13:50:50 +00:00
skia.committer@gmail.com
f3dc199c0b Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6228 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 02:01:27 +00:00
robertphillips@google.com
d3eb336d56 Add validation check to GrGpu::createTexture & minor SkGpuDevice cleanup
https://codereview.appspot.com/6821055/



git-svn-id: http://skia.googlecode.com/svn/trunk@6213 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-31 13:56:35 +00:00
bsalomon@google.com
4b2e1c8807 Rebase gpu_dev up to r5182
git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6187 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-29 20:13:42 +00:00
bsalomon@google.com
56315b979b Add file accidentally omitted from r6182.
git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6186 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-29 20:02:06 +00:00
bsalomon@google.com
2eaaefd7e6 Pass GrCustomStage to key-generation functions and emitCode().
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6819046

git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6182 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-29 19:51:22 +00:00
djsollen@google.com
42041e6de8 Allow default texture cache limit to be set within gyp.
Review URL: https://codereview.appspot.com/6818051

git-svn-id: http://skia.googlecode.com/svn/trunk@6177 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-29 19:24:45 +00:00
bsalomon@google.com
484ee2a5fe Make GrEffectStage keep a const ptr (rather than non-const) to GrEffect.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6811045

git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6166 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-29 16:25:04 +00:00
bsalomon@google.com
2d0baded0f Make the orientation of a texture accessible from and known by GrSurface.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6801044

git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6148 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-26 19:01:17 +00:00
bsalomon@google.com
28a15fb8d6 Make GrGLEffect::setData take GrEffectStage rather than GrEffect.
This allows the coord-change matrix to be communicated to setData(). An accessor for this matrix is also added to GrEffectStage.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6779057

git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6143 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-26 17:53:18 +00:00
bsalomon@google.com
08283afc26 Rename GrSamplerState to GrEffectStage.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6777053

git-svn-id: http://skia.googlecode.com/svn/trunk@6135 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-26 13:01:20 +00:00
skia.committer@gmail.com
27b40e9f36 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6133 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-26 02:01:24 +00:00
bsalomon@google.com
46fba0d793 Rename StageKey and related stuff.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6785049

git-svn-id: http://skia.googlecode.com/svn/trunk@6130 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 21:42:05 +00:00
bsalomon@google.com
396e61fe44 Rename GrProgramStageFactory to GrBackendEffectFactory.
Review URL: https://codereview.appspot.com/6773044

git-svn-id: http://skia.googlecode.com/svn/trunk@6125 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 19:00:29 +00:00
bsalomon@google.com
08afc843c0 Files accidentally omitted from r6123.
git-svn-id: http://skia.googlecode.com/svn/trunk@6124 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 18:56:10 +00:00
bsalomon@google.com
16e3ddea6a Platform/Engine -> Backend
createPlatform -> wrapBackend

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6785044

git-svn-id: http://skia.googlecode.com/svn/trunk@6123 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 18:43:28 +00:00
bsalomon@google.com
422e81aeb1 GrGLProgramStage Renaming Part 3
s/GLProgramStage/GLEffect
minor whitespace/spelling fixup

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6767054

git-svn-id: http://skia.googlecode.com/svn/trunk@6095 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 14:11:03 +00:00
bsalomon@google.com
d698f77c13 GrGLProgramStage Renaming Part 1.
Renamed cpp and h
s/GrGLProgramStage/GrGLEffect/
Review URL: https://codereview.appspot.com/6759054

git-svn-id: http://skia.googlecode.com/svn/trunk@6090 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 13:22:00 +00:00
bsalomon@google.com
021fc736f8 GrCustomStage Renaming Part 5
Stuff found by searching for "stage".

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6772043

git-svn-id: http://skia.googlecode.com/svn/trunk@6089 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 12:47:42 +00:00
bsalomon@google.com
8ea78d83dc GrCustomStage Renaming Part 4
Rename a bunch of things found by searching for "custom".
Review URL: https://codereview.appspot.com/6765048

git-svn-id: http://skia.googlecode.com/svn/trunk@6085 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-24 20:11:30 +00:00
bsalomon@google.com
f271cc7183 GrCustomStage Renaming Part 3
Rename all things *CUSTOM_STAGE*, customStage*, and other miscellany

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6769048

git-svn-id: http://skia.googlecode.com/svn/trunk@6081 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-24 19:35:13 +00:00
bsalomon@google.com
6f261bed02 GrCustomStage Renaming Part 2
GrSamplerState member rename
GrCustomStageUnitTest rename
some comment updates
Review URL: https://codereview.appspot.com/6771043

git-svn-id: http://skia.googlecode.com/svn/trunk@6078 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-24 19:07:10 +00:00
bsalomon@google.com
a469c28c3c CustomStage Renaming Part 1
Search and replace:
GrCustomStage->GrEffect
GrCustomStageTestFactory->GrEffectTestFactory

renamed the cpp/h files from customStage->effect

reordered gypi, #includes, forward decls to maintain alphabetical sort.

manually fixed up some whitespace and linewraps

deleted a commented out #include

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6758046

git-svn-id: http://skia.googlecode.com/svn/trunk@6076 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-24 18:28:34 +00:00