Commit Graph

15188 Commits

Author SHA1 Message Date
mtklein
09a22e9597 Watch out for SkFixed overflow in SkMipMap.cpp.
Tested with -fsanitize=signed-integer-overflow.
This new assert used to trigger in MipMap unit test.

Don't appear to be any GM diffs.

BUG=skia:

Review URL: https://codereview.chromium.org/729373004
2014-11-21 11:38:53 -08:00
mtklein
04038eba9f public SkNVRefCnt<SnapshotArray>
Should fix broken build.

NOTRY=true
TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/748143002
2014-11-21 11:13:15 -08:00
mtklein
b7ee349f10 SkData -> SkPicture::SnapshotArray
Restores type safety with all the same features.

(Also note, less code: 29 insertions, 50 deletions.)

BUG=skia:

Review URL: https://codereview.chromium.org/746553002
2014-11-21 11:06:04 -08:00
reed
3f10b9dd2c clarify samplecount field in imagegpu
BUG=skia:
TBR=bsalomon

Review URL: https://codereview.chromium.org/750023002
2014-11-21 10:27:53 -08:00
robertphillips
ec8bb946c3 Fix error in Ganesh' tiled bitmap drawing
When the paint filter level is high ShouldUseBicubic doesn't always return true. In this case the paint's filter level will differ from the filtering Ganesh will use. This was leading to a mismatch between the tiling computed in SkGpuDevice::drawBitmapCommon and the one in SkGpuDevice::drawTiledBitmap.

The end result of this was that the max texture restriction could be violated which is currently being seen on the Xoom & N7 bots. Both of them have a max texture size of 2048 which is invoking the tiled drawbitmap case.

Review URL: https://codereview.chromium.org/752623002
2014-11-21 10:16:25 -08:00
joshualitt
947556f658 remove GrAllocPool
BUG=skia:

Review URL: https://codereview.chromium.org/742253002
2014-11-21 09:03:45 -08:00
mtklein
42ddcd4906 All the small packing tweaks mentioned in the bug.
BUG=skia:3144

Review URL: https://codereview.chromium.org/748063002
2014-11-21 08:48:35 -08:00
reed
4af267b119 add SkImage::newSurface
BUG=skia:

Review URL: https://codereview.chromium.org/741763002
2014-11-21 08:46:38 -08:00
reed
41d2c2e434 simplify uniqueID code in picture
patch from issue 750003002 at patchset 1 (http://crrev.com/750003002#ps1)

BUG=skia:

Review URL: https://codereview.chromium.org/752573002
2014-11-21 08:07:41 -08:00
robertphillips
8f81b69ed7 Ignore a flaky msaa4 GM and some perma-broken S4 GMs
The Ubuntu12 msaa4 image seems to flake randomly
The S4 images are covered by skia:3116 (Galaxy S4 exhibits some saveLayer bugs (both normal and with hoisting))

TBR=humper@google.com

Review URL: https://codereview.chromium.org/748773003
2014-11-21 07:24:01 -08:00
robertphillips
186a08ed72 Fix memory leak in nanobench
This is cleanup for (Add MultiPictureDraw to nanobench - https://codereview.chromium.org/731973005/)

Review URL: https://codereview.chromium.org/730343003
2014-11-21 06:53:00 -08:00
mtklein
19996eda62 Small changes to get things building and running on Linux/ARM.
ninja -C out/Debug works, and I tested out/Debug/dm --nogpu (no X yet).

The only problems encountered were:
  - Like CrOS, I also needed to use the default float ABI (presumably hard).
  - The strings in GrBinHashKeyTest weren't necessarily 4-byte aligned.

BUG=skia:

Review URL: https://codereview.chromium.org/746043002
2014-11-21 06:48:43 -08:00
robertphillips
5b69377507 Add MultiPictureDraw to nanobench
I would like some guard against performance regressions on our side before turning layer hoisting on in Chromium.

TBR=bsalomon@google.com

Committed: https://skia.googlesource.com/skia/+/0ddad31012dabfc1267effc8071d37f7d606efbe

Review URL: https://codereview.chromium.org/731973005
2014-11-21 06:19:36 -08:00
robertphillips
e77dadd91a Revert of Add MultiPictureDraw to nanobench (patchset #7 id:120001 of https://codereview.chromium.org/731973005/)
Reason for revert:
Needs more work

Original issue's description:
> Add MultiPictureDraw to nanobench
>
> I would like some guard against performance regressions on our side before turning layer hoisting on in Chromium.
>
> TBR=bsalomon@google.com
>
> Committed: https://skia.googlesource.com/skia/+/0ddad31012dabfc1267effc8071d37f7d606efbe

TBR=mtklein@google.com,bsalomon@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/750583002
2014-11-21 05:50:21 -08:00
robertphillips
0ddad31012 Add MultiPictureDraw to nanobench
I would like some guard against performance regressions on our side before turning layer hoisting on in Chromium.

TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/731973005
2014-11-21 05:35:54 -08:00
fmalita
8ebaa71712 Revert of SkCanvas::clear() should call down to devices even when the clip is empty. (patchset #1 id:1 of https://codereview.chromium.org/735233003/)
Reason for revert:
Chrome unit_tests failures on Mac & Win, blocking the roll: http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/5613

Original issue's description:
> SkCanvas::clear() should call down to devices even when the clip is empty.
>
> SkDrawIter had a lovely, completely unused, option for this.  Oversight?
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/378e70d8e561b72a904286ea231946f5c8345b9a

TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/748733002
2014-11-20 20:44:04 -08:00
tfarina
60b24d0df7 Cleanup: Delete webtry.gyp
Looks like this was left over when we moved it into buildbot.

Also remove a few other, now unnecessary, references to webtry.

BUG=None
R=humper@google.com

Review URL: https://codereview.chromium.org/726833004
2014-11-20 18:20:06 -08:00
joshualitt
5f3e081504 rebasing a bunch of 0% android mismatches
TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/744383002
2014-11-20 16:51:50 -08:00
joshualitt
c07379d6b1 Adding GeometryData object
BUG=skia:

Review URL: https://codereview.chromium.org/745663002
2014-11-20 14:50:39 -08:00
cdalton
ffe2f1cbd0 Rebaseline textblobshader expectation for nvpr
Rebaseline after https://codereview.chromium.org/712223002. The
difference is a result of using different bounding boxes to cover
gradient fills, which caused a few pixels do differ by a value of one.

BUG=skia:

Review URL: https://codereview.chromium.org/746603002
2014-11-20 14:30:08 -08:00
Florin Malita
844aa334a4 Add SkNVRefCnt::getRefCnt()
Used in Blink unit tests.

TBR=mtklein@google.com,humper@google.com

Review URL: https://codereview.chromium.org/746693002
2014-11-20 16:56:22 -05:00
fmalita
2d97bc139a Disable LCD text explicitly in SkPictureImageFilter::onFilterImage()
As an intermediate fix for
https://code.google.com/p/skia/issues/detail?id=3142, we can use a
non-public SkCanvas constructor and force-disable LCD text.

BUG=skia:3142
R=reed@google.com,senorblanco@google.com

Review URL: https://codereview.chromium.org/725243004
2014-11-20 10:44:58 -08:00
mtklein
d6ab2a8e45 Add SkNVRefCnt::deref().
TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/744853002
2014-11-20 10:07:54 -08:00
bsalomon
b03c4a35bd Don't use NULL GrOptDrawState to indicate that draw should be skipped.
Review URL: https://codereview.chromium.org/742853002
2014-11-20 09:56:11 -08:00
mtklein
08d1fccf6e Add SkNVRefCnt, prune down SkPicture's size
SkNVRefCnt is a variant of SkRefCnt that's Not Virtual, so weighs 4 bytes
instead of 8 or 16.  There's only benefit to doing this if the deriving class
does not otherwise need a vtable, e.g. SkPicture.

I've stripped out some cruft from SkPicture, rearranged fields to pack tightly,
and added compile asserts for the sizes of SkPicture, SkRecord, and
SkVarAlloc.

BUG=skia:3144

Review URL: https://codereview.chromium.org/741793002
2014-11-20 09:18:32 -08:00
mtklein
cdeeb095a6 SkRecord: Pack SkRegion::Op and AA bit together.
Saves 4 bytes per clip op.

BUG=skia:

Review URL: https://codereview.chromium.org/741093002
2014-11-20 09:14:28 -08:00
mtklein
378e70d8e5 SkCanvas::clear() should call down to devices even when the clip is empty.
SkDrawIter had a lovely, completely unused, option for this.  Oversight?

BUG=skia:

Review URL: https://codereview.chromium.org/735233003
2014-11-20 08:58:02 -08:00
bsalomon
072803144a Stop overloading internal_dispose in SkTextBlob and SkData
Review URL: https://codereview.chromium.org/737093002
2014-11-20 08:02:46 -08:00
mtklein
7cc1a34fbf Make sure pictures draw Clears even when the clip is empty.
We fix this by rewriting empty queries to very tiny queries, which will certainly
hit ops that span the entire picture (like Clear) and hopefully not much more.

(This doesn't quite work in the full cull rect world if [0,0,ε,ε] doesn't
overlap the picture.  Let's cross that bridge when we get there.)

BUG=432991

Review URL: https://codereview.chromium.org/732723004
2014-11-20 08:01:09 -08:00
joshualitt
9176e2c159 dstCopy on optdrawstate
BUG=skia:

Review URL: https://codereview.chromium.org/735363003
2014-11-20 07:28:52 -08:00
rosca
ace7f42769 Preventing division by 0 in non-separable blend mode shaders.
In the software path, the same issue has been fixed some time ago:
https://codereview.chromium.org/114173002

BUG=skia:

Review URL: https://codereview.chromium.org/666043003
2014-11-20 07:24:32 -08:00
kkinnunen
e097be50bd Implement conics for NVPR
Implement conics for NVPR. Verified with currently disabled conicpaths
gm, produces mostly same shapes with nvprmsaa4 and msaa4.

BUG=skia:2033

Review URL: https://codereview.chromium.org/694503003
2014-11-19 22:49:03 -08:00
Greg Humphreys
ac1383db67 even more stragglers -- hopefully this makes the gtx machine go green?
BUG=skia:

Review URL: https://codereview.chromium.org/716243005
2014-11-19 17:28:53 -05:00
Greg Humphreys
c58a33c95b more rebaseline stragglers
BUG=skia:

Review URL: https://codereview.chromium.org/726373004
2014-11-19 17:02:31 -05:00
mtklein
008f1ea581 Store DM failures in an array, not a single string.
This should fix the problem where a repeatedly failing test causes this assertion:
  ../../src/core/SkString.cpp:572: failed assertion "length >= 0 && length < SkToInt(kBufferSize)"

Example output:

0 GMs x 7 configs, 2 tests, 0 pictures
0 tasks left, 100 failed
Failures:
  test RTree: ../../tests/RTreeTest.cpp:77	0 != rtree.getCount()
  test RTree: ../../tests/RTreeTest.cpp:77	0 != rtree.getCount()
  test RTree: ../../tests/RTreeTest.cpp:77	0 != rtree.getCount()
  test RTree: ../../tests/RTreeTest.cpp:77	0 != rtree.getCount()
  < 95 lines elided >
  test RTree: ../../tests/RTreeTest.cpp:77	0 != rtree.getCount()
100 failures.

BUG=skia:

Review URL: https://codereview.chromium.org/741833002
2014-11-19 13:36:19 -08:00
Greg Humphreys
c66d813c18 a few straggling rebaselines
BUG=skia:

Review URL: https://codereview.chromium.org/742893002
2014-11-19 16:35:20 -05:00
bsalomon
04ddf89627 Small cleanups after GrDrawState/GrOptDrawState base class elimination.
Review URL: https://codereview.chromium.org/739133004
2014-11-19 12:36:22 -08:00
tomhudson
158fcaa031 Implement SkPicture::bytesUsed() for SkRecord backend
BUG=chromium:230419
R=mtklein@google.com,reed@google.com

Review URL: https://codereview.chromium.org/490253003
2014-11-19 10:41:14 -08:00
mtklein
72f92acd47 No need to short circuit the query rect here anymore.
Whatever assertion was triggering in SkRTree.cpp seems to be gone now.

BUG=432991

Review URL: https://codereview.chromium.org/725373003
2014-11-19 10:37:20 -08:00
mtklein
48b411af76 Remove debug-only fData from SKTDArray.
It makes the code harder to read, and makes Debug and Release SkTDArrays
different sizes.  Looks like fData is left over from when debuggers weren't
very good at inspecting data structures.

No API changes.
TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/739263002
2014-11-19 09:41:27 -08:00
joshualitt
54e0c12a5a scissor state on optstate
waiting

BUG=skia:

Review URL: https://codereview.chromium.org/742763002
2014-11-19 09:38:51 -08:00
fmalita
65d79cefe2 Add an image filter row to GM:lcdtextprops
We should be disabling LCD text when rendering image filters, but
currently don't. Add a GM to capture this behavior.

R=reed@google.com

Review URL: https://codereview.chromium.org/741433003
2014-11-19 09:23:22 -08:00
bsalomon
26bdfcb4e4 Remove /arch:SSE2 from Win 64 Release builds
Review URL: https://codereview.chromium.org/740733002
2014-11-19 08:59:58 -08:00
humper
ad5e9a5327 add runtime config option to retain stream for custom typefaces
BUG=skia:

Review URL: https://codereview.chromium.org/729973004
2014-11-19 08:32:19 -08:00
joshualitt
02bcd9db00 move GrGeometryProcessor to src
TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/739943003
2014-11-19 08:24:09 -08:00
bsalomon
ae59b77612 Create GrOptDrawState before recording draw in GrInOrderDrawBuffer
Review URL: https://codereview.chromium.org/739673002
2014-11-19 08:23:49 -08:00
reed
78e2768897 Allow pictures to have a full bounds
This reverts commit 7c4cdd2c5b.

BUG=skia:

Review URL: https://codereview.chromium.org/738083002
2014-11-19 08:04:34 -08:00
reed
7c4cdd2c5b Revert of allow pictures to have a full bounds (patchset #3 id:40001 of https://codereview.chromium.org/736583004/)
Reason for revert:
needed to update legacy width() helpers

Original issue's description:
> allow pictures to have a full bounds
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7e76bff26e7c74902841ca4f607eb0b24a833a4a

TBR=fmalita@google.com,mtklein@google.com,robertphillips@google.com,fmalita@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/722043005
2014-11-19 07:17:17 -08:00
reed
7e76bff26e allow pictures to have a full bounds
BUG=skia:

Review URL: https://codereview.chromium.org/736583004
2014-11-19 06:59:41 -08:00
egdaniel
ec03a46080 Add processor name to comment when printing out shaders.
BUG=skia:

Review URL: https://codereview.chromium.org/735153002
2014-11-19 06:22:39 -08:00