Commit Graph

7008 Commits

Author SHA1 Message Date
junov@chromium.org
45c3db827d Fixed bug in SkSurface_Gpu to make the surface receive the new copy when copy
on write happens.
Review URL: https://codereview.chromium.org/13195002

git-svn-id: http://skia.googlecode.com/svn/trunk@8622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 17:52:05 +00:00
scroggo@google.com
746cd0fc9a Fix build. Unreviewed.
I don't understand why this change is necessary. On Android,
SkCommandLineFlags.h is not found, but only in this project.
Other projects depend on flags and include the file without
using the full path. Likewise, this works on other platforms.
Removing for now until I figure out the correct fix.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8621 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 17:27:58 +00:00
commit-bot@chromium.org
ba59d64b05 use commandlineflags for tests/
Author: reed@google.com

Reviewed By: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8616 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 16:54:09 +00:00
scroggo@google.com
b41ff95cc0 Updates for the skimage tool.
Allow passing files or folders on the command line.

Group the output to show all successes together, all failures
together, etc.

When writing a new png, do not make its file type ".png.png"
if the original was a png.

Force linking for JPEG decoder.

Use SkCommandLineFlags.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8615 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 15:53:35 +00:00
epoger@google.com
07947d9565 GM: signal error if the total number of tests run was less than expected
Review URL: https://codereview.chromium.org/13863009

git-svn-id: http://skia.googlecode.com/svn/trunk@8614 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 15:41:02 +00:00
commit-bot@chromium.org
0a6cb602e5 Shader optimization for ovals.
Previously we were setting a center point as an attribute 
across all vertices, then using that with the interpolated 
position to compute an offset. However, because the offset 
computation is linear, we can just set the appropriate offset 
at the vertices and let the rasterizer interpolate it for us. 

Author: jvanverth@google.com

Reviewed By: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8613 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 15:05:37 +00:00
caryclark@google.com
3e475dc8d0 path ops fix release android build
git-svn-id: http://skia.googlecode.com/svn/trunk@8611 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 14:09:50 +00:00
caryclark@google.com
db60de7cbe shape ops test fixes
- fix rand for Android
- build unit test on linux
- use atomic inc in test count
- add casting for Android

git-svn-id: http://skia.googlecode.com/svn/trunk@8610 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 12:33:23 +00:00
skia.committer@gmail.com
391ca66276 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8608 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 07:01:45 +00:00
robertphillips@google.com
44f00b1429 Rebaseline Nexus-7 performance triggers
git-svn-id: http://skia.googlecode.com/svn/trunk@8607 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 23:25:36 +00:00
borenet@google.com
b47b58d789 Whitespace change to verify gclient_utils
git-svn-id: http://skia.googlecode.com/svn/trunk@8606 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 20:12:52 +00:00
robertphillips@google.com
e80114d850 Remove MacMini 10.8 performance triggers because they keep flip flopping
git-svn-id: http://skia.googlecode.com/svn/trunk@8603 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:57:58 +00:00
caryclark@google.com
f11a5afff0 fix path ops assert
git-svn-id: http://skia.googlecode.com/svn/trunk@8602 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:55:11 +00:00
caryclark@google.com
e942bc329a fix a few pathops test bugs exposed on Mac and Linux
git-svn-id: http://skia.googlecode.com/svn/trunk@8601 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:53:01 +00:00
epoger@google.com
b0f8b430de GM: remove enableMissingWarning in favor of verbose flag, and trim output in nonverbose mode
Review URL: https://codereview.chromium.org/14080003

git-svn-id: http://skia.googlecode.com/svn/trunk@8600 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:46:25 +00:00
reed@google.com
7a90daf258 fix bug introduced with SK_IGNORE_CUBIC_STROKE_FIX where we no longer respected
subDivide limit. This caused problems with degenate paths (too much recursion).

The fix was two parts:
1. decrement the subDivide limit as we recurse
2. up the limit for cubics to 7, to match our current quality

added unittest that replicated the too-much-recursion bug.
Review URL: https://codereview.chromium.org/14086002

git-svn-id: http://skia.googlecode.com/svn/trunk@8599 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:44:00 +00:00
scroggo@google.com
aef2d3b14e Run mixedxfermodes GM through the pipe.
Pass the size of the GM to SkGPipeWriter.startRecording(), so that
calls to getDeviceSize() on the returned SkCanvas return a reasonable
result. This allows removing the flag to skip mixedxfermodes.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8598 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:10:41 +00:00
commit-bot@chromium.org
ae403b9496 Simplify bench pictures render target creation.
Author: bsalomon@google.com

Reviewed By: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8596 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 17:27:30 +00:00
caryclark@google.com
d54e1e9751 add extended option to Test
The command line option
--extended runs extended tests
--verbose reports number of tests run (if recorded)

Added simple help as well.
Review URL: https://codereview.chromium.org/14063005

git-svn-id: http://skia.googlecode.com/svn/trunk@8595 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 15:57:31 +00:00
caryclark@google.com
66089e4ec4 Make parallel unit testing work on windows
Review URL: https://codereview.chromium.org/14072002

git-svn-id: http://skia.googlecode.com/svn/trunk@8594 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 15:55:37 +00:00
epoger@google.com
51dbabee67 gm: hide list of tests with ignored errors, by default
Review URL: https://codereview.chromium.org/13811031

git-svn-id: http://skia.googlecode.com/svn/trunk@8591 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 15:24:53 +00:00
reed@google.com
aae71baa73 add SK_API to public classes for sharedlib build
git-svn-id: http://skia.googlecode.com/svn/trunk@8588 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 13:10:40 +00:00
epoger@google.com
c8263e7041 gm: record IntentionallySkipped tests
Review URL: https://codereview.chromium.org/13663003

git-svn-id: http://skia.googlecode.com/svn/trunk@8586 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 12:17:34 +00:00
skia.committer@gmail.com
07d3a6575b Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8584 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 07:01:15 +00:00
robertphillips@google.com
21db1dbbce Temporary patch to get Chrome Windows compiling
git-svn-id: http://skia.googlecode.com/svn/trunk@8583 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 23:56:51 +00:00
scroggo@google.com
604e0c249e SkFlags now follows proper dashing convention.
Two dashes are used for flags with multiple characters, and one
dash is used for flags with single characters.

In GM, changed '-wp' to '-p' (the command to choose a directory
for writing SKPs) to fit with the convention.

In render_pictures and bench_pictures, changed the flag for
read and write path to have full names (which are consistent)
and use the old single character names as their shortcuts.

SkCommandLineFlags: Updated the documentation, and only allow
-h or --help for help (again, to match the convention).
Also enforce the single character limit for the short name, and
require the full name to be at least two characters.

Provide full names for skhello.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8582 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 21:25:46 +00:00
commit-bot@chromium.org
c53404ed1e Whitespace change to test the CQ.
TBR=borenet@google.com

(SkipBuildbotRuns)

Author: rmistry@google.com

Reviewed By: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8581 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 19:33:28 +00:00
bungeman@google.com
2786d15dc6 Make SkTypeFace::Deserialize work for embedded fonts.
https://codereview.appspot.com/8584044/


git-svn-id: http://skia.googlecode.com/svn/trunk@8580 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 19:29:45 +00:00
djsollen@google.com
c2532dd0b8 Partial reapply of r5364 minus the non-neon code path.
See https://codereview.appspot.com/6465075 for a more detailed description of the contents of this CL.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8579 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 18:06:06 +00:00
robertphillips@google.com
1eb16b93a1 Partial fix for skp reading failure on fonts
verbal lgtm from bungeman@



git-svn-id: http://skia.googlecode.com/svn/trunk@8578 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 17:35:29 +00:00
junov@chromium.org
ef5b811426 Fixing SkTileGrid to clamp rather than clip content and querries that are outside the bounds of the grid
This fix prevents border padding and offsets on the tile grid structure from resulting in bad clipping. The job of clipping contents is left to the playback canvas.

BUG=https://code.google.com/p/skia/issues/detail?id=1209
TEST=TileGrid unit test, 
Review URL: https://codereview.chromium.org/13493016

git-svn-id: http://skia.googlecode.com/svn/trunk@8576 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 16:13:09 +00:00
reed@google.com
54c69147f9 extend FontConfigInterface to start to match new fontmgr design
Review URL: https://codereview.chromium.org/13297004

git-svn-id: http://skia.googlecode.com/svn/trunk@8575 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 15:54:52 +00:00
bsalomon@google.com
116ad84d31 Make GrIODB record and play back copySurface.
Review URL: https://codereview.chromium.org/13581003

git-svn-id: http://skia.googlecode.com/svn/trunk@8574 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 15:38:19 +00:00
bsalomon@google.com
686bcb871b Reland of 8525 with fix for case when GrRT outlives GrTexture.
Review URL: https://codereview.chromium.org/13814015

git-svn-id: http://skia.googlecode.com/svn/trunk@8573 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 15:04:12 +00:00
robertphillips@google.com
59dd7162a3 Fix compiler warning/error in r8571
git-svn-id: http://skia.googlecode.com/svn/trunk@8572 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 14:08:15 +00:00
robertphillips@google.com
df3695e5c7 First pass at Rect Effect
https://codereview.chromium.org/13521006/



git-svn-id: http://skia.googlecode.com/svn/trunk@8571 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 14:01:44 +00:00
rmistry@google.com
62f60bb1d4 Deleting the hardcoded list of compile bots in trybots_to_run.
The submitted change https://codereview.chromium.org/13493012/ makes this list unnecessary.

(SkipBuildbotRuns)
Review URL: https://codereview.chromium.org/13947006

git-svn-id: http://skia.googlecode.com/svn/trunk@8570 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 11:59:42 +00:00
rmistry@google.com
f5c4fc8523 Introduce aliases and regex in submit_try.
Adding the aliases 'compile' and 'cq'. Also adding a alias 'regex' that prompts the user for a regex, displays results and prompts again for confirmation.

Created to fix the feature request https://code.google.com/p/skia/issues/detail?id=1207 : replace hard-coded trybot lists with automated filtering.

(SkipBuildbotRuns)
Review URL: https://codereview.chromium.org/13493012

git-svn-id: http://skia.googlecode.com/svn/trunk@8569 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 11:46:46 +00:00
skia.committer@gmail.com
3284017a60 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8568 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 07:01:27 +00:00
humper@google.com
8e029e6e59 silence android warning
git-svn-id: http://skia.googlecode.com/svn/trunk@8567 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 21:54:58 +00:00
humper@google.com
75e3ca127c Error checking / reporting API
Review URL: https://codereview.chromium.org/13699004

git-svn-id: http://skia.googlecode.com/svn/trunk@8566 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 21:44:11 +00:00
caryclark@google.com
496120185c saving the old before blowing away
git-svn-id: http://skia.googlecode.com/svn/trunk@8565 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 20:37:35 +00:00
caryclark@google.com
7e0274e80b saving away the old before blowing the machine away
git-svn-id: http://skia.googlecode.com/svn/trunk@8564 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 20:36:19 +00:00
senorblanco@chromium.org
d043ccee37 Allow single-pass filters (which use asNewEffect()) to participate in the image filter DAG. This was done by introducing the SkSinglePassImageFilter abstract base class, which implements canFilterImageGPU() and filterImageGPU() on behalf of the derived class. The derived class still only needs to asNewEffect(). This allows us to recurse on the filter input in SkSinglePassImageFilter::onFilterImageGPU(). It also allows us to remove any knowledge of single-pass image filters from SkGpuDevice and from the SkImageFilter base class as well.
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8563 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 19:43:22 +00:00
robertphillips@google.com
2e87ba0c7c Add before and after command count to filter tool
https://codereview.chromium.org/13405003/



git-svn-id: http://skia.googlecode.com/svn/trunk@8562 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 15:45:30 +00:00
bensong@google.com
ae6f47e55d Switches to a Skia-specific appengine entry point that uses condensed data and taskqueue writes (SkipBuildbotRuns).
The default entry /add_point does not handle large data efficiently, so we've seen >30min timeouts for some bots to upload data. We now switch to using /skia_add_points that I'm writing for Skia, so we can condense the data to send to minimum (since all points in each batch have the same revision, platform and config), and dedicate the actual data processing to /skia_write_datastore which is a taskqueue task that has longer timeout and can run at app backend instead of blocking the bots.
Initial testing from my MacBook on Mac 64 bench data via vpn gave only a little more than 1 second for uploading data for one config, about 15 seconds for all 12 configs. That's a big win against 20+ minutes.
Review URL: https://codereview.chromium.org/13762002

git-svn-id: http://skia.googlecode.com/svn/trunk@8560 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 14:57:40 +00:00
caryclark@google.com
ebf95ba28d keep old experimental code in sync
git-svn-id: http://skia.googlecode.com/svn/trunk@8554 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 11:53:42 +00:00
caryclark@google.com
818b0cc1b8 Add implementation of path ops
This CL depends on
https://codereview.chromium.org/12880016/
"Add intersections for path ops"

Given a path, iterate through its contour, and
construct an array of segments containing its curves.

Intersect each curve with every other curve, and for
cubics, with itself.

Given the set of intersections, find one with the 
smallest y and sort the curves eminating from the
intersection. Assign each curve a winding value.

Operate on the curves, keeping and discarding them
according to the current operation and the sum of
the winding values.

Assemble the kept curves into an output path.
Review URL: https://codereview.chromium.org/13094010

git-svn-id: http://skia.googlecode.com/svn/trunk@8553 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 11:50:46 +00:00
caryclark@google.com
9166dcb3a0 Add intersections for path ops
This CL depends on 
https://codereview.chromium.org/12827020/
"Add base types for path ops"

The intersection of a line, quadratic, or cubic
with another curve (or with itself) is found by
solving the implicit equation for the curve pair.

The curves are first reduced to find the simplest
form that will describe the original, and to detect
degenerate or special-case data like horizontal and
vertical lines.

For cubic self-intersection, and for a pair of cubics,
the intersection is found by recursively
approximating the cubic with a series of quadratics.

The implicit solutions depend on the root finding
contained in the DCubic and DQuad structs, and
the quartic root finder included here.
Review URL: https://codereview.chromium.org/12880016

git-svn-id: http://skia.googlecode.com/svn/trunk@8552 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 11:50:00 +00:00
caryclark@google.com
07393cab57 Add base types for path ops
Paths contain lines, quads, and cubics, which are
collectively curves.

To work with path intersections, intermediary curves
are constructed. For now, those intermediates use
doubles to guarantee sufficient precision.

The DVector, DPoint, DLine, DQuad, and DCubic
structs encapsulate these intermediate curves.

The DRect and DTriangle structs are created to
describe intersectable areas of interest.

The Bounds struct inherits from SkRect to create
a SkScalar-based rectangle that intersects shared
edges.

This also includes common math equalities and
debugging that the remainder of path ops builds on,
as well as a temporary top-level interface in
include/pathops/SkPathOps.h.
Review URL: https://codereview.chromium.org/12827020

git-svn-id: http://skia.googlecode.com/svn/trunk@8551 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 11:47:37 +00:00