Commit Graph

509 Commits

Author SHA1 Message Date
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