Commit Graph

15658 Commits

Author SHA1 Message Date
mtklein
7c348a8097 DM can see into src/gpu. No need for relative include.
BUG=skia:

Review URL: https://codereview.chromium.org/853613004
2015-01-14 09:25:01 -08:00
mtklein
2c0e8f13a0 Remove self-assignment in a test.
BUG=skia:

Review URL: https://codereview.chromium.org/853723002
2015-01-14 08:49:10 -08:00
joshualitt
71c9260e6f More changes to bring together path / geo procs
BUG=skia:

Review URL: https://codereview.chromium.org/820783005
2015-01-14 08:12:47 -08:00
robertphillips
95145a9d3e Switch to a more complete method of filtering hoisted layers
Committed: https://skia.googlesource.com/skia/+/74668a8e818fd891a08c4966cc5973b04c1ad992

Review URL: https://codereview.chromium.org/842323003
2015-01-14 08:08:21 -08:00
egdaniel
38cd055215 Do some minor pre cleanup work before converting all xfermodes to XPs.
BUG=skia:

Review URL: https://codereview.chromium.org/853543003
2015-01-14 08:05:11 -08:00
mtklein
b47bba7c77 upstream hooking into google3 crash handler for better stacktraces
BUG=skia:

Review URL: https://codereview.chromium.org/821643006
2015-01-14 06:38:28 -08:00
skia.buildbots
8018e680a4 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/812283007
2015-01-14 05:14:15 -08:00
mtklein
3f915c0c9a upstream google3 include paths for jsoncpp
BUG=skia:

No public API changes
TBR=reed@google.com

Review URL: https://codereview.chromium.org/853613002
2015-01-14 05:02:39 -08:00
kkinnunen
26a00de4f3 Remove incremental draw optimization from SkDebugCanvas
The SkDebugCanvas can be (or is currently) being used to draw to multiple
different canvases. If this use-case is intended, then storing draw
-related state in the canvas causes bugs.

Remove incremental draw from SkDebugCanvas. It can only optimize the
case where draw command index is advanced, no other changes are done
and no visualization is used. This case is not that critical, as it
happens only once per new frame at most. It causes bugs, because
one SkDebugCanvas is used to draw to multiple canvases.

Leave the draw to canvas in same state as it was passed in.

This fixes the debugger bugs where:
 * Old, stale image would stay on the raster canvas when a new image is
 loaded. Also happened with resizes.

 * Proper image for overdraw filter would be visible only for the first
   frame

Review URL: https://codereview.chromium.org/844493003
2015-01-13 23:09:19 -08:00
kkinnunen
cfdc0e3fee debugger: SW rasterize the picture only when it changes
Rasterize the picture only when it changes, not every time
raster widget paints itself.

Removes include SkForceLinking.h while organizing the SkDebuggerGUI.cpp
includes.

This is part of the work trying to remove bugs that come from
SkDebugCanvas stateful draw. Part of the state comes from some
optimization that this tries to reproduce in a different way.

Review URL: https://codereview.chromium.org/839743003
2015-01-13 22:49:02 -08:00
reed
63121f0db6 delete the dreaded TransitionView
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/850843002
2015-01-13 19:43:04 -08:00
joshualitt
812c0283b9 rebase + ignores
NOTRY=True
TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/841873007
2015-01-13 18:54:01 -08:00
joshualitt
9b7eb11253 rebase of expectations
TBR=
NOTRY=True
BUG=skia:

Review URL: https://codereview.chromium.org/847313002
2015-01-13 17:50:27 -08:00
joshualitt
31b52b7c64 fix for winvdows nvpr
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/804023005
2015-01-13 17:05:03 -08:00
joshualitt
abb52a1a70 Move most of the transform logic into the primitive processors
BUG=skia:

Review URL: https://codereview.chromium.org/822423004
2015-01-13 15:02:10 -08:00
reed
a7f11918d9 rename blitrow::proc and add (uncalled) hook for colorproc16
BUG=skia:3302

Review URL: https://codereview.chromium.org/847443003
2015-01-13 13:51:00 -08:00
mtklein
e55fb177e9 Allow -DGOOGLE3 to bypass our normal platform intrinsic dispatch.
The current code that pound-includes another define doesn't seem to be working there.

BUG=skia:

No API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/820643005
2015-01-13 13:27:26 -08:00
joshualitt
3c1096fc07 fix for FB fetch on nexus 10 ES3.0
BUG=skia:3304

Review URL: https://codereview.chromium.org/807143006
2015-01-13 13:13:59 -08:00
rmistry
bb928a0c0a Add pageset for ugamsolutions.com
BUG=skia:3306
NOTRY=true

Review URL: https://codereview.chromium.org/851743004
2015-01-13 11:52:28 -08:00
robertphillips
5d17286b35 Revert of Switch to a more complete method of filtering hoisted layers (patchset #1 id:1 of https://codereview.chromium.org/842323003/)
Reason for revert:
nanobench woes

Original issue's description:
> Switch to a more complete method of filtering hoisted layers
>
> Committed: https://skia.googlesource.com/skia/+/74668a8e818fd891a08c4966cc5973b04c1ad992

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

Review URL: https://codereview.chromium.org/851773002
2015-01-13 10:54:37 -08:00
mtklein
963b832833 allow simple
BUG=skia:

Review URL: https://codereview.chromium.org/824753006
2015-01-13 10:51:36 -08:00
robertphillips
74668a8e81 Switch to a more complete method of filtering hoisted layers
Review URL: https://codereview.chromium.org/842323003
2015-01-13 10:37:55 -08:00
mtklein
199ba8e19b namespace {} trick for SK_DECLARE_STATIC_ONCE
Like all our other SK_DECLARE_STATIC_*, it's usually not a thread-safe
thing to put inside a function.  Adding namespace {} prevents that
syntactically.

Needs https://codereview.chromium.org/841263004/ to land first.

BUG=chromium:447890

No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/806473006
2015-01-13 08:40:23 -08:00
torne
60f8353f68 Hide ARM assembly memset symbols.
Prevent these symbols from being exported from any library which
includes skia by marking them .hidden, as they are implementation
details of skia.

BUG=skia:3303

Review URL: https://codereview.chromium.org/831663004
2015-01-13 08:37:34 -08:00
mtklein
6f07665768 Simplify SkInstCnt
This code requires fewer macros to use it (just one), has less code in macro
definitions, and has simpler synchronization code (just atomic ints, no SkOnce,
no SkMutex, etc.)

A minor downside, we lose indentation and reverse-ordering in the final report:
  Leaked SkRefCntBase: 7
     Leaked SkFontMgr: 1
     Leaked SkWeakRefCnt: 1
         Leaked SkTypeface: 1
     Leaked SkFlattenable: 3
         Leaked SkXfermode: 3
     Leaked SkPathRef: 1
     Leaked SkPixelRef: 1
         Leaked SkMallocPixelRef: 1
becomes
  Leaked SkXfermode: 3
  Leaked SkMallocPixelRef: 1
  Leaked SkPixelRef: 1
  Leaked SkPathRef: 1
  Leaked SkFlattenable: 3
  Leaked SkTypeface: 1
  Leaked SkWeakRefCnt: 1
  Leaked SkFontMgr: 1
  Leaked SkRefCntBase: 7

This is motivated by wanting to land https://codereview.chromium.org/806473006/,
which makes sure all static use of SkOnce are in global scope.  The current
implementation of SkInstCnt uses them in function scope, which isn't safe.
BUG=skia:

No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/841263004
2015-01-13 08:22:44 -08:00
fmalita
c3796c7a74 Generic PDF shader fallback
Instead of ignoring unsupported shaders (and essentially filling with
solid black), convert them to bitmap shaders using on-the-fly
rasterization.

BUG=skia:3299
R=reed@google.com,halcanary@google.com

Review URL: https://codereview.chromium.org/841763005
2015-01-13 08:06:11 -08:00
halcanary
f361b71439 In SkPDFDocument::emitPDF(), stop pre-calculating file offsets.
* Add Streamer utility class which measures the current
  pdf offset by calling SkWStream::bytesWritten(). Calls
  SkPDFCatalog::setFileOffset() and SkPDFObject::emit() at
  the same time to guarantee that everything works out.

* SkPDFCatalog::setFileOffset() no longer calculates the
  object's size.

* SkPDFCatalog::setSubstituteResourcesOffsets() removed.

* SkPDFCatalog::emitSubstituteResources() removed and
  getSubstituteList() made public in its place.

* Remove SkPDFPage::getPageSize and SkPDFPage::emitPage.
  Replace with SkPDFPage::getContentStream().

* SkPDFObject::getOutputSize no longer virtual, only used in
  unit tests.  All SkPDFObject subclasses getOutputSize()
  overrides removed.

* SkPDFObject::getIndirectOutputSize removed.

* PDFPrimitivesTest updated for new functions.

Review URL: https://codereview.chromium.org/846023003
2015-01-13 07:12:57 -08:00
skia.buildbots
7e783786d8 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/819403005
2015-01-13 04:26:37 -08:00
reed
4ef0c8aea2 remove NewTexture?
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/831323005
2015-01-13 04:00:55 -08:00
robertphillips
125ee60ed3 Revert of Fix GPU clipped-AA vs. non-AA drawRect discrepancy (patchset #2 id:20001 of https://codereview.chromium.org/839883003/)
Reason for revert:
This CL introduces rendering conflicts with hairlines (i.e., the hairlines get overwritten). These conflicts are particularly visible on the following GMs (for the Ubuntu and Android gpu configs):

coloremoji & complexclip2_rrect_bw

Original issue's description:
> Fix GPU clipped-AA vs. non-AA drawRect discrepancy
>
> In the clip stack we were manually rounding out non-AA clip rects but leaving the hardening of non-AA drawRects up to the GPU. In some border cases the GPU can truncate rather than round out resulting in visual discrepancies.
>
> BUG=423834
>
> Committed: https://skia.googlesource.com/skia/+/933a03fecb65c83f81cf65d5cf9870c69aa379ff

TBR=bsalomon@google.com,jvanverth@google.com
NOTREECHECKS=true
NOTRY=true
BUG=423834

Review URL: https://codereview.chromium.org/847033002
2015-01-12 18:26:01 -08:00
robertphillips
933a03fecb Fix GPU clipped-AA vs. non-AA drawRect discrepancy
In the clip stack we were manually rounding out non-AA clip rects but leaving the hardening of non-AA drawRects up to the GPU. In some border cases the GPU can truncate rather than round out resulting in visual discrepancies.

BUG=423834

Review URL: https://codereview.chromium.org/839883003
2015-01-12 15:50:38 -08:00
halcanary
f62c63490f SIMPLE_GM generates less code
Review URL: https://codereview.chromium.org/811703005
2015-01-12 15:27:46 -08:00
halcanary
4fc48af0d7 Change function signature of SkPDFObject::emitObject.
Replace virutal SkPDFObject::emitObject(s, c, true) with non-virtual
SkPDFObject::emitIndirectObject(s, c), since none of the subclasses do
(or should do) anything different.

Replace object->emitObject(s, c, false) with object->emitObject(s, c)

This is one step in simplifying the SkPDFObject interface to allow for
the next step in refactoring.

Review URL: https://codereview.chromium.org/827733004
2015-01-12 10:07:50 -08:00
qiankun.miao
0899696e9f Fix overlap test for 64-bit pointers in SkMatrix
BUG=skia:3297

Review URL: https://codereview.chromium.org/803493008
2015-01-12 07:50:25 -08:00
fmalita
815e9b5e23 Remove SK_SUPPORT_LEGACY_GRADIENT_PRECISION
No longer used by Chromium.

BUG=447870
R=reed@google.com

Review URL: https://codereview.chromium.org/824063004
2015-01-12 06:20:39 -08:00
skia.buildbots
4f22bea1de Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/846843002
2015-01-11 22:29:47 -08:00
skia.buildbots
ef0b4e7309 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/828243004
2015-01-10 22:58:16 -08:00
reed
f5872d2f41 add stroke params to c api
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/848553002
2015-01-10 17:59:31 -08:00
halcanary
9e398f79c9 add --rasterPDF flag to DM
If no rasterizer is compiled in, this flag does nothing.  Default
value (true) gives the same behavior as before.

Review URL: https://codereview.chromium.org/830333005
2015-01-10 11:18:04 -08:00
skia.buildbots
07394ca5ed Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/845093003
2015-01-09 23:07:53 -08:00
reed
0846f1b1c4 remove (dead) SK_SUPPORT_LEGACY_DRAWDATA and SK_SUPPORT_LEGACY_CANVAS_VIRTUAL
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/844053002
2015-01-09 14:17:40 -08:00
jcgregorio
a91dc3140c Document some skia perf interesting queries.
Preview here: http://skiadocs.com:8000/dev/tools/skiaperf?cl=839303002

BUG=skia:

Review URL: https://codereview.chromium.org/839303002
2015-01-09 10:35:52 -08:00
mtklein
72c9faab45 Fix up all the easy virtual ... SK_OVERRIDE cases.
This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases.  We'll have to manually clean up the rest
over time unless I level up in regexes.

for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end

BUG=skia:

Review URL: https://codereview.chromium.org/806653007
2015-01-09 10:06:40 -08:00
Mike Klein
4490da227f Can't include SkTypes.h from ports/
BUG=skia:

Review URL: https://codereview.chromium.org/847533002
2015-01-09 12:29:08 -05:00
mtklein
8b50ac242b Use error-checking mutexes in Debug builds.
Upside:   our deadlock detection is now thread-safe.
Downside: static mutexes on Macs won't have deadlock detection until we drop 10.6.

BUG=skia:3294

Review URL: https://codereview.chromium.org/816833005
2015-01-09 09:02:44 -08:00
reed
15bfc6ce44 rebaseline after conic change
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/840333002
2015-01-09 08:36:43 -08:00
mtklein
d0256a2fbc PictureNestingBench: stay in ints.
BUG=skia:

Review URL: https://codereview.chromium.org/784173004
2015-01-09 08:33:36 -08:00
djsollen
fcfea99d9d Upstream custom freetype embolding strength from Android
BUG=skia:2377

Review URL: https://codereview.chromium.org/839243002
2015-01-09 08:18:13 -08:00
mtklein
703dd2ed18 Remove SkTileGrid (except for TileGridInfo).
TBR=reed@google.com

BUG=skia:3085

Review URL: https://codereview.chromium.org/845623002
2015-01-09 06:41:48 -08:00
reed
9250543c55 rebaseline NexusPlayer after conic fix
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/843063003
2015-01-09 06:36:49 -08:00