Commit Graph

9607 Commits

Author SHA1 Message Date
epoger@google.com
56ad44b53a Mark blurs-gpu test as known-to-fail on Nexus4
BUG=skia:1791
(SkipBuildbotRuns)

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12142 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 20:55:32 +00:00
scroggo@google.com
9d3c422ea6 Int to scalar (again)
git-svn-id: http://skia.googlecode.com/svn/trunk@12139 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 17:29:23 +00:00
scroggo@google.com
ec1a96c317 Another int to scalar fix.
git-svn-id: http://skia.googlecode.com/svn/trunk@12138 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 17:27:01 +00:00
scroggo@google.com
770269d962 More IntToScalars
Fix build.

git-svn-id: http://skia.googlecode.com/svn/trunk@12137 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 17:02:07 +00:00
scroggo@google.com
99e113beb2 And fix the similar bench.
git-svn-id: http://skia.googlecode.com/svn/trunk@12136 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 16:40:15 +00:00
scroggo@google.com
5fdef98f62 Build fix number 2.
Use SkColors instead of numbers.

git-svn-id: http://skia.googlecode.com/svn/trunk@12135 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 16:28:38 +00:00
scroggo@google.com
28f43dbee2 Fix build.
Fix some warnings.

git-svn-id: http://skia.googlecode.com/svn/trunk@12134 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 16:19:32 +00:00
scroggo@google.com
7b05659072 Add gms and benchmarks for drawing blurry round rects.
Further changes (https://codereview.chromium.org/48623006) will change
the speed at which the bench draws and the drawing of the gm (the gm
change is small).

One of these round rects causes slow drawing in a webpage that we have
observed.

BUG=https://b.corp.google.com/issue?id=11174385

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12133 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:57:21 +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
ecdb6b326f Make it possible to pass GYP_DEFINES to Android builds
Pass possibly existing GYP_DEFINES from shell to gyp when building
for Android. Makes it possible to use custom build flags such as
skia_nv_path_rendering=1.

R=djsollen@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12128 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:03:19 +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
bsalomon@google.com
d48c16b2ff rebaseline scaled_tilemode_npot gpu images on RHB and rebaseline SGX tilemode gpu
BUG=skia:1789

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12121 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:38:18 +00:00
reed@google.com
6bf614fc23 must initialize SkDraw.fClip
git-svn-id: http://skia.googlecode.com/svn/trunk@12120 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:31:40 +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
8d8bcf9f88 rebaseline blurs_gpu
BUG=skia:1791
TBR=robertphillips

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12116 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 18:13:00 +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
caryclark@google.com
ddf9c37e5a fix baselines for arcofzorro hairlines shadertext shadertext2
git-svn-id: http://skia.googlecode.com/svn/trunk@12109 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 12:57:42 +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
caryclark@google.com
585744a7db fix more expectations for shadertext shadertext2 hairlines
git-svn-id: http://skia.googlecode.com/svn/trunk@12099 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 21:15:01 +00:00
vandebo@chromium.org
fc7f6384a2 Update missed expectations for xfermodes
ref: r12034, r12053

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12098 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 21:10:17 +00:00
caryclark@google.com
c7b14a6633 update ignored tests with rebaselines
git-svn-id: http://skia.googlecode.com/svn/trunk@12097 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 20:45:49 +00:00
caryclark@google.com
c57503629f fix shadertext2 expectations
git-svn-id: http://skia.googlecode.com/svn/trunk@12096 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 20:34:24 +00:00
caryclark@google.com
353372b19a fix shadedtext expectations
git-svn-id: http://skia.googlecode.com/svn/trunk@12095 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 20:25:47 +00:00
caryclark@google.com
23aa56fed0 fix hairline expectations
git-svn-id: http://skia.googlecode.com/svn/trunk@12094 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 20:16:50 +00:00
caryclark@google.com
24ebc011ae fix expectations for arcofzorro
git-svn-id: http://skia.googlecode.com/svn/trunk@12093 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 20:02:16 +00:00
caryclark@google.com
97b2de9af4 ignore gm roundrect errors including arcofzorro
git-svn-id: http://skia.googlecode.com/svn/trunk@12092 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 19:28:33 +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
61f8a6726d ignore gm roundrect errors
git-svn-id: http://skia.googlecode.com/svn/trunk@12090 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 19:18:59 +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
epoger@google.com
045c3d330c rebaseline_server: make default landing page list supported query URLs
(SkipBuildbotRuns)

Originally, the default landing page redirected to view.html?resultsToLoad=all
(which displays all results, and can take a while).
Instead, start with a fast-loading page that shows the user all the result
sets that are available.

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12088 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 16:46:41 +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
reed@google.com
eea3ab78e9 fix mac 10.6 build
- double -> float implicit conversion (for literals like 1.3)
- locally defined (and named) struct

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12086 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 16:15:01 +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
9a0f0006b2 Rebaseline improved N4 images
https://codereview.chromium.org/49983005/



git-svn-id: http://skia.googlecode.com/svn/trunk@12081 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:11:18 +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
epoger@google.com
7b1c2c102e rebaseline_server: right-align "select/clear/toggle all tests" buttons with results table
(SkipBuildbotRuns)

R=edisonn@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12079 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 14:29:03 +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