Commit Graph

9966 Commits

Author SHA1 Message Date
caryclark@google.com
02352d14d4 remove more unused static functions
git-svn-id: http://skia.googlecode.com/svn/trunk@12379 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 15:05:05 +00:00
caryclark@google.com
111417aae9 remove unused static function
git-svn-id: http://skia.googlecode.com/svn/trunk@12378 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 14:36:58 +00:00
caryclark@google.com
927b7028d4 remove unused reduce order code
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12377 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 14:18:21 +00:00
commit-bot@chromium.org
6fcb0cdaa2 Revert of https://codereview.chromium.org/85343004/
Reason for revert: Reverting the temporary CL

TBR=
NOTREECHECKS=true
NOTRY=true

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12376 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 14:03:52 +00:00
commit-bot@chromium.org
9df6215aaf Temporary changes to test one-click revert.
(SkipBuildbotRuns)

BUG=
NOTRY=true
TBR=borenet@google.com

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12375 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 14:02:01 +00:00
caryclark@google.com
28d219c568 fix pathops quad line intersection
git-svn-id: http://skia.googlecode.com/svn/trunk@12374 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 13:39:12 +00:00
commit-bot@chromium.org
27346f52cb Revert of https://1215-da983df0eebc.chromiumcodereview-hr.appspot.com/84603002/
Reason for revert: Testing one-click revert

TBR=
NOTREECHECKS=true
NOTRY=true

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12373 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-24 03:50:22 +00:00
commit-bot@chromium.org
4c8f4012b5 Whitespace change to test CQ and one-click revert.
TBR=borenet@google.com

(SkipBuildbotRuns)

BUG=

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12372 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-24 03:47:03 +00:00
mtklein@google.com
9b8c036eda Inline performance-critical methods on SkAlphaRuns.
Clang needs to be forced to inline add, so we do that.

GCC on desktop
              bench conf time        old        new       diff    diffP
draw_coverage_false 8888 c        236.08     212.01     +24.07   +10.2%
 draw_coverage_true 8888 c        125.67     104.49     +21.18   +16.9%

GCC on N5
              bench conf time        old        new       diff    diffP
draw_coverage_false 8888 c        566.33     529.96     +36.37    +6.4%
 draw_coverage_true 8888 c        315.39     293.85     +21.54    +6.8%

Clang on desktop
              bench conf time        old        new       diff    diffP
draw_coverage_false 8888 c        337.37     330.63      +6.74    +2.0%
 draw_coverage_true 8888 c        126.87     119.32      +7.55    +6.0%

BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12370 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 21:25:55 +00:00
mtklein@google.com
6e223af090 I feel like my clang is especially sensitive to unused variables.
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12369 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 20:43:54 +00:00
commit-bot@chromium.org
d6ca4ac1ee [GPU] Use view matrix + rect to implement subrect for drawBitmap when there is a mask filter and bleed.
R=robertphillips@google.com, reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12368 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 20:34:59 +00:00
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
epoger@google.com
214a024e8c rebaseline_server: improve pixel diff reporting
- fix differing pixels count (we weren't always doing this right)
- report number of differing pixels, as well as percentage
- report worst difference per RGB channel
- apply alpha mask to difference image (changed pixels = opaque, unchanged = transparent)
- add tooltips with further explanation of pixel diffs
(SkipBuildbotRuns)

R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12366 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 19:26:18 +00:00
mtklein@google.com
1950d5f58f Add SK_ALWAYS_INLINE.
I'm working on some code that's much faster when compiled by GCC than by Clang
because GCC inlines more aggressively.  Using SK_ATTRIBUTE(always_inline) on
the appropriate methods narrows the performance gap considerably.

This should work for MSVC, GCC, and Clang, otherwise falling back to "inline".

BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12364 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 16:56:22 +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
robertphillips@google.com
da095e9a3b Laggard rebaselines for r12357
https://codereview.chromium.org/82733005/



git-svn-id: http://skia.googlecode.com/svn/trunk@12360 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 14:32:27 +00:00
robertphillips@google.com
172f28c9c5 Rebaseline dashing3 GMs for r12357
https://codereview.chromium.org/83543002/



git-svn-id: http://skia.googlecode.com/svn/trunk@12359 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 13:40:48 +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
scroggo@google.com
56d11f6a2f Update ChromeOS expectations after warning changes
The diffs are tiny. They resulted from changes in between revisions
12307 and 12334, inclusive. We suspect the change is from r12314.

Would have gone in along with r12318, except the ChromeOS bots were
down at the time, and not generating new images.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12354 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 20:12:37 +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
epoger@google.com
cc64e7dff8 rebaseline_server: deprecate --expectations-dir option in advance of git transition
(SkipBuildbotRuns)

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12351 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 18:11:34 +00:00
bungeman@google.com
556ee8b3ac Roll gyp deps from 1765 to 1796.
This also adds gyp_skia.py which defers to gyp_skia.
This matches Chromium usage and allows parallel gyp-ing
(now the default) to work on Windows.

R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12350 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 18:11:14 +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
commit-bot@chromium.org
22d39332bd Convert debugger settings controls to combo boxes.
This reduces the height of the settings panel significantly compared to
radio buttons.

With some luck, the debugger may now fit on non-4K monitors :)

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

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12342 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:37:29 +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
32f40ee8b0 Remove mutex around image decoding in skpdiff.
I removed the mutex to investigate BUG=skia:1803, and I get no
crashes. The crashes may have been related to other multithreading
issues.

Removing the mutex will allow skpdiff to run faster.

R=djsollen@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12339 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:22:18 +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
bcd431e177 Make the debugger left panel resizable.
Use QSplitters to allow resizing the left debugger panels.

R=robertphillips@google.com

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12336 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 13:41:37 +00:00
skia.committer@gmail.com
b2edfa8367 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12335 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 07:02:36 +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
scroggo@google.com
bf6426120a Move PdfTokenLooper into its own file.
Otherwise, leave the class unchanged.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12333 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 23:12:25 +00:00
scroggo@google.com
d1cf7696f5 Ifdef guard for SkPdfContext.
Review URL: https://codereview.chromium.org/79723002

git-svn-id: http://skia.googlecode.com/svn/trunk@12332 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 22:50:40 +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
scroggo@google.com
d906702f78 Move SkPdfContext into its own files.
Otherwise, the class is unchanged.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12330 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 22:33:39 +00:00
scroggo@google.com
b1de123336 Make changes based on talks with Edison.
Mostly FIXMEs, to go back and look at in more detail.

Fix a bug where ET did not set fTextBlock back to false.

Corresponds to notes in https://code.google.com/p/skia/source/detail?r=12270

git-svn-id: http://skia.googlecode.com/svn/trunk@12329 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 22:02:32 +00:00
scroggo@google.com
7d8013f306 Changes to SkTDStackNester.
SkTDStackNester is a class used by PdfViewer to assist in saving
and restoring the PDF state. Clean up and test this class.

Add some documentation.

Add FIXME's where I have questions to resolve.

Fix a bug where fNestingLevel was not initialized.

Remove a commented out line of code copied over from
SkTDStack.

Rename SkTDStackNester::nests() to nestingLevel() and make it const.

Remove unnecessary predeclaration and friend declaration.

Remove index() (both const and non-const versions). They were
unused, return something that may not be expected (index from
the top, rather than from the bottom), and don't work to get any
elements in earlier Recs once the first one is full.

Report a warning if the nesting level goes above the maximum level,
or if we attempt to bring it below zero.

Prevent fNestingLevel from dropping below zero.

Add kUnusedObject_SkPdfIssue, and use it where appropriate.

Depends on https://codereview.chromium.org/64093009/

R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12328 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 21:40:57 +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
6c4e71a5d6 Remove unnamed namespace usage from 'gm'.
Skia prefers static over unnamed namespaces.

BUG=None
TEST=None
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12326 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 21:32:10 +00:00
scroggo@google.com
0daf00ccd7 Move SkTDStackNester into its own private file.
Also remove depth(), which is unused.

Otherwise the class is unchanged.

R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12324 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 20:47:21 +00:00
epoger@google.com
591469b1e9 rebaseline_server: clean up thread locks
followup to https://codereview.chromium.org/66803004/ ('rebaseline_server: improve thread locks to allow read access during updates')
(SkipBuildbotRuns)

R=jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12323 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 19:58:06 +00:00