commit-bot@chromium.org
44e86572eb
Disable the save/clip/restore peephole optimization when a bounding hierarchy is used
...
This optimization is redundant with the state traversal optimization that is
performed by SkPictureStateTree and it introduces significant record time
overhead. Therefore it is better not to perform this optimization when using
a BBoxHierarchy.
BUG=1852
R=tomhudson@google.com , robertphillips@google.com , reed@google.com
Author: junov@chromium.org
Review URL: https://codereview.chromium.org/79313003
git-svn-id: http://skia.googlecode.com/svn/trunk@12367 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 19:42:13 +00:00
commit-bot@chromium.org
46a9bb8d71
Fixing issues found by fuzzer
...
BUG=321802,321790
R=reed@google.com , senorblanco@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/83073005
git-svn-id: http://skia.googlecode.com/svn/trunk@12362 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 16:43:14 +00:00
skia.committer@gmail.com
f61ebc0927
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12358 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 07:02:24 +00:00
commit-bot@chromium.org
e0a868c84e
Apply hairline optimization only if the path renderer wants it
...
Make the decision to convert thin, non-hairline paths to hairline
paths at the renderer level.
The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.
Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by a renderer that
wants the optimization. Previously the optimization was applied only
when callgraph started with SkCanvas::drawPath.
Applies the optimization for GrAAHairLineRenderer and
GrDefaultPathRenderer.
This changes gm results for dashing3_{msaa4,gpu} and drawlooper_msaa4.
R=bsalomon@google.com , jvanverth@google.com , rmistry@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/38573007
git-svn-id: http://skia.googlecode.com/svn/trunk@12357 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 07:02:11 +00:00
reed@google.com
52314f82ba
move SkProcCoeffXfermode unflatten constructor into .cpp, and range-check its mode
...
BUG=
Review URL: https://codereview.chromium.org/79543009
git-svn-id: http://skia.googlecode.com/svn/trunk@12355 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 21:05:06 +00:00
bungeman@google.com
d4323325ca
Remove unwanted gFTMutex from DirectWrite port.
...
This mutex exists because this file started life as a copy of the
FreeType port. There is no global library state to protect here,
so there is no need for the mutex.
R=caryclark@google.com
Review URL: https://codereview.chromium.org/80983003
git-svn-id: http://skia.googlecode.com/svn/trunk@12353 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 18:47:01 +00:00
djsollen@google.com
9e59cb69e1
fix compiler error where SK_SCALAR_IS_FLOAT is not defined. (attempt 2)
...
R=reed@google.com
Review URL: https://codereview.chromium.org/81323002
git-svn-id: http://skia.googlecode.com/svn/trunk@12352 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 18:29:53 +00:00
djsollen@google.com
5df06a2fea
fix compiler error where SK_SCALAR_IS_FLOAT is not defined.
...
Review URL: https://codereview.chromium.org/80993004
git-svn-id: http://skia.googlecode.com/svn/trunk@12349 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 17:59:19 +00:00
fmalita@google.com
517dbe8bdc
Fix SkScalar conversion warning.
...
TBR=scroggo@google.com
Review URL: https://codereview.chromium.org/81293002
git-svn-id: http://skia.googlecode.com/svn/trunk@12348 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 17:50:15 +00:00
commit-bot@chromium.org
ce0e4efabd
Fix VC++ ptr-to-... and va_list confusion
...
R=bungeman@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/78903006
git-svn-id: http://skia.googlecode.com/svn/trunk@12346 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 17:20:17 +00:00
commit-bot@chromium.org
e898e9c65e
Show basic SkPicture details in debugger.
...
R=robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/80223003
git-svn-id: http://skia.googlecode.com/svn/trunk@12345 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 17:08:12 +00:00
commit-bot@chromium.org
866f4e34a9
optimize pathops coverage
...
Remove unused code from SkOpSegment.cpp and friends.
Add new tests exposed by coverage.
Fix a bug exposed by coverage -- removing the need to detect points that are nearby when intersecting.
Add gyp rule for building coverage flavor on Mac.
R=mtklein@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/75453003
git-svn-id: http://skia.googlecode.com/svn/trunk@12344 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 17:04:29 +00:00
commit-bot@chromium.org
8660783e19
Minor fix in Ganesh shader generation.
...
R=bsalomon@google.com
Author: skaslev@chromium.org
Review URL: https://codereview.chromium.org/78843006
git-svn-id: http://skia.googlecode.com/svn/trunk@12343 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:57:40 +00:00
halcanary@google.com
ad04eb49f5
Add SkImageGenerator Interface
...
- Add SkDiscardablePixelRef class that uses SkDiscardableMemory and
a SkImageGenerator.
- Add SkDecodingImageGenerator class as an example of a
SkImageGenerator.
- Add DecodingImageGenerator unit test.
- Add SkBasicDiscardableMemory implmentation for unit tests only.
R=reed@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/74793011
git-svn-id: http://skia.googlecode.com/svn/trunk@12341 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:32:08 +00:00
commit-bot@chromium.org
8b656c6db4
Avoid printing draw target info to stderr while running unit tests
...
Change draw target dump function to return a SkString. Clients can do
whatever they want with the string.
BUG=skia:1837
R=caryclark@google.com , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/72353003
git-svn-id: http://skia.googlecode.com/svn/trunk@12340 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:23:15 +00:00
commit-bot@chromium.org
75a2295445
Minor fixes for distance field fonts:
...
- Remove additional transform in drawpostext()
- Use bitmap fonts if rasterizer set in paint
- Correctly set scale ratio for drawtext()
R=bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/79283004
git-svn-id: http://skia.googlecode.com/svn/trunk@12338 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:09:33 +00:00
robertphillips@google.com
a4662865e3
More Windows 64b compilation warning fixes
...
https://codereview.chromium.org/47513017/
git-svn-id: http://skia.googlecode.com/svn/trunk@12337 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 14:24:16 +00:00
commit-bot@chromium.org
644629c1c7
Implement a benchmark for GrResourceCache
...
Adds "grresourcecache_add" and "grresourcecache_find" bench tests to test
GrResourceCache::add and GrResourceCache::find. The tests work only
with GPU backends, since GrResourceCache needs an GrGpu.
Modifies bench tests to override SkBenchmark::isSuitableFor(Backend)
function that specifies what kind of backend the test is inteded
for. This replaces the previous "fIsRendering" flag that would
indicate test that did no rendering.
Adds SkCanvas::getGrContext() call to get the GrContext that the
canvas ends up drawing to. The member function solves a common
use-case that is also used in the benchmark added here.
R=mtklein@google.com , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/73643005
git-svn-id: http://skia.googlecode.com/svn/trunk@12334 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 06:21:58 +00:00
bungeman@google.com
8f53d58622
Only SkFontMgr_New_DirectWrite should call GetSystemFontCollection.
...
Aside from the factory helper, there should be no calls to
IDWriteFactory::GetSystemFontCollection. All other code should work in
terms of IDWriteFontCollection for flexibility and correctness.
R=caryclark@google.com
Review URL: https://codereview.chromium.org/77023006
git-svn-id: http://skia.googlecode.com/svn/trunk@12331 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 22:42:13 +00:00
commit-bot@chromium.org
178acd25b0
Fix SkMatrix44::invert(...) for identity matrices and a NULL parameter
...
Currently, to check if an SkMatrix44 is singular, we call ::invert(NULL) and
check the result. Usually this does no more work than is necessary. One
case where we do far too much work is if |this| is an identity matrix. In
this case, we do not early out and compute a (partial) determinant (we don't
do the full shebang because there are no perspective components).
BUG=None
R=ajuma@chromium.org , reed@google.com
Author: vollick@chromium.org
Review URL: https://codereview.chromium.org/79333002
git-svn-id: http://skia.googlecode.com/svn/trunk@12327 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 21:32:27 +00:00
commit-bot@chromium.org
273104028c
Remove the SKIA_IGNORE_GPU_MIPMAPS now that Chrome sets glGenMipmap for
...
the skia GL interface.
R=bsalomon@google.com , humper@google.com
Author: skaslev@chromium.org
Review URL: https://codereview.chromium.org/74783011
git-svn-id: http://skia.googlecode.com/svn/trunk@12319 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 17:59:48 +00:00
robertphillips@google.com
8c99c9f4a6
Reverting r12315 (More Windows 64b compilation warning fixes) due to compilation failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12316 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:56:14 +00:00
robertphillips@google.com
80051d38a3
More Windows 64b compilation warning fixes
...
https://codereview.chromium.org/47513017/
git-svn-id: http://skia.googlecode.com/svn/trunk@12315 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:46:10 +00:00
mtklein@google.com
f1077f9164
Add extra warnings to match what Android uses.
...
R=mtklein@google.com
Committed: https://code.google.com/p/skia/source/detail?r=12310
Review URL: https://codereview.chromium.org/74193005
git-svn-id: http://skia.googlecode.com/svn/trunk@12314 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:13:49 +00:00
bungeman@google.com
f7159bba8e
De-generalize create_typeface on Windows.
...
The gdi and dw backends have a local create_typeface function.
This function is now called in only one place, onLegacyCreateTypeface.
Move the implementation into the caller.
R=caryclark@google.com
Review URL: https://codereview.chromium.org/76763002
git-svn-id: http://skia.googlecode.com/svn/trunk@12313 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:11:05 +00:00
scroggo@google.com
b60cdc8f4c
Revert "Add extra warnings to match what Android uses."
...
This reverts commit d234662df1ffeb1bf45b2ade16c4acfb94f89450.
This change broke the build. Will resubmit after fixing warnings.
git-svn-id: http://skia.googlecode.com/svn/trunk@12311 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 13:58:58 +00:00
djsollen@google.com
692f88c7f0
Add extra warnings to match what Android uses.
...
R=mtklein@google.com
Review URL: https://codereview.chromium.org/74193005
git-svn-id: http://skia.googlecode.com/svn/trunk@12310 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 13:16:47 +00:00
bungeman@google.com
10822c6daa
SkMemoryStream::setData should also set the current offset to 0.
...
R=scroggo@google.com
Review URL: https://codereview.chromium.org/73273004
git-svn-id: http://skia.googlecode.com/svn/trunk@12308 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 21:29:36 +00:00
mtklein@google.com
cf4d0fb8bb
Fix Windows build after the SkAutoFoo guard CL.
...
BUG=
Review URL: https://codereview.chromium.org/66593004
git-svn-id: http://skia.googlecode.com/svn/trunk@12303 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 16:33:08 +00:00
robertphillips@google.com
701b40543d
Fix DocumentTest/SkDocument memory leaks
...
https://codereview.chromium.org/72833002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12302 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 16:26:25 +00:00
commit-bot@chromium.org
e61a86cfa0
Guard against most unintentionally ephemeral SkAutoFoo instantiations.
...
I think I applied the trick everywhere possible. Limitations:
- can't be used with templated classes
- all constructors and destructors must be defined inline
A couple of the SkAutoFoo were unused in Skia, Chromium, and Android, so I
deleted them. This change caught the same bugs Cary found in SkPath, plus one
more in SampleApp.
BUG=
R=reed@google.com , caryclark@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/72603005
git-svn-id: http://skia.googlecode.com/svn/trunk@12301 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 16:03:59 +00:00
mike@reedtribe.org
139a2359ab
fix general-pespective for conical gradient bug=1744
...
BUG=
R=edisonn@google.com
Review URL: https://codereview.chromium.org/71303003
git-svn-id: http://skia.googlecode.com/svn/trunk@12299 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 20:15:51 +00:00
commit-bot@chromium.org
be65a4c9d6
Add missing functions to SkNWayCanvas
...
R=reed@google.com
BUG=none
Author: enne@chromium.org
Review URL: https://codereview.chromium.org/65513003
git-svn-id: http://skia.googlecode.com/svn/trunk@12295 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 19:02:41 +00:00
commit-bot@chromium.org
a1a097ee81
increase coverage of SkPath.cpp, remove unused code
...
Using Mike Klein's excellent coverage tool, increase the
unit testing of SkPath.cpp from 70% to 95%.
Along the way, determined that these functions were not
maintained or used:
SkPath::pathTo
SkPath::contains
as well as a large block of SkPath::cheapGetDirection().
Changed SkPath::validate() to permit infinities in
the path data points.
Fixed errors in preserving direction.
Fixed error setting direction when convexity is unknown.
Added missing conic to moveTo only detector.
BUG=
R=bsalomon@google.com , reed@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/65493004
git-svn-id: http://skia.googlecode.com/svn/trunk@12291 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 16:53:22 +00:00
reed@google.com
3443fd8886
move SkImageInfo into its own header
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/71813002
git-svn-id: http://skia.googlecode.com/svn/trunk@12273 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 19:09:13 +00:00
reed@google.com
ec3ca87d33
Revert "Revert "switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice""
...
This reverts commit ff0152ec5e2a0faf38ae1a317c5d77df08139104.
BUG=
Review URL: https://codereview.chromium.org/68203018
git-svn-id: http://skia.googlecode.com/svn/trunk@12271 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 16:02:18 +00:00
reed@google.com
5308c83a36
drawPosTextOnPath is now deprecated, removing all overrides and impls
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/61743017
git-svn-id: http://skia.googlecode.com/svn/trunk@12270 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 15:22:15 +00:00
skia.committer@gmail.com
44a95d768d
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12261 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 07:02:17 +00:00
reed@google.com
4d16470973
Revert "switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice"
...
This reverts commit 72958c374bdb9457419beeba7de1387da3293882.
BUG=
Review URL: https://codereview.chromium.org/58933007
git-svn-id: http://skia.googlecode.com/svn/trunk@12260 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 22:27:30 +00:00
reed@google.com
3f4bf51edd
switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice
...
BUG=
R=robertphillips@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/70473003
git-svn-id: http://skia.googlecode.com/svn/trunk@12259 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 22:14:08 +00:00
scroggo@google.com
09a5383adc
Hide implementation details: SkFrontBufferedStream
...
R=reed@google.com
Review URL: https://codereview.chromium.org/25581002
git-svn-id: http://skia.googlecode.com/svn/trunk@12256 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 20:53:05 +00:00
commit-bot@chromium.org
30b1aafab0
[PDF] Speculative fix for chrome crash w/ SRC xfer mode.
...
BUG=chromium:316546
R=edisonn@google.com , reed@google.com
Author: vandebo@chromium.org
Review URL: https://codereview.chromium.org/61153003
git-svn-id: http://skia.googlecode.com/svn/trunk@12253 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 19:36:14 +00:00
commit-bot@chromium.org
23a9121961
pdfviewer: compile pdfviewer in gm, only if the flag is set (currently we compile pdfviewer, even if it is not used)
...
R=scroggo@google.com , jvanverth@google.com
Author: edisonn@google.com
Review URL: https://codereview.chromium.org/68533003
git-svn-id: http://skia.googlecode.com/svn/trunk@12249 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 17:44:28 +00:00
scroggo@google.com
cac8d01eab
Override drawRRect in fake SkBitmapDevices.
...
Recent changes to SkBitmapDevice modified ::drawRRect() to take
an optimized drawing case. Some subclasses of SkBitmapDevice were
depending on the old behavior of calling ::drawPath(). Since they
do not draw, attempting to take the drawing path can cause problems.
For these subclasses, call drawPath() in the subclass.
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/70443002
git-svn-id: http://skia.googlecode.com/svn/trunk@12247 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 17:10:02 +00:00
senorblanco@chromium.org
f14bcd25e5
Remove some now-unused #ifdefs.
...
R=mtklein@google.com , mtklein, reed@google.com
Review URL: https://codereview.chromium.org/68473003
git-svn-id: http://skia.googlecode.com/svn/trunk@12246 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 16:46:43 +00:00
reed@google.com
23be7a58d9
add colortable enum to SkImage to ease interop between it and SkBitmap::Config
...
BUG=
R=halcanary@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/68853003
git-svn-id: http://skia.googlecode.com/svn/trunk@12245 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 16:11:07 +00:00
scroggo@google.com
5401cd019b
Clean up after longjmp in SkImageDecoder_libpng.
...
In onDecodeInit, if longjmp sends us back to setjmp, destroy the
png_struct and info_ptr before returning false. Since the
PNGAutoClean has not been created yet, we were previously
leaking resources.
R=djsollen@google.com
Review URL: https://codereview.chromium.org/68453006
git-svn-id: http://skia.googlecode.com/svn/trunk@12244 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 15:30:06 +00:00
scroggo@google.com
feeca3c7c2
Create nonPOD before setjmp.
...
With PNGAutoClean created after setjmp, when longjmp is called its destructor
is never called. Create it before setjmp, ensuring that its destructor is
called.
R=mtklein@google.com
Review URL: https://codereview.chromium.org/65283002
git-svn-id: http://skia.googlecode.com/svn/trunk@12238 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 14:38:41 +00:00
scroggo@google.com
59c3ab637b
Fix a memory leak in SkGPipeCanvas.
...
In cross process mode (currently unused but tested on the bots),
SkGPipeCanvas has a tangle of circular references, which prevents
it from being deleted. Break the chain of references.
R=junov@chromium.org
Review URL: https://codereview.chromium.org/69633003
git-svn-id: http://skia.googlecode.com/svn/trunk@12237 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 14:32:38 +00:00
skia.committer@gmail.com
11a253b686
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12232 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 07:02:05 +00:00
robertphillips@google.com
50a7600d05
Disable Blurred RR optimization in Chrome
...
https://codereview.chromium.org/68773005/
git-svn-id: http://skia.googlecode.com/svn/trunk@12231 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 01:16:56 +00:00
edisonn@google.com
73a7ea3ae0
Implement DPI for perspective bitmaps in PDF - we save the bitmap at the resolution requested.
...
R=reed@google.com , vandebo@chromium.org
Review URL: https://codereview.chromium.org/54913004
git-svn-id: http://skia.googlecode.com/svn/trunk@12230 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:55:15 +00:00
jvanverth@google.com
d830d13c27
Hook in rough distance field support for fonts
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/41213003
git-svn-id: http://skia.googlecode.com/svn/trunk@12229 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:54:09 +00:00
senorblanco@chromium.org
05edd02a7c
Implement a speedup for Y-only blurs by transposing.
...
R=mtklein@google.com , mtklein, reed@google.com
BUG=
Review URL: https://codereview.chromium.org/66413007
git-svn-id: http://skia.googlecode.com/svn/trunk@12227 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:12:34 +00:00
bungeman@google.com
0cd74ad38a
Make onCreateFromStream check that the stream looks like a font.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12224 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 19:52:29 +00:00
robertphillips@google.com
ad99358bdd
Fix memory leak in filterRRectToNine
...
https://codereview.chromium.org/65723005/
git-svn-id: http://skia.googlecode.com/svn/trunk@12222 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 18:45:18 +00:00
bungeman@google.com
451b5962c9
Android FontHost cannot use FontMgr yet.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12221 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 18:36:46 +00:00
bungeman@google.com
e0f04689c8
Give Android a SkFontMgr::Factory which was missing as of r12217.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12220 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 17:49:42 +00:00
senorblanco@chromium.org
f376f5de93
Implement a NEON version of morphology. This is good for ~2.2X speedup on Tegra3.
...
R=mtklein@google.com , mtklein, reed@google.com
Review URL: https://codereview.chromium.org/68123003
git-svn-id: http://skia.googlecode.com/svn/trunk@12219 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 16:48:51 +00:00
bungeman@google.com
13f9e0e4b2
Re-add NULL FontMgr::Factory hadnling code removed in r12217.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12218 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 16:26:55 +00:00
bungeman@google.com
b3d154de5e
Remove SK_FONTHOST_USES_FONTMGR.
...
Review URL: https://codereview.chromium.org/66783003
git-svn-id: http://skia.googlecode.com/svn/trunk@12217 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 15:53:29 +00:00
commit-bot@chromium.org
ffd178c84d
Initial draft code to run pdfviewer withg gms
...
draft cl to run pdfviewer with gms modified: gm/gmmain.cpp modified: gyp/gm.gyp modified: src/utils/SkPDFRasterizer.cpp modified: src/utils/SkPDFRasterizer.h
R=scroggo@google.com , borenet@google.com
Author: edisonn@google.com
Review URL: https://codereview.chromium.org/26269002
git-svn-id: http://skia.googlecode.com/svn/trunk@12214 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 15:10:47 +00:00
robertphillips@google.com
6c1e49af8d
Removed deprecated API calls that have crept in
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12210 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-10 15:08:45 +00:00
senorblanco@chromium.org
27eec46d69
SSE2 implementation of RGBA box blurs. This yields ~2X perf improvement on Xeon ES-2690.
...
R=mtklein@google.com
Review URL: https://codereview.chromium.org/61643011
git-svn-id: http://skia.googlecode.com/svn/trunk@12204 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 20:49:04 +00:00
commit-bot@chromium.org
11e5b972a9
Add sk_float_rsqrt with SSE + NEON fast paths.
...
Current numbers:
N4:
running bench [640 480] math_fastIsqrt NONRENDERING: cmsecs = 3.12
running bench [640 480] math_slowIsqrt NONRENDERING: cmsecs = 4.82
running bench [640 480] math_sk_float_rsqrt NONRENDERING: cmsecs = 1.99
Desktop:
running bench [640 480] math_fastIsqrt NONRENDERING: cmsecs = 0.89
running bench [640 480] math_slowIsqrt NONRENDERING: cmsecs = 0.94
running bench [640 480] math_sk_float_rsqrt NONRENDERING: cmsecs = 0.09
Haven't found any other benches where this is a significant effect yet.
BUG=
R=reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/60083014
git-svn-id: http://skia.googlecode.com/svn/trunk@12203 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 20:14:16 +00:00
commit-bot@chromium.org
8f457e3230
Adding error checks to SkRBuffer
...
BUG=
R=robertphillips@google.com , bsalomon@google.com , reed@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/61913002
git-svn-id: http://skia.googlecode.com/svn/trunk@12202 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 19:22:57 +00:00
commit-bot@chromium.org
9901727f21
Fix stale assert in GrDrawTarget::print
...
Fix stale assert in GrDrawTarget::print.
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/66333002
git-svn-id: http://skia.googlecode.com/svn/trunk@12201 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:45:27 +00:00
caryclark@google.com
2e1b99e61f
optimize floating pt, save a few instructions
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12199 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:05:02 +00:00
scroggo@google.com
a8e33a92e2
Add ability to ninepatch blurred rounded rectangle
...
Speed up drawing large blurry round rectangles by converting them to
nine patches.
SkDraw:
Add drawRRect.
SkBitmapDevice:
Call SkDraw::drawRRect instead of converting SkRRect to an SkPath.
SkMaskFilter/SkBlurMaskFilter:
Create a nine patch of a blurred round rect and draw it instead of
drawing the entire thing.
SkPDFDevice:
Override drawRRect to perform the old behavior in
SkBitmapDevice::drawRect.
Depends on https://codereview.chromium.org/52703003
Tests are in https://codereview.chromium.org/52793005
BUG=https://b.corp.google.com/issue?id=11174385
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/48623006
git-svn-id: http://skia.googlecode.com/svn/trunk@12198 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:02:53 +00:00
caryclark@google.com
1510726d60
fix line intersection
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12197 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:00:01 +00:00
reed@google.com
b95d9f566b
remove bogus assert, and remove outdated #ifdef
...
BUG=
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/66923002
git-svn-id: http://skia.googlecode.com/svn/trunk@12196 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 17:50:14 +00:00
commit-bot@chromium.org
bc25dfc798
ARM Skia NEON patches - 31 - Xfermode: xfer16
...
Xfermode: xfer16
This adds support for 16bit Xfermodes. It also tunes the gcc test
macros in xfer32() to add compatibility for gcc > 4.
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
R=djsollen@google.com , mtklein@google.com , reed@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/33063002
git-svn-id: http://skia.googlecode.com/svn/trunk@12192 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 16:16:05 +00:00
commit-bot@chromium.org
42feaaf0a5
use quads for mixed radius rrects
...
Create a specialized version of adding a pair of corner quads
that avoids the overhead of the full arc machinery.
This is on the way to changing Chrome to calling Skia directly to create fully general round rects rather than rolling their own.
R=robertphillips@google.com , reed@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/60203002
git-svn-id: http://skia.googlecode.com/svn/trunk@12190 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 15:51:12 +00:00
bsalomon@google.com
1b20a10f02
Revert "Do not apply hairline optimization for paths if nv_path_rendering is used"
...
This reverts commit r12185.
Review URL: https://codereview.chromium.org/66813002
git-svn-id: http://skia.googlecode.com/svn/trunk@12187 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 14:42:56 +00:00
skia.committer@gmail.com
ab7442c8d7
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12186 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 07:01:56 +00:00
commit-bot@chromium.org
44fb865e81
Do not apply hairline optimization for paths if nv_path_rendering is used
...
Do not convert thin, non-hairline paths to hairline paths if
nv_path_rendering is used.
The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.
Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by the
path-drawing code (GrContext::drawPathInternal). Previously the
optimization was applied only when callgraph started with
SkCanvas::drawPath. This changes drawlooper_msaa4, dashing3_msaa4 and
dashing3_gpu
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/38573007
git-svn-id: http://skia.googlecode.com/svn/trunk@12185 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 06:19:34 +00:00
robertphillips@google.com
96ac2f693b
Add GM to verify removal of 32767 limit in SkBlurMaskFilter::filterRectsToNine is okay
...
https://codereview.chromium.org/60513013/
git-svn-id: http://skia.googlecode.com/svn/trunk@12181 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:25:21 +00:00
robertphillips@google.com
8b15717bb0
"Fix" bug in debug canvas
...
https://codereview.chromium.org/59073008/
git-svn-id: http://skia.googlecode.com/svn/trunk@12180 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:20:31 +00:00
commit-bot@chromium.org
d3baf20dd1
Added support for Chrome's gpu command buffer extension BindUniformLocation.
...
R=bsalomon@google.com , bsalomon
Author: skaslev@chromium.org
Review URL: https://codereview.chromium.org/62163004
git-svn-id: http://skia.googlecode.com/svn/trunk@12178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:06:08 +00:00
senorblanco@chromium.org
0cc00c273d
Implement the y-transpose optimization in image (RGBA) blurs. This gives ~38% performance improvement on my Linux box. Also unify the box blur functions with a template.
...
R=mtklein@google.com , mtklein, reed@google.com
Review URL: https://codereview.chromium.org/59133006
git-svn-id: http://skia.googlecode.com/svn/trunk@12171 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 18:35:12 +00:00
commit-bot@chromium.org
eacc48978e
Fix for thin filled and hairline roundrects.
...
The roundrect renderer was dropping into the
ConvexPathRenderer when it didn't need to -- if a stroke is
just on the edge of being acceptable it will now use the
roundrect renderer.
BUG=Skia:1802
R=robertphillips@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/59903005
git-svn-id: http://skia.googlecode.com/svn/trunk@12168 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 16:34:53 +00:00
reed@google.com
126f7f5244
Revert "Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.""
...
This reverts commit 3c77887b3eb2d32ab668ab4e5f2f9e79103956e8.
BUG=
Review URL: https://codereview.chromium.org/50673005
git-svn-id: http://skia.googlecode.com/svn/trunk@12167 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 16:06:53 +00:00
commit-bot@chromium.org
c51808445f
ARM Skia NEON patches - 33 - Convolution filter
...
NEON version of the convolutionProcs
The bitmap_scale benchmark is now twice as fast on ARM.
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
Committed: http://code.google.com/p/skia/source/detail?r=12154
R=djsollen@google.com , mtklein@google.com , humper@google.com , epoger@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/27533004
git-svn-id: http://skia.googlecode.com/svn/trunk@12166 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 15:57:32 +00:00
skia.committer@gmail.com
2614418aee
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12161 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 07:02:19 +00:00
epoger@google.com
23ed4b307f
Revert r12154
...
BUG=skia:1807
git-svn-id: http://skia.googlecode.com/svn/trunk@12156 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 15:49:04 +00:00
halcanary@google.com
1f0121af49
New SkRTConf macro SK_CONF_TRY_SET: no complaint on missing configuration
...
SK_CONF_TRY_SET() is like SK_CONF_SET(), but doesn't complain if
confname can't be found. This is useful if the SK_CONF_DECLARE is
inside a source file whose linkage is dependent on the system.
Internally to the SkRTConf system, SkRTConfRegistry::set() was given
an additional parameter controling wanrings.
A new RuntimeConfig unit test was introduced. It should run silently.
In the future, it should be expanded to cover all of the SkRTConf
functionality.
(For example, the images.jpeg.suppressDecoderWarnings variable is
defined and used only in SkImageDecoder_libjpeg.cpp, but on MacOS, we
use Core Graphics via SkImageDecoder_CG.cpp - SkImageDecoder_libjpeg
is never linked in. The same is true of the Windows Imaging Component
on Windows.)
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/54503007
git-svn-id: http://skia.googlecode.com/svn/trunk@12155 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 15:07:44 +00:00
commit-bot@chromium.org
137577861d
ARM Skia NEON patches - 33 - Convolution filter
...
NEON version of the convolutionProcs
The bitmap_scale benchmark is now twice as fast on ARM.
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
R=djsollen@google.com , mtklein@google.com , humper@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/27533004
git-svn-id: http://skia.googlecode.com/svn/trunk@12154 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 15:02:46 +00:00
halcanary@google.com
7a2269ea73
Fix a bug which caused crash in SkRTConfig whith string values in environment variables
...
A minor change to SkRTConfRegistry::parse() fixes this
BUG=skia:1717
R=scroggo@google.com
Review URL: https://codereview.chromium.org/26373008
git-svn-id: http://skia.googlecode.com/svn/trunk@12152 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 14:18:46 +00:00
commit-bot@chromium.org
c2a0ea6418
Perlin issue fixed
...
BUG=skia:1799
R=sugoi@chromium.org , sugoi@google.com , senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/59173005
git-svn-id: http://skia.googlecode.com/svn/trunk@12150 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:38 +00:00
commit-bot@chromium.org
6e3e42296b
Break up SkLazyPixelRef functionally into class hierarchy.
...
The reason for this CL is to allow greater decoder flexibility.
Chrome currently uses its own decoding functions. These allow for
greater flexibility in dealing with images with multiple frames or
partial data. The DecodeProc function was not flexible enough to
handle these. Instead of asking the decoder to squeeze everything
into the DecodeProc, we now ask the downstream library to inherit from
SkCachingPixelRef. If WebKit's LazyDecodingPixelRef is re-tooled to
inherit from SkCachingPixelRef, then it can make use of Skia's caching
ability while still allowing it to deal with multiple frames, scaling,
subsetting, and partial data.
- The abstract SkCachingPixelRef class handles caching the decoded
data in a SkScaledImageCache. This class relies on the virtual
functions onDecodeInfo() and onDecode() to do the actual decoding
of data.
- The SkLazyCachingPixelRef class is derived from SkCachingPixelRef.
It provides an implementation of onDecodeInfo() and onDecode() in
terms of calls to a SkBitmapFactory::DecodeProc function. It also
provides an Install() static method which installs a new
SkLazyCachingPixelRef into a SkBitmap.
SkLazyCachingPixelRef exists for two reasons: to test
SkCachingPixelRef within Skia and as an example for downstream
developers to make their own classes that inherit from
SkCachingPixelRef.
- The CachedDecodingPixelRefTest was updated to test the
SkLazyCachingPixelRef class and indirectly the SkCachingPixelRef
class.
BUG=
R=reed@google.com , scroggo@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/54203006
git-svn-id: http://skia.googlecode.com/svn/trunk@12149 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:30 +00:00
commit-bot@chromium.org
6006d0f8c4
Add bevel-stroke support in GrAARectRenderer
...
Committed: http://code.google.com/p/skia/source/detail?r=12082
R=robertphillips@google.com , bsalomon@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23712005
git-svn-id: http://skia.googlecode.com/svn/trunk@12148 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:21 +00:00
skia.committer@gmail.com
382fde3a3c
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12147 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 07:02:11 +00:00
scroggo@google.com
20e3cd2c9f
Add SkRRect::transform.
...
Much like SkPath::transform, it transforms an SkRRect based on an
SkMatrix. Unlike SkPath::transform, it will fail for matrices that
contain perspective or skewing.
Required by a future change (https://codereview.chromium.org/48623006 )
to speed up drawing large blurry rounded rectangles by using ninepatches.
TODO: This could easily support 90 degree rotations, if desired.
BUG=https://b.corp.google.com/issue?id=11174385
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/52703003
git-svn-id: http://skia.googlecode.com/svn/trunk@12132 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:54:42 +00:00
commit-bot@chromium.org
a93f4e770f
Check that Mode is valid for ModeColorFilterEffect
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/53983005
git-svn-id: http://skia.googlecode.com/svn/trunk@12131 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:47:48 +00:00
commit-bot@chromium.org
4faa869cda
Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream.
...
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@chromium.org
Committed: https://code.google.com/p/skia/source/detail?r=12114
Committed: https://code.google.com/p/skia/source/detail?r=12119
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/41253002
git-svn-id: http://skia.googlecode.com/svn/trunk@12130 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:46:56 +00:00
commit-bot@chromium.org
fedf13d73a
Add SK_PREFETCH and use in SkBlurImageFilter.
...
Relative speed is 1.2-1.6x on desktop, 1.0-1.2x on Nexus 4.
(Division remains the bottleneck, now more so.)
BUG=
R=senorblanco@google.com , reed@google.com , senorblanco@chromium.org
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/57823003
git-svn-id: http://skia.googlecode.com/svn/trunk@12129 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:03:26 +00:00
commit-bot@chromium.org
d3e5842db0
Avoid re-rendering stencil clip for every draw with reducable clip stack
...
Fixes the cases where clip stack reduction would cause clip to be
re-rendered to stencil for each draw call. This causes unneeded
slowdown.
Stencil cache would not be used because the clip stack generation id communicated
by the clip stack element list would be invalid. This happended due to
a) clip stack reduction creating new elements in the element list.
b) purging logic removing the generation id, but reduction logic
selecting already purged element, and thus the generation id, as
the representative state of the clip.
Cases of a) where reduction would flatten the stack to a single new
element were fixed by assigning the generation id of the top-most
element of the clip stack as the generation id of the new
element. This is not strictly minimal, but enables more caching than
using invalid id.
Cases of a) where reduction would substitute a stack element with a
new element the generation id of the substituted element is used.
The b) part was fixed by removing the purging logic. It was not
exactly correct, as the previously purged states were actually
used. The purging was not used for anything.
Changes SkClipStack API to highlight that invalid generation id is
never returned by SkClipStack. Empty stacks are wide open. Changes the
clients to reflect this.
Fixes a crash when not passing anti-alias out parameter to
GrReducedClip::ReduceClipStack. The crash is not exercised in the
current code.
Committed: http://code.google.com/p/skia/source/detail?r=12084
R=bsalomon@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/48593003
git-svn-id: http://skia.googlecode.com/svn/trunk@12127 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:03:08 +00:00
reed@google.com
12a23866fe
Revert "Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream."
...
This reverts commit 6bc22e8ef1ea70a1b58409aa21254358c50f149a.
git-svn-id: http://skia.googlecode.com/svn/trunk@12124 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 21:35:55 +00:00
mtklein@google.com
1e4c4fea11
We always read out of bounds here. Fix that.
...
Turns out the comment wasn't lying!
BUG=
R=bungeman@google.com
Review URL: https://codereview.chromium.org/58473002
git-svn-id: http://skia.googlecode.com/svn/trunk@12123 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 21:22:45 +00:00
reed@google.com
84e922bfb3
Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values."
...
This reverts commit d615e839b71f75df895de6850b774a9e1c28ad2a.
Revert "must initialize SkDraw.fClip"
This reverts commit 108e46d29b5f57927fc8b8c403bb52019d8cb16d.
BUG=
Review URL: https://codereview.chromium.org/57883006
git-svn-id: http://skia.googlecode.com/svn/trunk@12122 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:57:36 +00:00
sugoi@google.com
b48a59ae81
Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream.
...
BUG=
R=reed@google.com
Committed: https://code.google.com/p/skia/source/detail?r=12114
Review URL: https://codereview.chromium.org/41253002
git-svn-id: http://skia.googlecode.com/svn/trunk@12119 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:28:23 +00:00
reed@google.com
ac9d306a92
speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.
...
R=bsalomon@google.com , mtklein@google.com
Review URL: https://codereview.chromium.org/56453002
git-svn-id: http://skia.googlecode.com/svn/trunk@12118 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:10:33 +00:00
epoger@google.com
eb221268ab
Revert r12114 due to https://code.google.com/p/skia/issues/detail?id=1794 ('Assertion failures on various buildbots as of r12114')
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12115 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 18:06:12 +00:00
sugoi@google.com
305f78e8c1
Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream.
...
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/41253002
git-svn-id: http://skia.googlecode.com/svn/trunk@12114 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 16:18:15 +00:00
senorblanco@chromium.org
fe2faa8b16
Change SkBlurImageFilter to use fixed-point division. Yields ~1.8X speedup on
...
MacBookPro.
Note: this will require defining SK_DISABLE_BLUR_DIVISION_OPTIMIZATION in
Chrome, a la https://codereview.chromium.org/49973005 .
R=mtklein@google.com
Review URL: https://codereview.chromium.org/57513002
git-svn-id: http://skia.googlecode.com/svn/trunk@12113 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 16:07:33 +00:00
robertphillips@google.com
d998bec918
Fix for Chromium-side compilation complaint:
...
src/pathops/SkIntersectionHelper.h:10:13: error: #if with no expression
git-svn-id: http://skia.googlecode.com/svn/trunk@12108 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-03 13:40:34 +00:00
skia.committer@gmail.com
f54ad6f488
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12101 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-02 07:02:02 +00:00
robertphillips@google.com
32700ace30
Reverting r12082 (Add bevel-stroke support in GrAARectRenderer) due to GM failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12091 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 19:22:42 +00:00
caryclark@google.com
a2bbc6e19d
pathops work in progress
...
BUG=
Review URL: https://codereview.chromium.org/52653002
git-svn-id: http://skia.googlecode.com/svn/trunk@12089 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 17:36:03 +00:00
reed@google.com
f0784bde75
Revert "Avoid re-rendering stencil clip for every draw with reducable clip stack"
...
This reverts commit 92a7d4bf6a371f1f864154be902e8d86938e560b.
Revert "fix mac 10.6 build"
This reverts commit 114cd1a9f2734aaed6914718814364811b78bd7f.
BUG=
Review URL: https://codereview.chromium.org/54543008
git-svn-id: http://skia.googlecode.com/svn/trunk@12087 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 16:25:59 +00:00
commit-bot@chromium.org
f91aaecbe9
Construct round rects with perpendicular tangents.
...
The round rects are constructed as before out of quadratics,
but without fudging the control points. Instead, the mid on-
curve point is nudged slightly outward to prevent the
convexity test from failing.
The convexity test now includes an error term for sign
inequality after computing the cross product of the control
lines. When the control points are represented as vectors,
the number of bits of precision may be greatly reduced.
Account for this by passing the number of bits available
from the original control point values into the equality
check.
Making round rect construction lines perpendicular improves
the chances of success when path ops encounters clips.
No new tests are needed -- this change is exercised by the
convex Path unit tests and the gm tests arcofzorro and
hairlines.
R=robertphillips@google.com , reed@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/48783002
git-svn-id: http://skia.googlecode.com/svn/trunk@12085 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:24:55 +00:00
commit-bot@chromium.org
679eb674fc
Avoid re-rendering stencil clip for every draw with reducable clip stack
...
Fixes the cases where clip stack reduction would cause clip to be
re-rendered to stencil for each draw call. This causes unneeded
slowdown.
Stencil cache would not be used because the clip stack generation id communicated
by the clip stack element list would be invalid. This happended due to
a) clip stack reduction creating new elements in the element list.
b) purging logic removing the generation id, but reduction logic
selecting already purged element, and thus the generation id, as
the representative state of the clip.
Cases of a) where reduction would flatten the stack to a single new
element were fixed by assigning the generation id of the top-most
element of the clip stack as the generation id of the new
element. This is not strictly minimal, but enables more caching than
using invalid id.
Cases of a) where reduction would substitute a stack element with a
new element the generation id of the substituted element is used.
The b) part was fixed by removing the purging logic. It was not
exactly correct, as the previously purged states were actually
used. The purging was not used for anything.
Changes SkClipStack API to highlight that invalid generation id is
never returned by SkClipStack. Empty stacks are wide open. Changes the
clients to reflect this.
Fixes a crash when not passing anti-alias out parameter to
GrReducedClip::ReduceClipStack. The crash is not exercised in the
current code.
R=bsalomon@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/48593003
git-svn-id: http://skia.googlecode.com/svn/trunk@12084 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:24:20 +00:00
commit-bot@chromium.org
5c8ee2539b
Make GrContext cache the gpu paths
...
Creating paths for nv_path_rendering is costly. Try to reduce this
cost by caching paths based on the SkPath "hash" (i.e. SkPathRef
generation id) and stroke properties.
Adds the paths to GrContext::fTextureCache instance. Later this should
be renamed and the GrContext API should reflect the nature of the cache
better.
R=bsalomon@google.com , mtklein@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/26557003
git-svn-id: http://skia.googlecode.com/svn/trunk@12083 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:23:44 +00:00
commit-bot@chromium.org
e1e99ef0af
Add bevel-stroke support in GrAARectRenderer
...
R=robertphillips@google.com , bsalomon@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23712005
git-svn-id: http://skia.googlecode.com/svn/trunk@12082 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:23:17 +00:00
robertphillips@google.com
8995b7b626
Only disable scratch texture reuse on the N10 and N4
...
https://codereview.chromium.org/48903017/
git-svn-id: http://skia.googlecode.com/svn/trunk@12080 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:03:34 +00:00
reed@google.com
2bd8b81005
move SkImage::ColorType into SkColorType
...
objective -- move clients over to SkImage
tasks
- use SkImageInfo instead of SkBitmap::Config
- add support for colortables to SkImage
- add drawImage to SkCanvas
- return SkImage from readPixels
This CL works towards the first task
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/54363008
git-svn-id: http://skia.googlecode.com/svn/trunk@12077 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 13:46:54 +00:00
commit-bot@chromium.org
f2f8f3a43c
Adding a way to disable SkOffsetImageFilter's optimized path in blink/chrome
...
BUG=
R=senorblanco@chromium.org , reed@google.com , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/54543005
git-svn-id: http://skia.googlecode.com/svn/trunk@12075 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 11:55:06 +00:00
commit-bot@chromium.org
2080722493
Fix two inconsistencies in handling fixed-function texture coordinate set generation
...
Prevent off-by-one bug leaving the texture coordinate set 0 always enabled if
it ever was used. This makes the code consistent with its apparent purpose.
When enabling / disabling texture coordinate sets, call glPathTexGen
only if path rendering is applicable. This makes the functions
consistent with GrGpuGL::resetContext.
R=cdalton@nvidia.com , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/54403003
git-svn-id: http://skia.googlecode.com/svn/trunk@12074 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 11:54:54 +00:00
skia.committer@gmail.com
18bb41e956
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12071 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 07:02:15 +00:00
robertphillips@google.com
3b60c14e66
Fix for r12069 (actually turn on don't-reuse-scratch-textures feature)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12070 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 01:55:40 +00:00
robertphillips@google.com
f7ee05fa9d
Turn on don't-reuse-scratch-textures for all Android devices
...
https://codereview.chromium.org/54493005/
git-svn-id: http://skia.googlecode.com/svn/trunk@12069 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 00:40:47 +00:00
robertphillips@google.com
56ce48ade3
Add can-ignore-rect hint to clear call
...
https://codereview.chromium.org/53823003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12064 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 21:44:25 +00:00
commit-bot@chromium.org
3843f3fc89
Partial fix for Skia issue 1769: GenerateGMs crashing (out of memory)
...
GenerateGMs was crashing because we were adding genID listeners for
textures even when creation failed -- in this case the key generated
is not valid, so when it comes time to purge it, it triggers an
assert and then an apparent crash. The solution is to not add
a genID listener in this case.
This doesn't solve the problem of running out of memory, it just prevents it
from causing a crash in Debug builds.
BUG=
R=bsalomon@google.com , robertphillips@google.com , mtklein@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/55023005
git-svn-id: http://skia.googlecode.com/svn/trunk@12062 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 20:22:47 +00:00
commit-bot@chromium.org
0251288112
Adding size parameter to read array functions
...
In some cases, the allocated array into which the data will be read is using getArrayCount() to allocate itself, which should be safe, but some cases use fixed length arrays or compute the array size before reading, which could overflow if the stream is compromised.
To prevent that from happening, I added a check that will verify that the number of bytes to read will not exceed the capacity of the input buffer argument passed to all the read...Array() functions.
I chose to use the byte array for this initial version, so that "size" represents the same value across all read...Array() functions, but I could also use the element count, if it is preferred.
Note : readPointArray and writePointArray are unused, so I could also remove them
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/37803002
git-svn-id: http://skia.googlecode.com/svn/trunk@12058 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 18:37:50 +00:00
reed@google.com
4469938e92
Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning""
...
This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d.
BUG=
Review URL: https://codereview.chromium.org/54603004
git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 17:28:30 +00:00
reed@google.com
6fcbfcead5
Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"
...
This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497.
git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:31:11 +00:00
reed@google.com
081560e3ab
add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning
...
BUG=
R=robertphillips@google.com , senorblanco@chromium.org , vandebo@chromium.org
Review URL: https://codereview.chromium.org/51033004
git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:24:08 +00:00
robertphillips@google.com
94bdd7e3fc
Fix bug in don't-reuse-scratch-textures path
...
https://codereview.chromium.org/50853003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12054 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 15:50:43 +00:00
skia.committer@gmail.com
7ed98df9ba
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12043 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 07:01:53 +00:00
robertphillips@google.com
cb505101a2
No longer use scratch textures on ARM devices
...
https://codereview.chromium.org/50643003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12042 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 00:51:18 +00:00
senorblanco@chromium.org
f49a0955e2
Mac build fix.
...
TBR=robertphillips
Review URL: https://codereview.chromium.org/45963007
git-svn-id: http://skia.googlecode.com/svn/trunk@12039 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 22:14:24 +00:00
senorblanco@chromium.org
7a47ad3bac
Implement SSE2-based implementations of the morphology filters (dilate & erode). This gives a 3-5X speedup over the naive implementation, and also mitigates a timing-based security attack in Chrome ( https://code.google.com/p/chromium/issues/detail?id=251711 ).
...
NOTE: this will require a corresponding GYP change on the Skia roll into Chrome: https://codereview.chromium.org/52453004/
R=mtklein@google.com , reed@google.com
Review URL: https://codereview.chromium.org/52603004
git-svn-id: http://skia.googlecode.com/svn/trunk@12038 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 21:57:04 +00:00
robertphillips@google.com
2d2e5c4e24
Make not-reusing-scratch-textures only apply to texture uploads
...
https://codereview.chromium.org/53133002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12037 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 21:30:43 +00:00
vandebo@chromium.org
fd3c8c243a
Fix int/SkScalar mismatch.
...
Review URL: https://codereview.chromium.org/51043005
git-svn-id: http://skia.googlecode.com/svn/trunk@12035 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 21:00:47 +00:00
vandebo@chromium.org
3b416216d1
[PDF] Improve complex xfer mode support.
...
Xfer mode applies only to the shape of the source drawing, not everything in the clip as in currently implemented. It's just that the current gm examples draw a shape that fills the visible layer.
R=edisonn@google.com , reed@google.com
Review URL: https://codereview.appspot.com/4631078
git-svn-id: http://skia.googlecode.com/svn/trunk@12034 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 20:48:05 +00:00
commit-bot@chromium.org
c9424b8e6d
Don't check if shaders compile or program links in release Chromium
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/52843003
git-svn-id: http://skia.googlecode.com/svn/trunk@12032 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 20:03:16 +00:00
commit-bot@chromium.org
1ab9f737f0
Use SkPathRef gen id for SkPath::getGenerationID
...
R=mtklein@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/49693002
git-svn-id: http://skia.googlecode.com/svn/trunk@12029 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 18:57:55 +00:00
reed@google.com
4db592c408
remove contains(x,y) for rects and rrects ... not well defined, and unused
...
BUG=
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/51953003
git-svn-id: http://skia.googlecode.com/svn/trunk@12022 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 17:39:43 +00:00
robertphillips@google.com
4e5559af89
Allow specifying the max texture count on the bots
...
https://codereview.chromium.org/50413011/
git-svn-id: http://skia.googlecode.com/svn/trunk@12020 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 17:04:16 +00:00
reed@google.com
35fe7372b1
prototype for kerning api
...
BUG=
R=bungeman@google.com
Review URL: https://codereview.chromium.org/29363009
git-svn-id: http://skia.googlecode.com/svn/trunk@12018 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 15:07:03 +00:00
skia.committer@gmail.com
b77f0f4ae5
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12013 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 07:01:56 +00:00
robertphillips@google.com
7101abe5b3
Reverting r12010 (Use SkPathRef gen id for SkPath::getGenerationID https://codereview.chromium.org/49693002 ) due to test failures in PathTest on Android
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12012 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 22:45:37 +00:00
commit-bot@chromium.org
4cc7518d9b
Use SkPathRef gen id for SkPath::getGenerationID
...
R=mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/49693002
git-svn-id: http://skia.googlecode.com/svn/trunk@12010 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 21:34:55 +00:00
commit-bot@chromium.org
658e28b081
Remove SkMatrix44 float conversions without precision loss
...
BUG=none
R=reed@google.com
Author: enne@chromium.org
Review URL: https://codereview.chromium.org/50423004
git-svn-id: http://skia.googlecode.com/svn/trunk@12009 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 21:08:51 +00:00
commit-bot@chromium.org
950923b437
All SkAnnotations are no-draw. Propose we fold that through.
...
BUG=
R=edisonn@google.com , reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/48523008
git-svn-id: http://skia.googlecode.com/svn/trunk@12008 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 20:44:39 +00:00
commit-bot@chromium.org
89ff3dd5af
Little changes to SkAnnotation in pipe:
...
- store size in the op data field rather than separately (saves 4 bytes);
- trim out a malloc/memcpy in each of read and write;
- remove unused enum value;
- use the right _unpackOp function;
- make sure we call needOpBytes().
BUG=
R=reed@google.com , scroggo@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/50523004
git-svn-id: http://skia.googlecode.com/svn/trunk@12007 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 20:29:38 +00:00
commit-bot@chromium.org
7585479202
Allow SkLazyPixelRef to use SkScaledImageCache
...
- SkScaledImageCache:
- Add new FindAndLock/AddAndLock variants that work well with
SkLazyPixelRefs (take width, height, generation_id).
- Add static versions of these new variants.
- SkLazyPixelRef:
- If NULL passed in as SkImageCache* in the constructor, it will
now default to using the static SkScaledImageCache methods to
cache decoded images.
- If (fImageCache==NULL), the default allocator can be changed
with the setAllocator method. If (fImageCache!=NULL), the
SkImageCache handles allocation.
- CachedDecodingPixelRefTest to test the new functionality.
BUG=
R=scroggo@google.com , mtklein@google.com , reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/37343002
git-svn-id: http://skia.googlecode.com/svn/trunk@12006 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 19:55:00 +00:00
commit-bot@chromium.org
40258a5be9
Fix pipe/annotation.
...
We weren't keeping track of the annotation that's on the other side of the pipe.
BUG=skia:1761
R=scroggo@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/48273011
git-svn-id: http://skia.googlecode.com/svn/trunk@12004 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 19:23:26 +00:00
commit-bot@chromium.org
602b9608f5
Get rid of two unused variables from the .data section.
...
Before:
$ objdump -x out/Release/libskia_opts.a | grep "\.data" | c++filt
1 .data 00000000 0000000000000000 0000000000000000 000004ec 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000f58 2**2
0000000000000000 l d .data 0000000000000000 .data
2 .data 00000008 0000000000000000 0000000000000000 00001774 2**2
0000000000000000 l d .data 0000000000000000 .data
0000000000000000 g O .data 0000000000000004 debug_x
0000000000000004 g O .data 0000000000000004 debug_y
1 .data 00000000 0000000000000000 0000000000000000 00001d8c 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000054 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 000001f0 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000044 2**2
0000000000000000 l d .data 0000000000000000 .data
After:
$ objdump -x out/Release/libskia_opts.a | grep "\.data" | c++filt
1 .data 00000000 0000000000000000 0000000000000000 000004ec 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000f58 2**2
0000000000000000 l d .data 0000000000000000 .data
2 .data 00000000 0000000000000000 0000000000000000 00001774 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00001d8c 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000054 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 000001f0 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000044 2**2
0000000000000000 l d .data 0000000000000000 .data
Not sure why clang didn't catch them.
R=mtklein@google.com
BUG=
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/50013002
git-svn-id: http://skia.googlecode.com/svn/trunk@11999 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 15:32:09 +00:00
robertphillips@google.com
9ef0426e7c
Don't reuse scratch textures patch
...
https://codereview.chromium.org/24222004/
git-svn-id: http://skia.googlecode.com/svn/trunk@11997 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 14:06:15 +00:00
robertphillips@google.com
0b7ab3bb49
Fix bug in erosion filtering
...
https://codereview.chromium.org/50813002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11996 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 13:59:31 +00:00
skia.committer@gmail.com
70402c3168
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11992 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 07:01:50 +00:00
commit-bot@chromium.org
8ab77eae2c
Fix narrowing conversion errors from r11986
...
Although this function only gets used for SkMScalar=float, it gets
compiled in when SkMScalar=double.
R=epoger@google.com
BUG=1764
Author: enne@chromium.org
Review URL: https://codereview.chromium.org/49463005
git-svn-id: http://skia.googlecode.com/svn/trunk@11991 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 22:05:41 +00:00
commit-bot@chromium.org
c01ba70afc
Remove float/double conversions from SkMatrix44's map2_pf
...
BUG=chromium:303811
R=reed@google.com
Author: enne@chromium.org
Review URL: https://codereview.chromium.org/37693004
git-svn-id: http://skia.googlecode.com/svn/trunk@11986 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 20:20:54 +00:00
commit-bot@chromium.org
77e079af1a
Enabling validation code in serialization and adding serialization to fuzzer
...
BUG=
Committed: http://code.google.com/p/skia/source/detail?r=11968
R=reed@google.com , mtklein@google.com , senorblanco@chromium.org , bsalomon@google.com , robertphillips@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/44573002
git-svn-id: http://skia.googlecode.com/svn/trunk@11981 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 15:52:02 +00:00
commit-bot@chromium.org
42a895730f
Fix for issue 1728: raster vs. gpu text draws with the wrong color
...
The blend mode for LCD text was not set up correctly when using colors with alpha. This takes the color's alpha value
into account when setting up the blending function.
BUG=Skia:1728
R=bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/45363002
git-svn-id: http://skia.googlecode.com/svn/trunk@11980 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 15:13:50 +00:00
commit-bot@chromium.org
da3d69ce71
Fix broken MSAA for RGBA
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/46763003
git-svn-id: http://skia.googlecode.com/svn/trunk@11979 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 15:09:13 +00:00
robertphillips@google.com
3721ee652a
Reverting r11968 (Enabling validation code in serialization and adding serialization to fuzzer - https://codereview.chromium.org/44573002 ) due to failure on Chromium AllQuads test.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11974 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 12:08:52 +00:00
commit-bot@chromium.org
b2e9fa5298
Clean up the GrTHashTable API.
...
removeAt() and slowFindIndex() were only used by GrFontCache, and didn't really need to exist: they can be replaced by a simple remove() call. This new code should actually be faster; slowFindIndex() was O(N), and this should be O(lg N).
BUG=
R=bsalomon@google.com , jvanverth@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/43383006
git-svn-id: http://skia.googlecode.com/svn/trunk@11973 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-27 20:50:23 +00:00
skia.committer@gmail.com
0673efeea2
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11969 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-26 07:01:53 +00:00
commit-bot@chromium.org
d25d6c7b8e
Enabling validation code in serialization and adding serialization to fuzzer
...
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@chromium.org , bsalomon@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/44573002
git-svn-id: http://skia.googlecode.com/svn/trunk@11968 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-25 21:04:40 +00:00
bungeman@google.com
10ba006631
Allow users to build on top of, instead of beneath, SkRefCnt.
...
Alternative to r11811.
The Chromium half of this can be seen at https://codereview.chromium.org/40973002/ .
R=reed@google.com
Review URL: https://codereview.chromium.org/40503002
git-svn-id: http://skia.googlecode.com/svn/trunk@11967 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-25 18:40:24 +00:00
bungeman@google.com
72b8cb2320
onCharsToGlyphs to handle non-bmp on Mac.
...
CTFontGetGlyphsForCharacters is a strange API for non-bmp code points.
R=caryclark@google.com
Review URL: https://codereview.chromium.org/43463005
git-svn-id: http://skia.googlecode.com/svn/trunk@11965 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-25 17:49:08 +00:00
commit-bot@chromium.org
7edad87cdc
Compute clipped src rect once in tiled bitmap draws
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/40403002
git-svn-id: http://skia.googlecode.com/svn/trunk@11962 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-25 14:58:12 +00:00
bungeman@google.com
fb1663a0a5
Fix non-bmp in generateCharToGlyph on Mac.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11957 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 22:32:43 +00:00
bungeman@google.com
172c363a68
Add missing braces for r11955.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11956 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 21:50:12 +00:00
bungeman@google.com
3c996f8a15
Implement charToGlyph on remaining ports.
...
R=reed@google.com
Review URL: https://codereview.chromium.org/22859070
git-svn-id: http://skia.googlecode.com/svn/trunk@11955 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 21:39:35 +00:00
bsalomon@google.com
af562b437e
Tile large bitmaps that are clipped.
...
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/31033002
git-svn-id: http://skia.googlecode.com/svn/trunk@11951 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 17:52:07 +00:00
commit-bot@chromium.org
50a3043194
We want to give SkPixelRef a way to signal over to GrResourceCache that it's become pointless to keep around textures based on that SkPixelRef when its pixels change, so that it can be a good citizen and free those textures.
...
This adds an invalidation listener mechanism to SkPixelRef to let it send this message while still staying ignorant of who's listening.
These messages are tricky to deliver. The SkPixelRefs they originates from and the GrResourceCaches they ultimately end up at may be on different threads; neither class is threadsafe; their object lifetimes are totally independent; it's a many-senders-to-many-receivers relation; and neither codebase should really know about the other.
So I've added a per-message-type global message bus to broadcast messages to threadsafe inboxes. Anyone can post() a message, which will show up in all the inboxes of that type, read whenever the inbox's owner calls poll(). The implementation is _dumb_; it can be improved in several dimensions (inbox size limits, lock-free message delivery) if we find the need.
I took some care to make sure not to send the invalidation message for any SkPixelRef that's sharing a generation ID with another SkPixelRef.
BUG=
R=bsalomon@google.com , scroggo@google.com , reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26734003
git-svn-id: http://skia.googlecode.com/svn/trunk@11949 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 17:44:27 +00:00
senorblanco@chromium.org
34a849d00d
Fix drawBitmap() of scratch texture.
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/40163004
git-svn-id: http://skia.googlecode.com/svn/trunk@11947 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 15:59:31 +00:00
vandebo@chromium.org
ece95c32d5
[PDF] Add unpremultiply support and a GM (try5)
...
This is a resubmit of https://codereview.chromium.org/22831039 which was
reverted because it causes issues on Windows.
BUG=chromium:175548
R=edisonn@google.com
Review URL: https://codereview.chromium.org/37873003
git-svn-id: http://skia.googlecode.com/svn/trunk@11945 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 15:20:00 +00:00
commit-bot@chromium.org
c1cf5c0089
Borrow Android's ARMv6 memory barrier for SkOnce.
...
BUG=skia:1743
R=bungeman@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/34353009
git-svn-id: http://skia.googlecode.com/svn/trunk@11941 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 14:25:22 +00:00
robertphillips@google.com
0255a5d2fe
Minor changes
...
https://codereview.chromium.org/39973004/
git-svn-id: http://skia.googlecode.com/svn/trunk@11940 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 14:03:01 +00:00
commit-bot@chromium.org
ccecbbb2ea
Always create an instance when testing GrEffects for SkXfermode and SkArithmeticMode
...
Previously the TestCreate methods of the effects would create a static
instance and return that for all invocations. This is probably a
copy-paste error going back to initial TestCreate method in r8449. At
that time, the effect was always the same and thus static usage made
sense.
R=bsalomon@google.com , senorblanco@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/39393002
git-svn-id: http://skia.googlecode.com/svn/trunk@11939 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 13:33:32 +00:00
commit-bot@chromium.org
23267ceca2
Fix ModeColorFilterEffect assert during GLProgramsTest
...
Select random filter mode for the test-case until the mode is not
Dst. SkModeColorFilter with Dst mode will not create a
ModeColorFilterEffect, and thus the case is not implemented.
Also changes it so that each call to ModeColorFilterEffect::TestCreate
creates a new GrEffect. Previously only one static effect was ever
created, due to copy-paste error.
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/39403002
git-svn-id: http://skia.googlecode.com/svn/trunk@11938 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 13:29:38 +00:00
edisonn@google.com
83d8eda890
PDF: support perspective in simple shaders. (this version does not work well with tilling)
...
R=vandebo@chromium.org
Review URL: https://codereview.chromium.org/26389006
git-svn-id: http://skia.googlecode.com/svn/trunk@11937 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 13:19:28 +00:00
commit-bot@chromium.org
ac90d1d0b1
Replacing SkTDArray with SkAutoSTArray to reduce memory allocation overhead in SkTileGrid::search
...
BUG=https://code.google.com/p/skia/issues/detail?id=1735
R=tomhudson@chromium.org
Author: junov@chromium.org
Review URL: https://codereview.chromium.org/35633002
git-svn-id: http://skia.googlecode.com/svn/trunk@11936 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 11:24:38 +00:00
tomhudson@google.com
381010e550
Expose SkPicture::willPlayBackBitmaps()
...
This returns true if (1) the picture has finished recording and
(2) this picture or any picture drawn into it refers to any bitmaps.
It allows clients doing complicated manipulations of the picture to
early-out when there are no bitmaps present.
BUG=303281
R=reed@google.com
git-svn-id: http://skia.googlecode.com/svn/trunk@11935 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 11:12:47 +00:00
skia.committer@gmail.com
583b18a209
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11934 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 07:01:59 +00:00
commit-bot@chromium.org
bbfe4541ef
Apply matrix early in draw bitmap
...
Committed: http://code.google.com/p/skia/source/detail?r=11930
Reverted: https://code.google.com/p/skia/source/detail?r=11932
R=robertphillips@google.com , senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/30593003
git-svn-id: http://skia.googlecode.com/svn/trunk@11933 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 01:46:11 +00:00
scroggo@google.com
e9821871ec
Revert "Apply matrix early in draw bitmap"
...
This reverts commit 4c446c8eb50b7a6e6f917fae7b4c4ffe5658a949.
Fix build.
git-svn-id: http://skia.googlecode.com/svn/trunk@11932 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 22:19:06 +00:00
vandebo@chromium.org
ccf6b91a54
Revert "[PDF] Add unpremultiply support and a GM (try4)"
...
This reverts commit r11928
gm seems to crash on windows.
Review URL: https://codereview.chromium.org/38153003
git-svn-id: http://skia.googlecode.com/svn/trunk@11931 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 21:36:43 +00:00
commit-bot@chromium.org
25e5a20e65
Apply matrix early in draw bitmap
...
R=robertphillips@google.com , senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/30593003
git-svn-id: http://skia.googlecode.com/svn/trunk@11930 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 21:06:51 +00:00
vandebo@chromium.org
e66d376067
[PDF] Add unpremultiply support and a GM (try4)
...
This is a resubmit of https://codereview.chromium.org/22831039 which was
reverted because it causes issues on Windows (really, release builds).
BUG=chromium:175548
R=edisonn@google.com
Review URL: https://codereview.chromium.org/33493003
git-svn-id: http://skia.googlecode.com/svn/trunk@11928 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 20:17:29 +00:00
senorblanco@chromium.org
1a6382f5e7
Split up SkXfermode::asNewEffectOrCoeff() into asNewEffect(), asCoeff().
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/37593002
git-svn-id: http://skia.googlecode.com/svn/trunk@11926 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 18:41:36 +00:00
commit-bot@chromium.org
d594dbec04
Follow up to serialization validation code
...
1 ) Added check for bool to make sure is it either 0 or 1 and not garbage
2 ) Added more solid kernel size checks in SkMatrixConvolutionImageFilter
3 ) Make sure array size is validated in SkMergeImageFilter
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/23548034
git-svn-id: http://skia.googlecode.com/svn/trunk@11925 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 18:33:18 +00:00
commit-bot@chromium.org
c0b7e10c6a
Initial error handling code
...
I made it as simple as possible. The impact seems minimal and it should do what's necessary to make this code secure.
BUG=
Committed: http://code.google.com/p/skia/source/detail?r=11247
R=reed@google.com , scroggo@google.com , djsollen@google.com , sugoi@google.com , bsalomon@google.com , mtklein@google.com , senorblanco@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/23021015
git-svn-id: http://skia.googlecode.com/svn/trunk@11922 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 17:06:21 +00:00
commit-bot@chromium.org
759befb72c
use the supplied matrix instead of the texture w/h div for the bicubic GPU effect
...
BUG=
R=bsalomon@google.com , caryclark@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/37003005
git-svn-id: http://skia.googlecode.com/svn/trunk@11921 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 16:18:50 +00:00
commit-bot@chromium.org
a8aef8bf04
Lighting filter uses input on raster path
...
BUG=
R=senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/35703002
git-svn-id: http://skia.googlecode.com/svn/trunk@11918 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 15:33:44 +00:00
commit-bot@chromium.org
3f80dd5f01
Add support for reading non-rendertarget textures.
...
Also removes rendertarget flag from GrAtlas texture creation (no
longer needed) and re-enables GrFontCache::dump().
R=robertphillips@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/29263004
git-svn-id: http://skia.googlecode.com/svn/trunk@11917 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 15:32:39 +00:00
mtklein@google.com
338a66481e
TSAN build fix: forgot to pass the address into ANNOTATE_BENIGN_RACE.
...
BUG=
Review URL: https://codereview.chromium.org/37403002
git-svn-id: http://skia.googlecode.com/svn/trunk@11916 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 15:24:27 +00:00
commit-bot@chromium.org
1f81fd6546
SK_ONCE for SkData and SkPathRef
...
Adds SK_ONCE_FRIEND, to allow SK_DEF_ONCE code to be friends with a class. This had to go in include/core to be visible to headers there.
BUG=
R=reed@google.com , bungeman@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26491003
git-svn-id: http://skia.googlecode.com/svn/trunk@11914 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 14:44:08 +00:00
senorblanco@chromium.org
fbcd415aa0
Remove GrContext from SkXfermode::[Aa]sNewEffectOrCoeff() and all subclasses,
...
since it's unused.
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/31853003
git-svn-id: http://skia.googlecode.com/svn/trunk@11913 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 14:03:22 +00:00
commit-bot@chromium.org
a34995e18b
Implement SkColorFilter as a GrGLEffect
...
Adds GrEffect::willUseInputColor() which indicates whether or not the
input color affects the output of the effect. This is needed for
certain Xfermodes, such as kSrc_Mode. For these modes the color filter
will not use the input color.
An effect with GrEffect::willUseInputColor() true will cause all color
or coverage effects before it to be discarded, as their computations
cannot affect the output. In these cases program is marked as having
white input color.
This fixes an assert when Skia is compiled in a mode that prefers
using uniforms instead of attributes for constants. (Flags
GR_GL_USE_NV_PATH_RENDERING or GR_GL_NO_CONSTANT_ATTRIBUTES). Using
attributes hides the problem where the fragment shader does not need
input color for color filters that ignore DST part of the filter. The
assert would be hit when uniform manager tries to bind an uniform which
has been optimized away by the shader compiler.
Adds specific GrGLSLExpr4 and GrGLSLExpr1 classes. This way the GLSL
expressions like "(v - src.a)" can remain somewhat readable in form of
"(v - src.a())". The GrGLSLExpr<typename> template implements the
generic functionality, GrGLSLExprX is the specialization that exposes
the type-safe interface to this functionality.
Also adds operators so that GLSL binary operators of the form
"(float * vecX)" can be expressed in C++. Before only the equivalent
"(vecX * float)" was possible. This reverts the common blending
calculations to more conventional order, such as "(1-a) * c" instead of
"c * (1-a)".
Changes GrGLSLExpr1::OnesStr from 1 to 1.0 in order to preserve the
color filter blending formula string the same (with the exception of
variable name change).
Shaders change in case of input color being needed:
- vec4 filteredColor;
- filteredColor = (((1.0 - uFilterColor.a) * output_Stage0) + uFilterColor);
- fsColorOut = filteredColor;
+ vec4 output_Stage1;
+ { // Stage 1: ModeColorFilterEffect
+ output_Stage1 = (((1.0 - uFilterColor_Stage1.a) * output_Stage0) + uFilterColor_Stage1);
+ }
+ fsColorOut = output_Stage1;
Shaders change in case of input color being not needed:
-uniform vec4 uFilterColor;
-in vec4 vColor;
+uniform vec4 uFilterColor_Stage0;
out vec4 fsColorOut;
void main() {
- vec4 filteredColor;
- filteredColor = uFilterColor;
- fsColorOut = filteredColor;
+ vec4 output_Stage0;
+ { // Stage 0: ModeColorFilterEffect
+ output_Stage0 = uFilterColor_Stage0;
+ }
+ fsColorOut = output_Stage0;
}
R=bsalomon@google.com , robertphillips@google.com , jvanverth@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/25023003
git-svn-id: http://skia.googlecode.com/svn/trunk@11912 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 05:42:03 +00:00
bsalomon@google.com
7ce564cccb
Revert "If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance."
...
This reverts commit r11904
Review URL: https://codereview.chromium.org/35543002
git-svn-id: http://skia.googlecode.com/svn/trunk@11909 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 16:54:15 +00:00
reed@google.com
c294a97842
if fBitmap is still NULL, return false
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11908 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 16:17:29 +00:00
bsalomon@google.com
ad254fee73
If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.
...
Committed: http://code.google.com/p/skia/source/detail?r=11842
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/23484007
git-svn-id: http://skia.googlecode.com/svn/trunk@11904 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 13:19:12 +00:00
skia.committer@gmail.com
db6fa1729a
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11903 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 07:02:30 +00:00
robertphillips@google.com
dbbe1d437d
Revert r11880 (Apply matrix early in draw bitmap - https://codereview.chromium.org/30593003 ) due to layout test failure
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11899 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 21:30:49 +00:00
mtklein@google.com
4c2af74078
GrTHashCache -> GrTHashTable
...
The class is Table, but the file's Cache. That's confusing.
BUG=
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/32523004
git-svn-id: http://skia.googlecode.com/svn/trunk@11898 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 21:04:06 +00:00
scroggo@google.com
5ee18dd201
Image decoder fixes (mostly) around A8.
...
Opaquness:
When decoding Gray to A8 in libpng, set reallyHasAlpha to true
and add a comment why we do not check for the real answer.
Add comments in jpeg decoder explaining why A8 is not opaque.
Fix a bug where an A8 subset is considered to be opaque.
Other fixes:
In SkJPEGImageDecoder, only allocate as much memory as
needed for each source row, based on the input config.
Also pull out common code into a static function.
When performing the check for requiring unpremultiplied colors,
allow A8 to succeed, since that setting should have no effect on
A8.
Add the check for requiring unpremultiplied colors to subset
decoding.
Fix a bug where attempting to sample gray to A8 does not sample.
R=reed@google.com
Review URL: https://codereview.chromium.org/26210007
git-svn-id: http://skia.googlecode.com/svn/trunk@11897 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 20:47:31 +00:00
reed@google.com
114038a2e2
Revert "Revert "cache SkImage::Info calculation in lazypixelref""
...
This reverts commit 81eba32ab10f9210c742938819cf1218be5611c9.
ImageDecoder is changed to allow info to be NULL, since it is an output-only parameter.
R=scroggo@google.com
Review URL: https://codereview.chromium.org/33573002
git-svn-id: http://skia.googlecode.com/svn/trunk@11896 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 20:13:42 +00:00
reed@google.com
e986b221ee
Revert "cache SkImage::Info calculation in lazypixelref"
...
This reverts commit a2537480710aa10b9ab9f8aec98538b79539f47e.
git-svn-id: http://skia.googlecode.com/svn/trunk@11894 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 19:45:38 +00:00
reed@google.com
2590a91b64
cache SkImage::Info calculation in lazypixelref
...
BUG=
R=scroggo@google.com
Review URL: https://codereview.chromium.org/28493003
git-svn-id: http://skia.googlecode.com/svn/trunk@11893 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 18:58:17 +00:00
robertphillips@google.com
950b1b079a
Fix out of order destruction error
...
https://codereview.chromium.org/33203002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11888 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 17:37:28 +00:00
commit-bot@chromium.org
8c294900f3
Add DPI stettings to SkDocument::CreatePDF(). Tests will be added in a future cl, once DPI will be used in SkPDFDevice
...
R=reed@google.com , bungeman@google.com , vandebo@chromium.org
Author: edisonn@google.com
Review URL: https://codereview.chromium.org/32233003
git-svn-id: http://skia.googlecode.com/svn/trunk@11886 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 17:14:37 +00:00
commit-bot@chromium.org
4b7d673089
More clang warning fixes.
...
Mostly unused functions and variables removed.
BUG=None
TEST=ninja -C out/Debug most
ninja -C out/Release most
R=bsalomon@google.com , caryclark@google.com , robertphillips@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/27933002
git-svn-id: http://skia.googlecode.com/svn/trunk@11884 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 16:41:00 +00:00
commit-bot@chromium.org
f642f8cf90
Magnifier gpu path fix
...
The y axis was inverted for the offset, which should have been computed on the other side of the magnifying rectangle.
BUG=
R=bsalomon@google.com , senorblanco@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/28273005
git-svn-id: http://skia.googlecode.com/svn/trunk@11883 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 15:59:26 +00:00
commit-bot@chromium.org
8e919add40
Fix GrProgramsTest to not generate tests with too many TexCoord references
...
Make GrProgramsTest check how many texture coordinate sets are
available and select random effects up until the amount runs out.
Otherwise, following effect sequence would fail the shader compilation
when Skia is compiled with nv_path_rendering on (eg. when fixed
function codepath is used):
* Stage 0: TextureDomain (1 texcoord)
* Stage 1: Convolution (1 texcoord)
* Stage 2: Bitmap Alpha Threshold (2 texcoords)
* Stage 3: DisplacementMap (2 texcoords)
* Stage 4: Config Conversion (1 texcoords)
* Stage 5: Two-Point Conical Gradient (2 texcoords)
This would use more texture coordinate sets than 8, which is fairly
common amount currently.
R=bsalomon@google.com , cdalton@nvidia.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/32403002
git-svn-id: http://skia.googlecode.com/svn/trunk@11881 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 14:48:23 +00:00
commit-bot@chromium.org
15455b2a13
Apply matrix early in draw bitmap
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/30593003
git-svn-id: http://skia.googlecode.com/svn/trunk@11880 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 14:48:17 +00:00
reed@google.com
e7e29b7815
scope ComputeIsOpaque with SkBitmap
...
BUG=
Review URL: https://codereview.chromium.org/32653002
git-svn-id: http://skia.googlecode.com/svn/trunk@11879 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 14:31:20 +00:00
reed@google.com
9cd697c696
change ERROR label to BAD_CONFIG -- avoid windows complaint
...
BUG=
Review URL: https://codereview.chromium.org/32623002
git-svn-id: http://skia.googlecode.com/svn/trunk@11878 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 14:12:13 +00:00
reed@google.com
383a697692
store SkAlphaType inside SkBitmap, on road to support unpremul
...
BUG=
R=bsalomon@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/25275004
git-svn-id: http://skia.googlecode.com/svn/trunk@11877 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 14:00:07 +00:00
robertphillips@google.com
c2eae47954
Reverting revert of r11862 (Constify SkFlattenable::getFactory()) or reverting r11871.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11876 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 12:26:10 +00:00
senorblanco@chromium.org
2a4223c783
Fix for cropped matrix convolution for BottomLeft render targets.
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/31083002
git-svn-id: http://skia.googlecode.com/svn/trunk@11872 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-20 20:21:19 +00:00
robertphillips@google.com
b5e391025e
Reverted due to Chromium compilation failures. Please see:
...
https://codereview.chromium.org/30973002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11871 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-20 13:34:21 +00:00
robertphillips@google.com
123671901a
Fix cubic->quad RR corner regression
...
https://codereview.chromium.org/29673002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11870 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-20 13:11:16 +00:00
vandebo@chromium.org
1c87672883
Revert "[PDF] Add unpremultiply support and a GM (try3)."
...
This is crashing in some configurations, can now repro.
This reverts commit 12add177d0ab7bbac97f5093c9382924d88bde8c.
Review URL: https://codereview.chromium.org/29903002
git-svn-id: http://skia.googlecode.com/svn/trunk@11868 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 21:04:51 +00:00
vandebo@chromium.org
59fd223870
[PDF] Add unpremultiply support and a GM (try3).
...
This is a resubmit of https://codereview.chromium.org/22831039 which was
reverted because it causes issues on Windows.
BUG=chromium:175548
R=edisonn@google.com
Review URL: https://codereview.chromium.org/29193003
git-svn-id: http://skia.googlecode.com/svn/trunk@11866 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 20:18:29 +00:00
vandebo@chromium.org
dc37e20647
Revert "PDF: support perspective in simple shaders. (this version does not work well with tilling)"
...
Accidentally committed the wrong git branch.
This reverts commit 76839c65670df8a863041a82a4b61502e78af043.
Review URL: https://codereview.chromium.org/29743002
git-svn-id: http://skia.googlecode.com/svn/trunk@11865 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 20:16:34 +00:00
vandebo@chromium.org
eb5992c6cc
PDF: support perspective in simple shaders. (this version does not work well with tilling)
...
Review URL: https://codereview.chromium.org/26389006
git-svn-id: http://skia.googlecode.com/svn/trunk@11864 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 20:14:08 +00:00
senorblanco@chromium.org
7938bae14a
Implement crop rect support for SkMatrixConvolutionImageFilter.
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/27471002
git-svn-id: http://skia.googlecode.com/svn/trunk@11863 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 20:08:14 +00:00
commit-bot@chromium.org
575604d4c2
Constify SkFlattenable::getFactory().
...
This allows us to also constify the argument of
SkFlattenableWriteBuffer::writeFlattenable() - which I've recently found
myself const-casting for no apparent good reason.
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/29143005
git-svn-id: http://skia.googlecode.com/svn/trunk@11862 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 19:37:55 +00:00
vandebo@chromium.org
ce60c1fc5d
Revert "[PDF] Add unpremultiply support and a GM."
...
This reverts commit f746273b8ba282f548a6eaffb45b11b6f468aa8e.
Review URL: https://codereview.chromium.org/29343002
git-svn-id: http://skia.googlecode.com/svn/trunk@11858 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 16:10:03 +00:00
vandebo@chromium.org
c4d17716cd
[PDF] Add unpremultiply support and a GM.
...
This is a resubmit of https://codereview.chromium.org/22831039 which was
reverted because it causes issues on Windows.
BUG=chromium:175548
R=edisonn@google.com
Review URL: https://codereview.chromium.org/27518003
git-svn-id: http://skia.googlecode.com/svn/trunk@11857 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 15:53:03 +00:00
commit-bot@chromium.org
6ee68583f8
SkThreadPool: allow for Runnables that add other Runnables to the pool.
...
There's a scenario that we're currently not allowing for, but I'd really like to use in DM:
1) client calls add(SomeRunnable*) several times
2) client calls wait()
3) any of the runnables added by the client _themselves_ call add(SomeOtherRunnable*)
4-inf) maybe those SomeOtherRunnables too call add(SomeCrazyThirdRunnable*), etc.
Right now in this scenario we'll assert in debug mode in step 3) when we call
add() and we're waiting to stop, and do strange unspecified things in release
mode.
The old threadpool had basically two states: running, and waiting to stop. If
a thread saw we were waiting to stop and the queue was empty, that thread shut
down. This wasn't accounting for any work that other threads might be doing;
potentially they were about to add to the queue.
So now we have three states: running, waiting, and halting. When the client
calls wait() (or the destructor triggers), we move into waiting. When a thread
notices we're _really_ done, that is, have an empty queue and there are no
active threads, we move into halting. The halting state actually triggers the
threads to stop, which wait() is patiently join()ing on.
BUG=
R=bungeman@google.com , bsalomon@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26389005
git-svn-id: http://skia.googlecode.com/svn/trunk@11852 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 14:19:19 +00:00
skia.committer@gmail.com
f84ad8f7fc
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11850 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 07:01:59 +00:00
senorblanco@chromium.org
1aa68723b8
Make SkImageFilter::asNewEffect() (and all derived-class overrides) protected.
...
R=bsalomon@google.com , bsalomon
Review URL: https://codereview.chromium.org/26937006
git-svn-id: http://skia.googlecode.com/svn/trunk@11847 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 19:35:09 +00:00
robertphillips@google.com
32bbcf828d
Add texture filtering override to debugger
...
https://codereview.chromium.org/27716003/
git-svn-id: http://skia.googlecode.com/svn/trunk@11846 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 17:56:10 +00:00
robertphillips@google.com
c2cc1dbe81
Revert r11842 (call drawRect to try GrAARectRenderer if the path is a rect - https://codereview.chromium.org/23484007 ) due to changes to the following GM images:
...
inverse_paths
pathopsinverse
git-svn-id: http://skia.googlecode.com/svn/trunk@11845 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 17:34:20 +00:00
commit-bot@chromium.org
4256d2494e
Add support for GL_CHROMIUM_renderbuffer_format_BGRA8888
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/27525006
git-svn-id: http://skia.googlecode.com/svn/trunk@11844 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:41 +00:00
commit-bot@chromium.org
cd7992ba55
ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs
...
Xfermode: NEON implementation of SIMD procs
This patch contains a NEON implementation for a number of Xfermodes.
It provides a big speedup on Xfermode benchmarks (currently up to 3x
with gcc4.7 but up to 10x when gcc produces optimal code for it).
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
Committed: http://code.google.com/p/skia/source/detail?r=11777
Committed: http://code.google.com/p/skia/source/detail?r=11813
R=djsollen@google.com , mtklein@google.com , reed@google.com , robertphillips@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/26627004
git-svn-id: http://skia.googlecode.com/svn/trunk@11843 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:34 +00:00
commit-bot@chromium.org
521a46750d
If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.
...
R=bsalomon@google.com , robertphillips@google.com , reed@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23484007
git-svn-id: http://skia.googlecode.com/svn/trunk@11842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:21 +00:00
robertphillips@google.com
627f66283b
Disable r11835 (Replace cubic round rect corners with quads) due to performance regression
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11841 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:25 +00:00
robertphillips@google.com
1cc385b7a4
Replace cubic round rect corners with quads
...
https://codereview.chromium.org/26372006/
git-svn-id: http://skia.googlecode.com/svn/trunk@11835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 12:17:27 +00:00
skia.committer@gmail.com
4677acc759
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11834 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 07:02:33 +00:00
robertphillips@google.com
dfe0f43e11
Reverting r11813 (ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs - https://codereview.chromium.org/26627004 ) due to Chromium compilation faliures.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11833 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 00:09:17 +00:00
sugoi@google.com
536dc83c58
Build fix fo windows only
...
Build fix
git-svn-id: http://skia.googlecode.com/svn/trunk@11828 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 19:34:27 +00:00
junov@google.com
0315ed8e5f
Build fix for chromium shared component build
...
BUG=304265
TBR=reed@google.com
Review URL: https://codereview.chromium.org/27082003
git-svn-id: http://skia.googlecode.com/svn/trunk@11827 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 19:14:42 +00:00
reed@google.com
4cc18156c2
catch the other case where we need to see if fScaledBitmap.lockPixels() might have failed
...
2nd-half clone of https://codereview.chromium.org/26273006/
BUG=chromium:295895
Review URL: https://codereview.chromium.org/26973006
git-svn-id: http://skia.googlecode.com/svn/trunk@11825 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 19:13:29 +00:00
commit-bot@chromium.org
34150b451d
Clear out SK_SCALAR_IS_FLOAT from SkRadialGradient, and merge the logic for radial_mirror and radial_repeat.
...
New radial/repeated bench is 10-20x faster now using float instead of fixed; the rest are unaffected.
BUG=
R=reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26410003
git-svn-id: http://skia.googlecode.com/svn/trunk@11824 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:59:44 +00:00
edisonn@google.com
9cf0cb169b
Implement perspective for bitmaps in pdf.
...
R=vandebo@chromium.org
Review URL: https://codereview.chromium.org/27236007
git-svn-id: http://skia.googlecode.com/svn/trunk@11822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:32:35 +00:00
jvanverth@google.com
c7a40fad0b
Split out GrBitmapTextContext from GrTextContext.
...
This is a stepping stone to having a variety of different text context types
(bitmaps, distance fields, NV path rendering).
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/27199002
git-svn-id: http://skia.googlecode.com/svn/trunk@11820 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:15:34 +00:00
senorblanco@chromium.org
3f1f2a3a59
Make CropRect immutable after construction.
...
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/27490005
git-svn-id: http://skia.googlecode.com/svn/trunk@11819 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:07:48 +00:00
robertphillips@google.com
3e7e992a8a
Add display of filterLevel to debugger
...
https://codereview.chromium.org/27525002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11818 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 17:53:18 +00:00
robertphillips@google.com
e9cd27d4a3
Third wave of Win64 warning cleanup
...
https://codereview.chromium.org/27487003/
git-svn-id: http://skia.googlecode.com/svn/trunk@11817 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 17:48:11 +00:00
reed@google.com
1ae6c2b012
check of fScaledBitmap failed to lock
...
BUG=
Review URL: https://codereview.chromium.org/27530003
git-svn-id: http://skia.googlecode.com/svn/trunk@11816 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 17:34:17 +00:00
commit-bot@chromium.org
b4c29c5363
ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs
...
Xfermode: NEON implementation of SIMD procs
This patch contains a NEON implementation for a number of Xfermodes.
It provides a big speedup on Xfermode benchmarks (currently up to 3x
with gcc4.7 but up to 10x when gcc produces optimal code for it).
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
Committed: http://code.google.com/p/skia/source/detail?r=11777
R=djsollen@google.com , mtklein@google.com , reed@google.com , robertphillips@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/26627004
git-svn-id: http://skia.googlecode.com/svn/trunk@11813 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 16:24:08 +00:00
senorblanco@chromium.org
8b66abb9bc
Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome.
...
BUG=
R=reed@google.com , reed
Review URL: https://codereview.chromium.org/27521002
git-svn-id: http://skia.googlecode.com/svn/trunk@11812 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 15:46:00 +00:00
commit-bot@chromium.org
fe070ba6d8
Make sure attribute indexes are correct after restoring vertex attributes
...
Fix an assert due to
GrDrawState::CommonState::fFixedFunctionVertexAttribIndices getting
out of sync. The assertion in GrDrawState::CommonState::operator==
would fire after using AutoVertexAttribRestore.
AutoVertexAttribRestore would change GrDrawState::fCommon.fVAPtr and
fVACount without updating
GrDrawState::fCommon.fFixedFunctionVertexAttribIndices.
R=jvanverth@google.com , bsalomon@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/26922004
git-svn-id: http://skia.googlecode.com/svn/trunk@11807 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 14:43:12 +00:00
commit-bot@chromium.org
6397217b30
detach blur result texture when it is the same texture used to render path mask
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/26968006
git-svn-id: http://skia.googlecode.com/svn/trunk@11805 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 13:53:54 +00:00
reed@google.com
353482251e
force readbuffer clients to use specialized readFoo for flattenables
...
BUG=
R=mtklein@google.com
Review URL: https://codereview.chromium.org/26702002
git-svn-id: http://skia.googlecode.com/svn/trunk@11803 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 13:05:06 +00:00
skia.committer@gmail.com
472629190e
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11800 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 07:02:24 +00:00
robertphillips@google.com
f8dd38424c
Reverting r11777 (ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs) due to Chromium compilation failure
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11799 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 01:12:38 +00:00
commit-bot@chromium.org
607b3a93e0
Guard colorNames variable under SK_SUPPORT_UNITTEST.
...
That way clang does not complain with unneeded-internal-declaration warning,
because otherwise to clang this variable is unused and thus it won't
emit code for it.
The warning is:
../../src/utils/SkParseColor.cpp:35:3: error: variable 'colorNames' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration]
} colorNames[] = {
R=bsalomon@google.com , robertphillips@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/27229004
git-svn-id: http://skia.googlecode.com/svn/trunk@11798 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 23:01:08 +00:00
commit-bot@chromium.org
2f92966c6a
Remove SkDataTable from SkFlattenable hierarchy.
...
As far as I can tell, we never really needed this. No code outside the unit
test calls this code.
BUG=
R=reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26223009
git-svn-id: http://skia.googlecode.com/svn/trunk@11792 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 20:39:57 +00:00
commit-bot@chromium.org
e0e1da34f3
Remove SkColorTable from SkFlattenable hierarchy.
...
BUG=
R=reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/27392002
git-svn-id: http://skia.googlecode.com/svn/trunk@11791 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 20:36:16 +00:00
reed@google.com
23d0ab7241
return false if we can't scale, to force us to try to lock the original and then proceed
...
BUG=
R=wangxianzhu@chromium.org
Review URL: https://codereview.chromium.org/27382002
git-svn-id: http://skia.googlecode.com/svn/trunk@11789 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 20:14:00 +00:00
commit-bot@chromium.org
db62709fc1
Turn clear-to-white-then-intersect clips into clear-to-black-then-replace
...
R=robertphillips@google.com , brian@thesalomons.net
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/27170003
git-svn-id: http://skia.googlecode.com/svn/trunk@11786 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 20:04:07 +00:00
senorblanco@chromium.org
01bdf3c568
Add crop rect support for SkDisplacementMapEffect (raster and GPU paths).
...
Covered by new test cases added to displacement GM (will require rebaseline).
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/26531002
git-svn-id: http://skia.googlecode.com/svn/trunk@11782 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 19:02:43 +00:00
bungeman@google.com
b8aa4ddb2d
Fix off by one error in last advanceCount in SkFontHost_FreeType.
...
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/27338003
git-svn-id: http://skia.googlecode.com/svn/trunk@11781 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 18:50:00 +00:00
robertphillips@google.com
8b169311b5
Second wave of Win64 warning cleanup
...
https://codereview.chromium.org/27343002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11778 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 17:47:36 +00:00
commit-bot@chromium.org
baa15581f6
ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs
...
Xfermode: NEON implementation of SIMD procs
This patch contains a NEON implementation for a number of Xfermodes.
It provides a big speedup on Xfermode benchmarks (currently up to 3x
with gcc4.7 but up to 10x when gcc produces optimal code for it).
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
R=djsollen@google.com , mtklein@google.com , reed@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/26627004
git-svn-id: http://skia.googlecode.com/svn/trunk@11777 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 16:18:40 +00:00
reed@google.com
b58ba8912a
account for inverse-paths when we prealloc storage in the rgn-builder
...
test inversepath->rgn
BUG=
R=caryclark@google.com
Review URL: https://codereview.chromium.org/27222005
git-svn-id: http://skia.googlecode.com/svn/trunk@11776 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 15:44:35 +00:00
senorblanco@chromium.org
33e88b7b93
SkRectShaderImageFilter: add a new factory method which takes a CropRect.
...
This will become the preferred API, and the old Create method will be deprecated.
R=reed@google.com , reed
BUG=
Review URL: https://codereview.chromium.org/26220004
git-svn-id: http://skia.googlecode.com/svn/trunk@11773 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 15:25:18 +00:00
commit-bot@chromium.org
0d0bb83c05
remove clipstack/region bounds assertion
...
BUG=skia_1720
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/26237010
git-svn-id: http://skia.googlecode.com/svn/trunk@11772 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 15:14:43 +00:00
bsalomon@google.com
8aaac8da36
Fix build break in assert
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11771 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 14:35:06 +00:00
commit-bot@chromium.org
6b7938f9cb
separate state for msaa renderability
...
R=robertphillips@google.com , brian@thesalomons.net
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/26695005
git-svn-id: http://skia.googlecode.com/svn/trunk@11770 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 14:18:16 +00:00
skia.committer@gmail.com
fbc58a3055
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11769 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 07:02:27 +00:00
robertphillips@google.com
adacc7067a
Start cleaning up 64bit Win warnings
...
https://codereview.chromium.org/27192003/
git-svn-id: http://skia.googlecode.com/svn/trunk@11764 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 21:53:24 +00:00
halcanary@google.com
04b57f87ab
Runtime configuration setting for suppressing JPEG decoder errors.
...
Add new runtime config variable, images.jpeg.suppressDecoderErrors
which defaults to false in Debug and true otherwise. When Jpeg errors
are suppressed and an error happens, SkJPEGImageDecoder::onDecode()
will return silently false (Consequently, so will SkImageDecoder's
DecodeFile() and DecodeMemory() functions).
Also, the test_image_decoder program now respects runtime
configuration settings.
BUG=skia:1680
R=scroggo@google.com
Review URL: https://codereview.chromium.org/27230002
git-svn-id: http://skia.googlecode.com/svn/trunk@11763 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 20:08:48 +00:00
reed@google.com
0cd2ac6c72
change SkAnnotation to not inherit from SkFlattenable (does not need dynamic factories)
...
BUG=
R=scroggo@google.com
Review URL: https://codereview.chromium.org/26606004
git-svn-id: http://skia.googlecode.com/svn/trunk@11762 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 20:02:44 +00:00
commit-bot@chromium.org
ea476e1725
swizzle color table if necessary
...
R=reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/27224003
git-svn-id: http://skia.googlecode.com/svn/trunk@11761 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 18:29:23 +00:00
reed@google.com
4979f32cd3
remove SkDataSet, and just store a key/value in SkAnnotation
...
BUG=
R=mtklein@google.com
Review URL: https://codereview.chromium.org/27208002
git-svn-id: http://skia.googlecode.com/svn/trunk@11759 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 16:49:15 +00:00
commit-bot@chromium.org
790c3f4e09
Remove need for readFlattenableT from SkLightingImageFilter.
...
This will need new picture version.
BUG=
R=reed@android.com , sugoi@google.com , senorblanco@chromium.org , reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26594008
git-svn-id: http://skia.googlecode.com/svn/trunk@11758 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 16:28:56 +00:00
commit-bot@chromium.org
7388051d74
Move renderable config list to GrDrawTargetCaps
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/26342006
git-svn-id: http://skia.googlecode.com/svn/trunk@11756 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 15:33:45 +00:00
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
commit-bot@chromium.org
5e00989a28
Add SkPDFDeviceFlatenner which extends SkPDFDevice to add support to flatten the path and the text when we have perspective.
...
prepare to deprecate SkPDFDevice constructor, and route gm and render_pdfs to use SkDocument::Create pdf interface instead. - controlled by a flag
add comments where we are supposed to flatten other features (paint, shaders, ... )
R=reed@google.com , bungeman@google.com , scroggo@google.com , vandebo@chromium.org , bsalomon@google.com
Author: edisonn@google.com
Review URL: https://codereview.chromium.org/24811002
git-svn-id: http://skia.googlecode.com/svn/trunk@11751 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 13:42:12 +00:00
commit-bot@chromium.org
1108fc3058
Remove SkLumaXfermode.
...
Possibly the shortest-lived Skia feature, SkLumaXfermode is now replaced
by a color filter implementation (SkLumaColorFilter). All known existing
clients (Blink) have been converted.
R=reed@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/26916002
git-svn-id: http://skia.googlecode.com/svn/trunk@11750 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 13:11:11 +00:00
halcanary@google.com
2a10318814
Simplify code for configuring suppression of ImageDecoder warnings
...
For images.png.suppressDecoderWarnings and
images.jpeg.suppressDecoderWarnings, the default behavior is now:
Debug - DON'T suppress
Developer Release - suppress
Release - suppress
This behavior can be changed in Debug and in Developer through
the SkRTConf mechanism.
BUG=skia:1680
R=caryclark@google.com
Review URL: https://codereview.chromium.org/26863003
git-svn-id: http://skia.googlecode.com/svn/trunk@11749 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 12:49:15 +00:00
bungeman@google.com
18252fe126
Add stdio include to SkFonrConfigParser_android.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11745 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 20:13:41 +00:00
bungeman@google.com
85302969fc
Try to work around VS2010 intsafe/stdint multiple define issues.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11744 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 20:04:08 +00:00
bungeman@google.com
72e8324f0e
Add stdio include to SkDebug_android.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11743 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 19:47:36 +00:00
bungeman@google.com
2c8e9d40a4
Add stdio include for Android specific code in SkRegion.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11741 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 19:23:56 +00:00
bungeman@google.com
3dc82c4470
Correct 32bit pointer assumption in assert in SkMatrix.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11739 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 19:11:10 +00:00
bungeman@google.com
fab44db294
Clean up SkTypes.h.
...
This change removes sk_stdint.h since it is only needed for vs2008 and earlier.
This change removes SK_MMAP_SUPPORT define since it is no longer used.
This change removes the stdio.h include from SkTypes.h since on many systems
this is a very large header, few Skia files actually use it, it is
available everywhere standard, and SkDebugf should be used instead.
After this change there is no need for external users to put Skia's
include/config into their own list of includes, saving the headache
of having two header files of the same name and sometimes getting the
wrong one depending on include order.
R=bsalomon@google.com , djsollen@google.com
Review URL: https://codereview.chromium.org/27044002
git-svn-id: http://skia.googlecode.com/svn/trunk@11738 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 18:50:45 +00:00
halcanary@google.com
29d4e63864
GIF decode: optional error messages and fault tolerance.
...
Add new runtime configuration variable,
images.gif.suppressDecoderWarnings, which suppresses warning and
errors from the GIF library. It defaults to "true", which is current
behavior.
(This setting can be changed by setting the environment variable
skia_images_gif_suppressDecoderWarnings="false".)
Some conditions which were errors before are now warnings:
- If the image width or height is greater than the GIF screen width or
height (respectively) we expand the screen to hold the image.
- If the offset of the image inside the screen would place the
image outside of the screen, we shift the image to fix this.
- If the image lacks a color table, we create a default color table.
- If the image is truncated, then the rest of the image is filled with
the fill color.
In all four cases, if images.gif.suppressDecoderWarnings is set to
false, then a warning message is printed via SkDebugf.
In the event of another kind of error, SkGIFImageDecoder::onDecode()
will still return false. But with this change, if
images.gif.suppressDecoderWarnings is set to false, a description of
the error is printed via SkDebugf.
Also, added a new unit test GifTest, which tests the deconing of both
good GIf files and corrupted files that should now work with this
change. This unit test is disabled on Win32, iOS, and Mac.
BUG=skia:1689
R=scroggo@google.com
Review URL: https://codereview.chromium.org/26743002
git-svn-id: http://skia.googlecode.com/svn/trunk@11734 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 18:21:56 +00:00
senorblanco@chromium.org
5e85300729
SkRectShaderImageFilter: add a workaround for the zero-sized rects currently passed by Blink.
...
BUG=306488
R=robertphillips@google.com , robertphillips
Review URL: https://codereview.chromium.org/26799004
git-svn-id: http://skia.googlecode.com/svn/trunk@11733 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 17:57:47 +00:00
senorblanco@chromium.org
e9d61ed8c4
Use #if insteadof #ifdef DYNAMIC_ANNOTATIONS_ENABLED. It's always defined, just to 0 or 1.
...
BUG=
R=mtklein
Review URL: https://codereview.chromium.org/26358010
git-svn-id: http://skia.googlecode.com/svn/trunk@11731 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 16:45:50 +00:00
robertphillips@google.com
1f1b4aa06a
Fix double ref issue in SkPDFFont ctor
...
https://codereview.chromium.org/26799003/
git-svn-id: http://skia.googlecode.com/svn/trunk@11724 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 14:27:16 +00:00
commit-bot@chromium.org
21a705d2eb
SK_ONCE for SkMatrix::I()
...
Going to start doing these in progressively larger and larger bulk,
but I figured the first few changes probably merit caution.
BUG=
R=reed@google.com , bungeman@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26905002
git-svn-id: http://skia.googlecode.com/svn/trunk@11721 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 21:58:31 +00:00
senorblanco@chromium.org
e258eb34a8
Implement crop rect support for SkRectShaderImageFilter: remove fRect and use the cropRect from SkImageFilter in its place.
...
R=reed@google.com
Review URL: https://codereview.chromium.org/26009004
git-svn-id: http://skia.googlecode.com/svn/trunk@11720 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 21:36:48 +00:00
commit-bot@chromium.org
d494b09f55
Align SkLumaColorFilter with the spec.
...
The spec requires the resulting RGB channels for LuminanceToAlpha to be
0 (and not just scaled by the luminance value</facepalm>):
| R' | | 0 0 0 0 0 | | R |
| G' | | 0 0 0 0 0 | | G |
| B' | = | 0 0 0 0 0 | * | B |
| A' | | 0.2125 0.7154 0.0721 0 0 | | A |
| 1 | | 0 0 0 0 1 | | 1 |
(http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#feColorMatrixElement )
This doesn't affect luminance masking (which depends only on the
resulting alpha channel), but other color filter users may care
about all color components.
R=bsalomon@google.com , reed@google.com , robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/26467003
git-svn-id: http://skia.googlecode.com/svn/trunk@11713 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 20:13:51 +00:00
commit-bot@chromium.org
a7538baeae
SkThreadPool: tweak two little things that have been annoying me
...
1) it's pretty annoying that SkThreadPool doesn't include SkRunnable for us;
2) add wait() so we don't have to keep using SkAutoTDelete/free() to wait for completion.
BUG=
R=scroggo@google.com , reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26470005
git-svn-id: http://skia.googlecode.com/svn/trunk@11711 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 18:49:04 +00:00
reed@google.com
fb6deed66c
make explicit the requirement that all colorfilters are reentrant-safe
...
BUG=
R=mtklein@google.com
Review URL: https://codereview.chromium.org/26876002
git-svn-id: http://skia.googlecode.com/svn/trunk@11705 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 17:35:58 +00:00
robertphillips@google.com
0197b32bfb
Always clear dest in SkBitmap::copyTo's draw path
...
https://codereview.chromium.org/26268003/
git-svn-id: http://skia.googlecode.com/svn/trunk@11697 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 15:48:16 +00:00
reed@google.com
0a6151d66c
Revert "Revert "change SkColorTable to be immutable""
...
This reverts commit b8162cb840f4cb6002ef68d5ac775c6a122c52a9.
Fixed was call-sites in benches that used the (now gone) setIsOpaque api.
R=scroggo@google.com
Review URL: https://codereview.chromium.org/26572006
git-svn-id: http://skia.googlecode.com/svn/trunk@11695 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 14:44:56 +00:00
senorblanco@chromium.org
b295fb6ff3
Change SkImageFilter's cropRect from SkIRect to a CropRect struct, containing an SkRect and flags indicating which parameters are set.
...
NOTE: this will require SK_CROP_RECT_IS_INT=1 to be set in Chrome until Blink has been updated to use SkImageFilter::CropRect. Include https://codereview.chromium.org/26528002/ with the Skia roll.
Note also that SK_CROP_RECT_IS_INT is a temporary measure until all call sites in Blink have been updated to use SkRect.
R=reed@google.com
Review URL: https://codereview.chromium.org/26371002
git-svn-id: http://skia.googlecode.com/svn/trunk@11692 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 13:51:19 +00:00
skia.committer@gmail.com
f29c380289
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11691 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 07:01:40 +00:00
commit-bot@chromium.org
824c346b6e
Express (GLSL expression, possibly known value) pairs as a class
...
Express (GLSL expression, possibly known value) pairs as a class
instead of two variables Introduces GrGLSLExpr<N> to encapsulate
the expression and possibly constant-folded value of the expression.
This simplifies passing of the expressions to functions.
Changes the shaders with following patterns:
{ // Stage 0: Linear Gradient
vec4 colorTemp = mix(uGradientStartColor_Stage0, uGradientEndColor_Stage0, clamp(vMatrixCoord_Stage0.x, 0.0, 1
colorTemp.rgb *= colorTemp.a;
- output_Stage0 = vec4((vColor) * (colorTemp));
+ output_Stage0 = (vColor * colorTemp);
+ }
Previously the vector cast was always added if constant folding was
effective, regardless of the term dimensions. Now the vector upcast is
not inserted in places where it is not needed, ie. when the binary
operator term is of the target dimension.
Also, some parentheses can be omitted. It is assumed that
GrGLSLExpr<N>("string") constructors construct a simple expression or
parenthesized expression.
Otherwise the shader code remains identical.
R=jvanverth@google.com , bsalomon@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/25048002
git-svn-id: http://skia.googlecode.com/svn/trunk@11690 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 06:30:18 +00:00