Commit Graph

253 Commits

Author SHA1 Message Date
reed@google.com
da30055b29 SkData need not be a Flattenable, since it does not need subclass/factories
BUG=
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11754 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 14:33:11 +00:00
skia.committer@gmail.com
572a865846 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11426 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-21 07:01:53 +00:00
reed@google.com
d28ba8010c promote SkImage::AlphaType to SkAlphaType
BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11421 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-20 19:33:52 +00:00
mtklein@google.com
330313a8a8 My clang now doesn't complain about !"foo".
BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10874 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 15:37:26 +00:00
commit-bot@chromium.org
4d24b747e2 Make SkImage_Gpu share it's pixelref with the surface to prevent premature return to scratch pool.
BUG=crbug.com/263329
TEST=Surface unit test, function Test_crbug263329
R=bsalomon@google.com, reed@google.com

Author: junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10378 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 23:29:40 +00:00
skia.committer@gmail.com
7f1af501f2 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10299 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 07:01:12 +00:00
commit-bot@chromium.org
dfec28d4a9 Add SkImage->draw() call with src and dst rects.
Committed: http://code.google.com/p/skia/source/detail?r=10237

R=junov@chromium.org, senorblanco@chromium.org, reed@google.com

Author: arbesfeld@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10274 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 15:52:16 +00:00
fmalita@google.com
1d241f13d5 Revert "Add SkImage->draw() call with src and dst rects."
This reverts commit 9c730e27e0bb550dc228ad496cadeed8787b2244.

git-svn-id: http://skia.googlecode.com/svn/trunk@10238 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 17:01:37 +00:00
commit-bot@chromium.org
1d91600a02 Add SkImage->draw() call with src and dst rects.
R=junov@chromium.org, senorblanco@chromium.org, reed@google.com

Author: arbesfeld@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10237 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 16:16:37 +00:00
bungeman@google.com
f64c6842c1 Add a 'unique' method to SkRefCnt, document the usage, and add support.
std::shared_ptr has a method called 'unique' which captures the concept that
a reference count of 1 is special, and can be used to optimize copy on write.
It also has some undocumented need for memory barriers in certain situations
and those needs are documented here.

The motivation for looking into this is crbug.com/258499 . The use of the
reference count in this manner is a benign race with both ref() and unref().
By introducing sk_atomic_unprotected_read, it is possible for Chromium to
annotate this read to tell ThreadSanitizer that this is known.

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10221 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 23:18:52 +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
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
scroggo@google.com
7def5e1630 Separate core and images project.
SkImage calls functions on SkImageDecoder and SkImageEncoder. This
is desired behavior, and it is also desired to include SkImage as
a part of core. In order to keep core from depending on images,
update SkImageDecoder_empty.cpp to implement all of SkImageDecoder
and SkImageEncoder. This file will be built by chrome (in
https://codereview.chromium.org/15960015).

Move force_linking from SkImageDecoder.cpp to its own file. It must
be called to force linking with the image decoders if desired. Call
the function in tools that need it:
sk_image
render_pictures
render_pdfs
sk_hello
filter
bench_pictures
debugger

SkImageDecoder:
Derive from SkNoncopyable, instead of duplicating its
hiding of constructors.

skhello:
Return rather than trying to write a null SkData to the stream.

Revert "Hamfistedly removed core dependence on images"
(commit 0f05f682a90bc125323677abf3476e1027d174f5) and
"Move SkImage::encode to SkImage_Codec.cpp."
(commit 83e47a954d0bf65439f3d9c0c93213063dd70da3.)
These two commits were temporary fixes that this change
cleans up.

SkSnapshot.cpp:
Check for a NULL encoder returned by SkImageEncoder::Create.

BUG=https://code.google.com/p/skia/issues/detail?id=1275
R=djsollen@google.com, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9364 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 14:00:10 +00:00
skia.committer@gmail.com
3e50e99fe7 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9207 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 07:01:40 +00:00
commit-bot@chromium.org
1f6aed0b1c Move SkImage::encode to SkImage_Codec.cpp.
Chrome depends on SkImage.cpp, but does not include SkImageDecoder,
so having SkImage::encode in SkImage.cpp breaks chromium. Temporarily
fix the problem by moving the implementation into SkImage_Codec.cpp.

The larger fix will be to solve
https://code.google.com/p/skia/issues/detail?id=1275

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

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9204 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-20 23:57:38 +00:00
reed@google.com
4b0757b748 add encodeData() to SkImageEncoder, and add encoding to SkImage
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9193 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-20 16:33:41 +00:00
skia.committer@gmail.com
d2ada98934 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@8948 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 07:01:25 +00:00
junov@chromium.org
da90474b5f Adding public API method on SkImage for extracting the GPU texture handle.
TEST=Surface unit test

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8945 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-01 22:38:16 +00:00
commit-bot@chromium.org
c4c9870953 Adding optimization to avoid image copy in SkSurface copy on write when content is discardable
This patch also adds code to SkDeferredCanvas to trigger the optimization.

TEST=DeferredSurfaceCopy bench, Surface unit test
R=reed@google.com

Author: junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8797 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 14:28:01 +00:00
junov@chromium.org
63cd3c6406 Build fix: moving more inline functions into header
TBR=reed

git-svn-id: http://skia.googlecode.com/svn/trunk@8710 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 19:56:45 +00:00
junov@chromium.org
6a9bb804fe Build fix: moving some inline function definitions into header.
TBR=reed

git-svn-id: http://skia.googlecode.com/svn/trunk@8709 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 19:50:30 +00:00
junov@chromium.org
acea3ef448 Cleanup: Removing unnecessary args/complexity in SkSurface_Base and friends
Review URL: https://codereview.chromium.org/14263017

git-svn-id: http://skia.googlecode.com/svn/trunk@8708 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 19:41:09 +00:00
junov@chromium.org
5ee449af74 Fixing viral copy/paste typo Shapshot -> Snapshot
Unreviewed

git-svn-id: http://skia.googlecode.com/svn/trunk@8667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 20:20:50 +00:00
junov@chromium.org
45c3db827d Fixed bug in SkSurface_Gpu to make the surface receive the new copy when copy
on write happens.
Review URL: https://codereview.chromium.org/13195002

git-svn-id: http://skia.googlecode.com/svn/trunk@8622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 17:52:05 +00:00
junov@chromium.org
af0583528c Fixed bug with SkImage leaving canvas backing store in an immutable state after destroy.
Added unit test that verifies that surface backing is writable after creating and destroying an image.
Review URL: https://codereview.chromium.org/13226002

git-svn-id: http://skia.googlecode.com/svn/trunk@8512 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 15:03:26 +00:00
junov@chromium.org
c37589d78e Replacing 'new' with 'SkNEW_ARGS' in SkImage_Gpu
Review URL: https://codereview.chromium.org/13535004

git-svn-id: http://skia.googlecode.com/svn/trunk@8509 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 13:58:32 +00:00
tfarina@chromium.org
48552314f6 Fix a few clang errors while trying to build tools target.
Most of the errors were like:
../../src/gpu/gl/GrGLEffectMatrix.cpp:74:9: error: variable 'varyingType' is used uninitialized whenever switch default is taken [-Werror,-Wsometimes-uninitialized]
../../src/gpu/gl/debug/GrDebugGL.h:125:21: error: private field 'fMaxTextureUnits' is not used [-Werror,-Wunused-private-field]
../../src/core/SkBitmapSampler.cpp:312:25: error: private field 'fProcTable' is not used [-Werror,-Wunused-private-field]

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8403 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-26 21:48:58 +00:00
sugoi@google.com
e0e385c1d4 Removed unused parameters
I removed unused parameters wherever it was trivial to do so.
Review URL: https://codereview.chromium.org/12469002

git-svn-id: http://skia.googlecode.com/svn/trunk@8068 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-11 18:50:03 +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
junov@google.com
dbfac8a723 Defining new color constat for transparent color
Review URL: https://codereview.appspot.com/6901044

git-svn-id: http://skia.googlecode.com/svn/trunk@6696 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-06 21:47:40 +00:00
mike@reedtribe.org
b947625800 remove unused (and undefined) SkColorSpace parameter.
git-svn-id: http://skia.googlecode.com/svn/trunk@6427 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-15 02:37:45 +00:00
robertphillips@google.com
ea5d8af9fb Fix for 2 parallel gpu rendering issues (bigbitmaprect & image-surface)
https://codereview.appspot.com/6816079/



git-svn-id: http://skia.googlecode.com/svn/trunk@6266 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-02 17:38:28 +00:00
robertphillips@google.com
671eac67ef Fix leaks in SkSurface_Gpu.cpp
https://codereview.appspot.com/6826046/



git-svn-id: http://skia.googlecode.com/svn/trunk@6244 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 17:31:02 +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
97b6b0730d Fleshed out GPU portion of image/surface feature
https://codereview.appspot.com/6813055/



git-svn-id: http://skia.googlecode.com/svn/trunk@6214 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-31 14:48:39 +00:00
scroggo@google.com
a0c2bc2438 Make flattenables no longer depend on global static initializers.
Instead, force all builds to call InitializeFlattenables.

Remove the make_debugger script, which was created to force
rebuilding without global static initializers so that all flattenables
would be linked. It is no longer necessary since all flattenables
will be linked thanks to InitializeFlattenables, which now can (and
must) be called when global static initializers are turned on.

BUG=https://code.google.com/p/skia/issues/detail?id=903
BUG=https://code.google.com/p/skia/issues/detail?id=902

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5642 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-21 17:54:46 +00:00
bsalomon@google.com
d9e0181405 Linux warning fixes
Review URL: https://codereview.appspot.com/6500045/



git-svn-id: http://skia.googlecode.com/svn/trunk@5337 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-29 19:35:44 +00:00
reed@google.com
fd875e8014 re-enable inst counting
git-svn-id: http://skia.googlecode.com/svn/trunk@5308 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-28 12:43:54 +00:00
reed@google.com
97af1a64ae Add caching of the snapshot image form a surface
Notify the surface when the canvas draws into it, so it can invalidate the
cached image, and (if needed) perform a copy-on-write on the surface if it
was being shared with the image.
Review URL: https://codereview.appspot.com/6441115

git-svn-id: http://skia.googlecode.com/svn/trunk@5306 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-28 12:19:02 +00:00
rmistry@google.com
fbfcd56021 Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)
This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054

git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:09:54 +00:00
robertphillips@google.com
a22e2117e4 Extended Inst counting to find "unknown" leaked object (SkTMaskGamma)
http://codereview.appspot.com/6453127/



git-svn-id: http://skia.googlecode.com/svn/trunk@5123 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 14:58:06 +00:00
mike@reedtribe.org
24b4df9d2e delete empty file
git-svn-id: http://skia.googlecode.com/svn/trunk@5075 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 01:30:34 +00:00
reed@google.com
9ddef9b680 include SkFlatteningBuffer.h after restructure
git-svn-id: http://skia.googlecode.com/svn/trunk@4985 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 16:10:42 +00:00
reed@google.com
5d4ba88694 check-point for gpu support in SkImage/SkSurface
git-svn-id: http://skia.googlecode.com/svn/trunk@4859 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 15:45:27 +00:00
reed@google.com
bd5fa90dd1 add flattening
git-svn-id: http://skia.googlecode.com/svn/trunk@4857 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 15:19:56 +00:00
mike@reedtribe.org
d829b5cbff add SkImage from encoded data
git-svn-id: http://skia.googlecode.com/svn/trunk@4845 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 03:57:11 +00:00
reed@google.com
9ea5a3bc73 change SkSurface::newCanvas() to getCanvas(), and redefine its life-cycle to be
a single canvas for the lifetime of the surface.

Get a playback copy from the src picture, so we can continue to record into the
original picture.



git-svn-id: http://skia.googlecode.com/svn/trunk@4842 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 21:03:46 +00:00
reed@google.com
6997ebbe5c update/add copyright notices
git-svn-id: http://skia.googlecode.com/svn/trunk@4839 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 19:50:31 +00:00
reed@google.com
58b21ec7f0 expand internal subclasses into separate files
git-svn-id: http://skia.googlecode.com/svn/trunk@4836 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 18:20:12 +00:00
reed@google.com
c9062047ce expand private subclasses into separate files
git-svn-id: http://skia.googlecode.com/svn/trunk@4835 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 18:06:00 +00:00
mike@reedtribe.org
70e3590552 check-point for image/surface work
git-svn-id: http://skia.googlecode.com/svn/trunk@4823 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-29 20:38:16 +00:00
reed@google.com
889b09edfe check-point for surface experiment
git-svn-id: http://skia.googlecode.com/svn/trunk@4819 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 21:10:42 +00:00
reed@google.com
f6627b78f9 check-point for image experiment
git-svn-id: http://skia.googlecode.com/svn/trunk@4811 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 18:02:50 +00:00