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
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
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
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
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
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
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
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
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
a99226eb8c
Commit SkGpuDevice.h which was omitted from r5918 for some reason.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5919 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-12 15:01:38 +00:00
bsalomon@google.com
3ab43d5c5b
Minimize use of SkDraw's matrix in SkGpuDevice.
...
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6604068
git-svn-id: http://skia.googlecode.com/svn/trunk@5906 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-11 19:39:09 +00:00
bsalomon@google.com
a6926b1f03
Reland r5861 but leave setMatrixClip virtual on SkDevice (IOW this is a partial revert of r5871 which reverted r5861).
...
Unreviewed
Review URL: https://codereview.appspot.com/6631062
git-svn-id: http://skia.googlecode.com/svn/trunk@5881 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-10 15:25:50 +00:00
robertphillips@google.com
3fffb2ee9f
Reverting r5861 (remove gainfocus and setMatixClip) due to Chrome compilation issues
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5871 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-09 22:30:18 +00:00
bsalomon@google.com
a1c3d78f22
Remove gainFocus() and setMatrixClip() virtuals from SkDevice.
...
R=reed@google.com ,robertphillips@google.com
Review URL: https://codereview.appspot.com/6636050
git-svn-id: http://skia.googlecode.com/svn/trunk@5861 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-09 14:20:37 +00:00
skia.committer@gmail.com
22b460cef6
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5735 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-29 02:01:02 +00:00
robertphillips@google.com
bac6b0575a
Update Ganesh to support fractional rects in drawBitmapRect
...
https://codereview.appspot.com/6561070/
git-svn-id: http://skia.googlecode.com/svn/trunk@5724 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-28 18:06:49 +00:00
reed@google.com
33535f3c48
Reimplement drawBitmapRectToRect to correctly handle fraction srcRect.
...
The prev impl relied on drawBitmap "deducing" the destination rect by applying
the computed matrix to the bitmap's bounds. This cannot be done if the srcRect
is fractional, and therefore not representable w/ a bitmap.
The new impl computes the same matrix, but calls down to the device via drawRect
+ a bitmap_shader. This allows us to specfiy the dstRect explicitly.
The possible down-side is that we now rely on the device subclass to efficiently
handle draRect+shader, instead of calling its drawBitmap entry-point.
To give the device the chance to handle this differently, I now call through to
a new device virtual: drawBitmapRect. The default impl is to create the shader
and call drawRect, but a subclass can intercept that.
For now, the GPU override of drawBitmapRect is mimicing the old behavior (by
rounding the srcRect to an iRect). This preserves its ability to call drawBitmap
which handles very-large textures, but shows some gittering/imprecision, due to
the rounding. ... this is the same GPU behavior we have before this CL.
Review URL: https://codereview.appspot.com/6542065
git-svn-id: http://skia.googlecode.com/svn/trunk@5663 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-25 15:37:50 +00:00
bsalomon@google.com
1ce49fc917
Move GrTextureParams from GrSamplerState to GrTextureAccess
...
Review URL: https://codereview.appspot.com/6496135/
git-svn-id: http://skia.googlecode.com/svn/trunk@5582 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 14:14:49 +00:00
bsalomon@google.com
8090e651fc
Make the SkGrPixelRef be responsible for unlocking device's scratch texture in the cache
...
Review URL: https://codereview.appspot.com/6498046/
git-svn-id: http://skia.googlecode.com/svn/trunk@5313 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-28 15:07:11 +00:00
bsalomon@google.com
a292112154
Remove SkGpuDevice::fTexture, use new pixel ref class name
...
Review URL: https://codereview.appspot.com/6474068/
git-svn-id: http://skia.googlecode.com/svn/trunk@5307 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-28 12:34:17 +00:00
robertphillips@google.com
1f47f4f732
Replaced TextureCacheEntry with GrTexture* and a back pointer to GrResourceEntry (in GrTexture)
...
http://codereview.appspot.com/6460089/
git-svn-id: http://skia.googlecode.com/svn/trunk@5122 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 14:49:16 +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
robertphillips@google.com
beb1af78d0
Altered Ganesh's clip stack plumbing to pass down new GrClipData class
...
http://codereview.appspot.com/6454047/
git-svn-id: http://skia.googlecode.com/svn/trunk@4788 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 18:52:16 +00:00
bsalomon@google.com
b8670998a5
Move filter/wrap out of GrSamplerState into GrTextureParams
...
Review URL: http://codereview.appspot.com/6440046/
git-svn-id: http://skia.googlecode.com/svn/trunk@4773 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-25 21:27:09 +00:00
rileya@google.com
24f3ad1bbb
Move texture lock/unlock functions from SkGpuDevice into SkGr as global functions, also removed inconsistent "SkGr" class.
...
Review URL: https://codereview.appspot.com/6420048
git-svn-id: http://skia.googlecode.com/svn/trunk@4664 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-18 21:47:40 +00:00
robertphillips@google.com
40a1ae4df2
Added SkDevice onAttachToCanvas & onDetachFromCanvas methods
...
http://codereview.appspot.com/6348100/
git-svn-id: http://skia.googlecode.com/svn/trunk@4598 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 15:36:15 +00:00
robertphillips@google.com
54823c227d
Rolling back r4034 (Proposed plumbing to propagate save & restore)
...
http://codereview.appspot.com/6346066/
git-svn-id: http://skia.googlecode.com/svn/trunk@4456 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-03 19:12:29 +00:00
tomhudson@google.com
375ff85e96
Un-trifurcate GrTextContext: get rid of Default and Batched subclasses,
...
folding their functionality back into the base class.
Requires gyp changes.
http://codereview.appspot.com/6357048/
git-svn-id: http://skia.googlecode.com/svn/trunk@4411 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-29 18:37:57 +00:00
robertphillips@google.com
49d9fd5fdb
Plumbing to propagate save & restore from SkCanvas down to GrContext & lower
...
http://codereview.appspot.com/6203067/
git-svn-id: http://skia.googlecode.com/svn/trunk@4034 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-23 11:44:08 +00:00
bsalomon@google.com
06cd732eff
Reland 3563
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3565 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 18:45:35 +00:00
bsalomon@google.com
18bbb8be02
Revet 3563 due to mac bot failure
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3564 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 18:29:01 +00:00
bsalomon@google.com
423d6d9070
Improve save layer handling in SkGpuDevice
...
http://codereview.appspot.com/5966048/
git-svn-id: http://skia.googlecode.com/svn/trunk@3563 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 18:22:01 +00:00
reed@google.com
8926b169f6
apply imagefilter to all draw calls
...
Review URL: https://codereview.appspot.com/5856048
git-svn-id: http://skia.googlecode.com/svn/trunk@3476 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-23 15:36:36 +00:00
bsalomon@google.com
f4a9c82918
Split GrTextContext into baseclass and subclass
...
This is a step towards enabling alternate text rendering code paths (GLyphy in particular)
Committed on behalf of baranowski@chromium.org
Review URL: http://codereview.appspot.com/5796071/
git-svn-id: http://skia.googlecode.com/svn/trunk@3412 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-16 14:02:46 +00:00
bsalomon@google.com
84405e095c
make skpaint2grpaint functions be local to skgpudevice.cpp
...
Review URL: http://codereview.appspot.com/5726061/
git-svn-id: http://skia.googlecode.com/svn/trunk@3322 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-05 19:57:21 +00:00
vandebo@chromium.org
74b4619616
Formatting cleanup: remove extra whitespace
...
Change by arthurhsu@chromium.org , original CL: http://codereview.appspot.com/5587049/
Review URL: https://codereview.appspot.com/5594043
git-svn-id: http://skia.googlecode.com/svn/trunk@3098 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-28 01:45:11 +00:00
reed@google.com
76dd277b1f
add filterImage() entry-point to SkDevice, to allow it to specialize on subclasses
...
of SkImageFilter. If that returns false, then the filter itself is invoked.
git-svn-id: http://skia.googlecode.com/svn/trunk@2977 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-05 21:15:07 +00:00
bsalomon@google.com
1fadb20c50
Remove static initiazled gClampNearest in gpu backend
...
Review URL: http://codereview.appspot.com/5487044/
git-svn-id: http://skia.googlecode.com/svn/trunk@2851 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-12 16:10:08 +00:00
reed@google.com
75d939b549
add SK_OVERRIDEs, move impl of virtuals into .cpp
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2819 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-07 15:07:23 +00:00
bsalomon@google.com
fb30951cd9
[GPU] tile when large bitmap pased drawBitmap and only a small fraction is used
...
Review URL: http://codereview.appspot.com/5450048/
git-svn-id: http://skia.googlecode.com/svn/trunk@2760 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-30 14:13:48 +00:00
bsalomon@google.com
d58a1cd00b
Add config8888 support to writePixels
...
Review URL: http://codereview.appspot.com/5374052/
git-svn-id: http://skia.googlecode.com/svn/trunk@2662 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-10 20:57:43 +00:00
bsalomon@google.com
6850eab42b
Override 32BPP format in SkCanvas::readPixels
...
Review URL: http://codereview.appspot.com/5330073/
git-svn-id: http://skia.googlecode.com/svn/trunk@2600 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-03 20:29:47 +00:00
bsalomon@google.com
910267dde2
Make SkDevice::onReadPixels take a const& rather than const*
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2587 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 20:06:25 +00:00
bsalomon@google.com
c69809745e
Recommit r2584 with gpu pass of the new ReadPixels test disabled in fixed pt (gpu code doesn't work in general in fixed pt).
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2586 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:57:21 +00:00
bsalomon@google.com
ace7bd5623
Revert r2584 (new test fails in fixed pt builds)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2585 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:39:51 +00:00
bsalomon@google.com
1a8ddf0a35
Changes the SkCanvas::readPixels API. Allows caller to read into prealloced bitmap pixels. Changes how clipping to device bounds is handled.
...
Review URL: http://codereview.appspot.com/5307077/
git-svn-id: http://skia.googlecode.com/svn/trunk@2584 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:34:16 +00:00
tomhudson@google.com
8a0b0291ae
Revert r2250 - removal of setMatrixClip() - because Chrome makes heavy use
...
of those functions in a way we're not yet ready to clean up.
git-svn-id: http://skia.googlecode.com/svn/trunk@2254 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-13 14:41:06 +00:00