Commit Graph

16704 Commits

Author SHA1 Message Date
msarett
114912d4b9 Fix android_run_skia script to allow for larger blacklist
BUG=skia:

Review URL: https://codereview.chromium.org/1011653004
2015-03-25 12:28:33 -07:00
halcanary
a43b41538a SkPDF: merge skdocument_pdf and skpdfdocument
BUG=skia:3585

Review URL: https://codereview.chromium.org/1034793002
2015-03-25 12:15:04 -07:00
halcanary
f41061cc8d SKPDF: refactor pdfcatalog and pdfdocument
SkPDFCatalog:
-   remove first-page-specific code (no longer needed, never
    used) (e.g. addObject()).
-   Make use of SkHashMap for lookups (simplifies code).
-   inline all small methods
-   emitXrefTable moved to SkPDFDocument.cpp
-   no longer store offsets in this data structure (moved to
    SkPDFDocument.cpp)
-   setFileOffset gone.
-   own substitute refs directly.

SkPDFDocument::EmitPDF()
-   All sites that call into SkPDFCatalog modified.
-   catalog.addObject only called in a single place, after the
    resouceSet is built
-   offsets moved to local array.

SkPDFPage:
-   finalizePage no longer deals with SkPDFCatalog or resource sets.
-   GeneratePageTree no longer deals with SkPDFCatalog

SkPDFObjRef
-   emitObject respects the substitution map

Unit Tests:
-   respect SkPDFCatalog::addObject signature change.

SkTHash:
-   #include SkChecksum for SkGoodHash
-   Copyright notice added

Review URL: https://codereview.chromium.org/1033543002
2015-03-25 11:29:18 -07:00
scroggo
05245900bf Add scanline decoding to SkCodec.
Add an interface for decoding scanlines, and implement that interface
in the PNG decoder.

Use a separate method to determine whether an image that used a type
with alpha was actually opaque.

SkScanlineDecoder.h:
New interface for decoding scanlines.

SkCodec.h:
Add getScanlineDecoder.
Add a virtual function (with non-virtual caller) for determining
whether the image truly had alpha. The client can call this to
determine if the image was actually opaque if it reported having alpha.
Remove code to sneakily change the passed in alpha type.

SkCodec_libpng.*:
Split up code onGetPixels into helper functions that can be shared with
the scanline decoder.
Implement scanline decoding.
Implement onReallyHasAlpha.

SkSwizzler.*:
Add a new SrcConfig as a default, which is invalid.
Add a function for setting fDstRow directly.
Assert fDstRow is not NULL.

BUG=skia:3257

Review URL: https://codereview.chromium.org/1010903003
2015-03-25 11:11:52 -07:00
halcanary
038cb5e8d8 SkTHash: add checksum include
Review URL: https://codereview.chromium.org/1030883006
2015-03-25 10:22:54 -07:00
scroggo
3e5622764a Add copyright headers to remaining gyp files.
Prevents some PRESUBMIT errors.

TBR=mtklein@google.com

Review URL: https://codereview.chromium.org/1035523003
2015-03-25 10:22:41 -07:00
robertphillips
e523d4f90c Remove SkClipStack's manual rounding of BW clip rects
The full fix for this bug is nudging the image in device space. That is going to be a large change. This CL should address the immediate problem.

This CL will alter the following GMs:
clipdrawdraw
convex_poly_clip
complexclip_bw_*
filltypespersp
complexclip3_simple

BUG=423834

Review URL: https://codereview.chromium.org/1033453003
2015-03-25 09:11:30 -07:00
halcanary
6d622703e5 SkPDF: skpdfdocument and skpdfpage use skpdfdevice in a const way
BUG=skia:3585

Review URL: https://codereview.chromium.org/1035513003
2015-03-25 08:45:42 -07:00
halcanary
26b5d15dab SkPDF: add canon assert before adding code that might break it
Motivation: We can write subsets (by page) of pdf documents (but this
in't yet exposed in the public API), but it is a bad idea to mix pages
from multiple documents (de-duping will break).  This assert verifies
that we don't do this by accident in the future.

BUG=skia:3585

Review URL: https://codereview.chromium.org/1037573005
2015-03-25 08:38:03 -07:00
halcanary
7a0118465a SkPDF: unclass skpdfdocument
BUG=skia:3585

Review URL: https://codereview.chromium.org/1030193002
2015-03-25 07:52:56 -07:00
mtklein
18e55800c6 More file types to check for (C).
- objective C++           (31)
 - objective C             (4)
 - C                       (2)
 - alternate C++ extension (1)
 - Go                      (1)

BUG=skia:

Review URL: https://codereview.chromium.org/1032143002
2015-03-25 07:21:20 -07:00
joshualitt
73bb4562a6 Fix for ClipMaskManager drawSimpleRect
BUG=chromium:466819

Review URL: https://codereview.chromium.org/1031143002
2015-03-25 07:16:21 -07:00
scroggo
648ac53ea3 Add copyright to gyp/codec.gyp.
Review URL: https://codereview.chromium.org/1023673010
2015-03-25 07:16:13 -07:00
halcanary
9d85145590 SkPDF: clean up skpdfdocument, add static functions
Add SkPDFDocument::EmitPDF and SkPDFDocument::GetCountOfFontTypes

Also, make SkPDFDocument::appendPage return void, not bool.

Motivation: These static functions can be used to print subsets of a
pdf document (functionality to be added in a later CL).

BUG=skia:3585

Review URL: https://codereview.chromium.org/1036853002
2015-03-25 07:11:08 -07:00
scroggo
478652e918 Add copyright headers DM.
Review URL: https://codereview.chromium.org/1037713003
2015-03-25 07:11:02 -07:00
msarett
d0be5bb899 Fixing memory leak in ico decoder
BUG=skia:

NOTREECHECKS=true
TBR=scroggo@google.com
NOTRY=true

Review URL: https://codereview.chromium.org/1036873002
2015-03-25 06:29:18 -07:00
msarett
9bde918754 Enabling ico decoding with use of png and bmp decoders
BUG=skia:3257

NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1011343003
2015-03-25 05:27:48 -07:00
halcanary
6adf849f4e SkPDF refactor skpdfdocument
Most fields removed, made local to emitPDF function (since we never
emit twice).

Variables made into stack variables or auto-unrefed.

we hold devices, not pages.

addResourcesToCatalog inlined

unused setPage function removed.

deprecated getCountOfFontTypes function removed

private functions removed

BUG=skia:3585

Review URL: https://codereview.chromium.org/1034583002
2015-03-25 05:06:30 -07:00
borenet
c7c91806e3 Add copyright check to PRESUBMIT
BUG=skia:1724

Review URL: https://codereview.chromium.org/1003363005
2015-03-25 04:47:02 -07:00
reed
6b9ef90c02 SkChopCubicAt2 using Sk2s -- 2x faster
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1036753002
2015-03-24 19:24:34 -07:00
halcanary
f3d53a037d SkPDF: unit test cleanup
BUG=skia:3585

Review URL: https://codereview.chromium.org/1033833002
2015-03-24 15:29:39 -07:00
reed
0dc4dd6dda Revert of pathops version two (patchset #16 id:150001 of https://codereview.chromium.org/1002693002/)
Reason for revert:
ASAN investigation

Original issue's description:
> pathops version two
>
> R=reed@google.com
>
> marked 'no commit' to attempt to get trybots to run
>
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/ccec0f958ffc71a9986d236bc2eb335cb2111119

TBR=caryclark@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1029993002
2015-03-24 13:55:33 -07:00
caryclark
82dec0e16a Revert of remove obsolete tests (patchset #1 id:1 of https://codereview.chromium.org/1030883002/)
Reason for revert:
working on asan fix

Original issue's description:
> remove obsolete tests
>
> remove tests that are breaking the build -- uninitialized memory
>
> TBR=reed
>
> Committed: https://skia.googlesource.com/skia/+/e02c944e97ad6a3b8befb1f4f784919767941ba6

TBR=reed@android.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1036633002
2015-03-24 13:52:49 -07:00
caryclark
74c464a6af Revert of fix destructor order to fix build (patchset #1 id:1 of https://codereview.chromium.org/1033703002/)
Reason for revert:
working on asan fix

Original issue's description:
> fix destructor order to fix build
>
> TBR=reed
>
> Committed: https://skia.googlesource.com/skia/+/c207f9b2e8d6fb5386197fa8a8d258d2c4603418

TBR=reed@android.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1033803002
2015-03-24 13:47:57 -07:00
tomhudson
7aa846c683 Revert of Enabling ico decoding with use of png and bmp decoders (patchset #10 id:280001 of https://codereview.chromium.org/1011343003/)
Reason for revert:
Reverting on suspicion of massive bot failures - possible command line too long?

Original issue's description:
> Enabling ico decoding with use of png and bmp decoders
>
> BUG=skia:3257
>
> Committed: https://skia.googlesource.com/skia/+/15bfd075d38e4422a477e22940d06a137f66cc97

TBR=scroggo@google.com,reed@google.com,djsollen@google.com,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3257

Review URL: https://codereview.chromium.org/1022843005
2015-03-24 13:47:41 -07:00
tomhudson
48dc6dc52e Switch DM to use utils/android/SkAndroidSDKCanvas
Use (better) paint filter shared with nanobench, instead
of custom implementation.

R=djsollen@google.com

Review URL: https://codereview.chromium.org/1036523002
2015-03-24 12:46:40 -07:00
msarett
15bfd075d3 Enabling ico decoding with use of png and bmp decoders
BUG=skia:3257

Review URL: https://codereview.chromium.org/1011343003
2015-03-24 12:24:27 -07:00
robertphillips
46bffd6fbe Fix assert in debugger
Review URL: https://codereview.chromium.org/1029903002
2015-03-24 11:09:07 -07:00
rmistry
6776a538f9 Increase timeout of ukwsj to get more consistent SKP captures
BUG=skia:3574
TBR=borenet
NOTRY=true

Review URL: https://codereview.chromium.org/1038443002
2015-03-24 10:58:37 -07:00
halcanary
f5b17fbd94 SkPDF: Fix leak in SkPDFShader
TBR=mtklein@google.com

Review URL: https://codereview.chromium.org/1006813010
2015-03-24 10:21:34 -07:00
reed
816d6c78a5 enable color-matrix-floats again, watching arm64 bots
BUG=skia:
TBR=mtklein@google.com

Review URL: https://codereview.chromium.org/1035493002
2015-03-24 10:04:38 -07:00
mtklein
4b65059e6e Go back to storeAligned / LoadAligned for SkPMFloat <->Sk4f.
This seems to fix the miscompilation bug on ARM64 / Release / GCC 4.9.

We switched this over originally for perf issues with NEON, but I can't see any now.  Will keep an eye out.

BUG=skia:3570

Review URL: https://codereview.chromium.org/1026403002
2015-03-24 09:47:12 -07:00
caryclark
c207f9b2e8 fix destructor order to fix build
TBR=reed

Review URL: https://codereview.chromium.org/1033703002
2015-03-24 09:16:25 -07:00
caryclark
e02c944e97 remove obsolete tests
remove tests that are breaking the build -- uninitialized memory

TBR=reed

Review URL: https://codereview.chromium.org/1030883002
2015-03-24 08:17:16 -07:00
halcanary
547019e1a6 SkPDF: clean up extra references
This cleans up code left behind from  http://crrev.com/870333002

Review URL: https://codereview.chromium.org/1029263004
2015-03-24 08:12:55 -07:00
senorblanco
8c24d453a2 Move SkMatrixImageFilter.h into src/core.
Callers in Blink have been updated to call
SkImageFilter::CreateMatrixFilter() instead.

BUG=skia:3568

Review URL: https://codereview.chromium.org/1013753013
2015-03-24 07:51:30 -07:00
caryclark
ccec0f958f pathops version two
R=reed@google.com

marked 'no commit' to attempt to get trybots to run

TBR=reed@google.com

Review URL: https://codereview.chromium.org/1002693002
2015-03-24 07:28:17 -07:00
reed
62a320c8d4 Revert of Revert of remove colorfilter native-565 support. complicating w/ no real value. (patchset #1 id:1 of https://codereview.chromium.org/1022673007/)
Reason for revert:
fix for chrome has landed...

Original issue's description:
> Revert of remove colorfilter native-565 support. complicating w/ no real value. (patchset #2 id:20001 of https://codereview.chromium.org/1015533011/)
>
> Reason for revert:
> skia/ext/benchmarking_canvas.cc references HasFilter16 :(
>
> Original issue's description:
> > remove colorfilter native-565 support. complicating w/ no real value.
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/2151353d161fe389cdc0db62cfe1932c7680f710
>
> TBR=reed@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/92b47c49016749249ff8521e424c4373b4a74241

TBR=reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1016103004
2015-03-24 06:35:23 -07:00
mtklein
470fa6f74b aacc + bbdd
SkMatrix::mapPts() using aacc/bbdd was always worse than using badc():
  - On Intel, it was faster than exisiting swizzle, but badc() is 10% faster still (one pshufd instead of two).
  - On ARM, existing swizzle < badc() < aacc()+bbdd(), even though aacc() then bbdd() is really a single vtrn instruction.

I will revert SkMatrix.cpp before submitting.  Just thought you might like to look.

Will think more and try to gear up Instruments on ARM.

BUG=skia:

Review URL: https://codereview.chromium.org/1012573003
2015-03-24 06:16:30 -07:00
reed
92b47c4901 Revert of remove colorfilter native-565 support. complicating w/ no real value. (patchset #2 id:20001 of https://codereview.chromium.org/1015533011/)
Reason for revert:
skia/ext/benchmarking_canvas.cc references HasFilter16 :(

Original issue's description:
> remove colorfilter native-565 support. complicating w/ no real value.
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/2151353d161fe389cdc0db62cfe1932c7680f710

TBR=reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1022673007
2015-03-24 05:18:09 -07:00
reed
b67eb2f9b9 Revert "Revert of impl colormatrix w/ floats (patchset #7 id:120001 of https://codereview.chromium.org/967943002/)"
disabled for the momment -- need to understand arm64 glitches

This reverts commit 374a4c3b74.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1028403002
2015-03-24 04:13:45 -07:00
reed
2151353d16 remove colorfilter native-565 support. complicating w/ no real value.
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1015533011
2015-03-24 03:50:22 -07:00
reed
8d1a97e044 Revert of correct reporting of kAlphaUnchanged_Flag in ModeFilter (patchset #1 id:1 of https://codereview.chromium.org/1033583002/)
Reason for revert:
reverting experiment. need to rebaseilne layouttest

svg/css/text-gradient-shadow.svg

Original issue's description:
> correct reporting of kAlphaUnchanged_Flag in ModeFilter
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/afced66b508ac4cd3616e2f707db27b7d6f670e1

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1026313002
2015-03-24 03:48:27 -07:00
reed
afced66b50 correct reporting of kAlphaUnchanged_Flag in ModeFilter
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1033583002
2015-03-23 20:05:04 -07:00
reed
374a4c3b74 Revert of impl colormatrix w/ floats (patchset #7 id:120001 of https://codereview.chromium.org/967943002/)
Reason for revert:
Arm64 seems to be having glitches :(

See gm:colormatrix on Arm64/TegraK1/Nexus9

last square should be all white, but it has stripes

Original issue's description:
> impl colormatrix w/ floats
>
> this needs to land first https://codereview.chromium.org/1031713003
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7971def11be91ed08eae7107b372322d24e67544

TBR=mtklein@google.com,caryclark@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1030743003
2015-03-23 18:52:57 -07:00
reed
7971def11b impl colormatrix w/ floats
this needs to land first https://codereview.chromium.org/1031713003

BUG=skia:

Review URL: https://codereview.chromium.org/967943002
2015-03-23 14:35:25 -07:00
mtklein
2e220fb9ec Start fresh on swizzles
This removes all the existing Sk4x swizzles and adds badc(), which is
both fast on all implementations and currently useful.

BUG=skia:

Review URL: https://codereview.chromium.org/997353005
2015-03-23 13:19:03 -07:00
tomhudson
f7edcdedb6 Both DM and nanobench need this, so moving the duplicated code to
one common spot. (It's incomplete, and has had bugs, so it's not
like we can confidently write once, copy-paste, and not maintain
again.)

Because SkPathEffect::exposedInAndroidJavaAPI() only builds in the
Android Framework, we might want to make all this code Framework-only?

R=djsollen@google.com,mtklein@google.com

Review URL: https://codereview.chromium.org/1021823003
2015-03-23 12:51:20 -07:00
mtklein
92d04da38f Replace _mm_cvtps_epi32(x) with _mm_cvttps_epi32(_mm_add_ps(0.5f), x).
We don't have control over which way _mm_cvtps_epi32 rounds.

  - This makes the SSE SkPMFloat rounding consistent with _neon and _none.
  - Sk4f::cast<Sk4i>() is closer to (int)float's behavior.  (Correct when >=0).

Add tests that would fail at head.

BUG=skia:

Review URL: https://codereview.chromium.org/1029163002
2015-03-23 12:01:46 -07:00
bungeman
b8a1d30a42 Add font "index" to lmp parser.
When ttc index support was added, it was added and tested on Android
with the jb parser. This adds it to the lmp parser.

Review URL: https://codereview.chromium.org/1023313002
2015-03-23 09:08:54 -07:00