Commit Graph

18353 Commits

Author SHA1 Message Date
senorblanco
59cd36765c Revert of Implement caching of stroked paths in the tessellated path renderer. (patchset #4 id:60001 of https://codereview.chromium.org/1275553002/ )
Reason for revert:
Breaking/asserting in Debug on DM.

Original issue's description:
> Implement caching of stroked paths in the tessellated path renderer.
>
> This requires adding the stroke info to the cache key, and doing the
> stroking and dashing before rendering as triangles.
>
> BUG=skia:3755
>
> Committed: https://skia.googlesource.com/skia/+/29e0d3f267a03546f236023347cdb4595ece2fd1

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3755

Review URL: https://codereview.chromium.org/1276633002
2015-08-05 13:37:49 -07:00
senorblanco
29e0d3f267 Implement caching of stroked paths in the tessellated path renderer.
This requires adding the stroke info to the cache key, and doing the
stroking and dashing before rendering as triangles.

BUG=skia:3755

Review URL: https://codereview.chromium.org/1275553002
2015-08-05 13:18:03 -07:00
mtklein
94df02344b Update NOPRESUBMIT docs.
"NOPRESUBMIT=true" does not work anymore for me.

BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1271423002

Review URL: https://codereview.chromium.org/1271423002
2015-08-05 13:08:12 -07:00
msarett
99f567e617 Scanline decoding for wbmp
We are also changing the wbmp to use SkSwizzler.  This
will allow us to take advantage of the sampling routines
that are being implemented in SkSwizzler.

The image in this upload came from:
https://commons.wikimedia.org/wiki/File:Android_robot.png

It is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.

BUG=skia:

Review URL: https://codereview.chromium.org/1254483004
2015-08-05 12:58:26 -07:00
oysteine
dfcba473b0 Moved common cross-project functionality out from SkTraceEvent.h into SkTraceEventCommon.h
Traditionally, SkTraceEvent.h was manually kept in sync with base/trace_event/trace_event.h, with project-specific parts intermixed, and tended to drift out of sync a lot (mainly in Blink, less so in Skia).

The SkTraceEventCommon.h now has only the cross-project parts, and can be copy-pasted verbatim between projects (it's an identical copy of base/trace_event/trace_event_common.h), meaning SkTraceEvent.h shouldn't go out of sync as it has before.

BUG=skia:

[mtklein mucking around below here]
NOPRESUBMIT=true
CQ_EXCLUDE_TRYBOTS=client.skia.fyi:skia_presubmit-Trybot

Review URL: https://codereview.chromium.org/1270783002
2015-08-05 12:54:40 -07:00
bungeman
2bd028590d Add skstd::move and skstd::forward.
Since we can't use the c++11 standard library, re-implement the bits
we want to use now.

TBR=reed@google.com
The next CL is try to move SkTemplates into private.

Review URL: https://codereview.chromium.org/1273813002
2015-08-05 12:09:57 -07:00
joshualitt
2fe7923f7e Expose coord transforms from GrPipeline
BUG=skia:

Review URL: https://codereview.chromium.org/1275603002
2015-08-05 12:02:27 -07:00
joshualitt
b2aa7cb90f This CL wires up the backend portion necessary for sending transformed coords via vertex attributes.
BUG=skia:

Review URL: https://codereview.chromium.org/1243583002
2015-08-05 11:05:22 -07:00
bsalomon
0e8296eaa6 Move impl of stroke rect batch from h to cpp
Review URL: https://codereview.chromium.org/1275633003
2015-08-05 10:50:01 -07:00
bsalomon
ee14a622b0 Give strokerectbatch a proper home
Review URL: https://codereview.chromium.org/1274763002
2015-08-05 10:34:05 -07:00
joshualitt
847029043e fix for GrFragmentProcessor isEqual in GrPipeline
BUG=skia:

Review URL: https://codereview.chromium.org/1273693003
2015-08-05 09:30:02 -07:00
robertphillips
d8aa59df63 Remove SHADER_AA_FILL_RECT flag
Review URL: https://codereview.chromium.org/1271243004
2015-08-05 09:07:12 -07:00
mtklein
6c17ca5905 Update yasm .gyp for tweaked ASAN bots.
They're not passing -fsanitize=address anymore, rather
-fsanitize=address,bool,etc,etc,etc...

NOTREECHECKS=true

BUG=skia:

Review URL: https://codereview.chromium.org/1269383002
2015-08-05 08:58:45 -07:00
mtklein
c0e1af1422 Revert of Intentionally crash DM to make sure all bots are up-to-date. (patchset #1 id:1 of https://codereview.chromium.org/1274693002/ )
Reason for revert:
win x64 looks fixed

Original issue's description:
> Intentionally crash DM to make sure all bots are up-to-date.
>
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3749b9646103f544f17aa926fab050f1e5178b17

TBR=borenet@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1275543003
2015-08-05 08:40:19 -07:00
Eric Boren
fa1c073b4c Fix make.py: BUILDTYPE
TBR=mtklein
BUG=skia:
NOTRY=true
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1273793003 .
2015-08-05 11:30:28 -04:00
Mike Klein
3749b96461 Intentionally crash DM to make sure all bots are up-to-date.
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1274693002 .
2015-08-05 11:13:59 -04:00
Mike Klein
dd958e72f9 Add tools/ubsan.supp.
Should unbreak TSAN bots.

BUG=skia:

Review URL: https://codereview.chromium.org/1272213003 .
2015-08-05 10:12:33 -04:00
bsalomon
1cd63111d5 init atomic bool in SkImage_Gpu
BUG=chromium:516860

TBR=reed@google.com

NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1269243004
2015-08-05 06:58:39 -07:00
joshualitt
9162ea9444 Revert of Break LCD and Bitmap text dependency on hardcoded atlas values (patchset #2 id:20001 of https://codereview.chromium.org/1271873002/ )
Reason for revert:
Breaks S3

Original issue's description:
> Break LCD and Bitmap text dependency on hardcoded atlas values
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/846b022f6b469cfde285372f26e0d5c593d122ac

TBR=jvanverth@google.com,bsalomon@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1271163003
2015-08-05 06:46:09 -07:00
joshualitt
b356cbc765 Move atlas creation to internal to GrResourceProvider
BUG=skia:

Review URL: https://codereview.chromium.org/1260183006
2015-08-05 06:36:39 -07:00
reed
093b4e8f51 - allow for stepping through a picture with 'n' and 'p'
- save current slide as .skp with 'K'

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1272063002
2015-08-04 18:46:38 -07:00
reed
fb8c1fcab1 Revert of IWYU: 'core' target, files starting A-C. (patchset #5 id:80001 of https://codereview.chromium.org/1265033002/ )
Reason for revert:
revert to unblock DEPS roll

../../chrome/browser/chromeos/display/overscan_calibrator.cc:43:10: error: variable has incomplete type 'SkPath'
  SkPath base_path;

Original issue's description:
> IWYU: 'core' target, files starting A-C.
>
> TBR=reed@google.com
> Verbal lgtm, does not change API.
>
> Committed: https://skia.googlesource.com/skia/+/7403d87db8e43d4c2b5b25ac22a0ebc22bd09d69

TBR=reed@google.com,mtklein@google.com,bungeman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1273613002
2015-08-04 18:44:57 -07:00
bungeman
7403d87db8 IWYU: 'core' target, files starting A-C.
TBR=reed@google.com
Verbal lgtm, does not change API.

Review URL: https://codereview.chromium.org/1265033002
2015-08-04 14:56:53 -07:00
borenet
1b99b548cb Whitespace change to test Gerrit ACLs
BUG=skia:
TBR=mtklein

Review URL: https://codereview.chromium.org/1255313004
2015-08-04 14:23:48 -07:00
mtklein
d029ded92d Port morphology to SkOpts.
Nothing too fancy.

Direction enums become enum classes so they don't get all confused.  An
alternative is to create one single Direction enum that both blur and
morphology opts use.

BUG=skia:4117

Review URL: https://codereview.chromium.org/1267343004
2015-08-04 14:09:09 -07:00
halcanary
9f8754f591 Remove experimental/PdfViewer
Motivation: maintaining this code doesn't seem worth the time,
since no one seems to be using it.  If someone wants to use it
in the future, just revert this CL.

Review URL: https://codereview.chromium.org/1266093003
2015-08-04 14:08:44 -07:00
fmalita
1dedc3d2c0 SkPictureImageGenerator
R=reed@google.com

Review URL: https://codereview.chromium.org/1240093004
2015-08-04 13:53:14 -07:00
Mike Klein
8caa5af92c Reorganize to keep similar code together.
This organizes memset16, memset32, and rsqrt the same way as the other code.  No functional change.

BUG=skia:4117
R=djsollen@google.com

Review URL: https://codereview.chromium.org/1264423002 .
2015-08-04 16:48:43 -04:00
Eric Boren
8e47cdb176 whitespace change to test whether I can commit
BUG=skia:

Review URL: https://codereview.chromium.org/1268663005 .
2015-08-04 16:38:38 -04:00
Mike Klein
6c3c4ea6db Remove dead code.
BUG=skia:4117
R=mtklein@google.com

Review URL: https://codereview.chromium.org/1262213005 .
2015-08-04 15:49:09 -04:00
senorblanco
84cd621670 Implement caching of filled paths in the tessellated path renderer.
Paths are cached as tessellated triangle meshes in vertex buffers on the GPU. Stroked paths are not (yet) cached.

Paths containing no curved segments (linear paths) are reused at all scales. Paths containing curved segments are reused within a scale tolerance threshold.

In order to invalidate the cache when an SkPath is changed or deleted,
this required implementing genID change notification in SkPath. This is
modelled almost exactly on SkPixelRef::GenIDChangeListener.
However, It does not currently implement the check for unique genIDs,
so notifiers will fire when the first instance of an SkPathRef
using a given genID is destroyed.

Another caveat is that you cannot successfully add a change notifier
to an empty path, since it uses the "canonical" empty path which is
never modified or destroyed. For this reason, we prevent adding
listeners to it.

BUG=skia:4121,skia:4122, 497403
DOCS_PREVIEW= https://skia.org/?cl=1114353004

Committed: https://skia.googlesource.com/skia/+/468dfa72eb6694145487be17876804dfca3b7adb

Review URL: https://codereview.chromium.org/1114353004
2015-08-04 10:01:58 -07:00
joshualitt
846b022f6b Break LCD and Bitmap text dependency on hardcoded atlas values
BUG=skia:

Review URL: https://codereview.chromium.org/1271873002
2015-08-04 09:40:03 -07:00
scroggo
1c005e4a38 Create a scanline decoder without creating a codec
Prior to this CL, if a client wanted to decode scanlines, they had to
create an SkCodec in order to get an SkScanlineDecoder. This introduces
complications if input data is not easily shared between the two
objects.

Instead, add methods to SkScanlineDecoder for creating a new one from
input data, and remove the creation functions from SkCodec.

Update DM and tests.

Review URL: https://codereview.chromium.org/1267583002
2015-08-04 09:24:45 -07:00
joshualitt
ddc726f1de Add cheat sheet to wrangler doc
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1264313003
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1264313003
2015-08-04 09:24:30 -07:00
mtklein
dce5ce4276 Port SkBlurImage opts to SkOpts.
+268 -535 lines

I also rearranged the code a little bit to encapsulate itself better,
mostly replacing static helper functions with lambdas.  This also
let me merge the SSE2 and SSE4.1 code paths.

BUG=skia:4117

Review URL: https://codereview.chromium.org/1264103004
2015-08-04 08:49:21 -07:00
mtklein
562a66b093 Revert "Implement caching of filled paths in the tessellated path renderer."
This reverts commit 468dfa72eb.

    This CL caused signficant GM diffs.

Revert "Fix resource cache test."
This reverts commit b001c41ed3.
Revert "Fix SkData leaks at GrResourceKey::setCustomData() call sites."
This reverts commit c369348aa5.

    These CLs depend on the first one.

BUG=skia:
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1260363007
2015-08-04 08:46:16 -07:00
reed
dea6e1c737 update image bench to test gpu and cpu images against raster surface
BUG=513695
TBR=

Review URL: https://codereview.chromium.org/1261043003
2015-08-04 08:42:40 -07:00
reed
6f1216ac15 cache private readback for gpu-images
Does not try to cache calls to readPixels at the moment:
- not triggered by drawing
- not clear if we want to perform any pixel transformations (that readPixels allows) on the GPU or CPU

Can consider that another time.

BUG=513695

Review URL: https://codereview.chromium.org/1262923003
2015-08-04 08:10:13 -07:00
robertphillips
fae010266f Remove IGNORE_ROT_AA_RECT_OPT flag
It looks like the positive version was added (SHADER_AA_FILL_RECT) but the negative version wasn't removed.

Review URL: https://codereview.chromium.org/1271903003
2015-08-04 08:04:29 -07:00
wangyix
4b3050b410 Added registerChild; transforms, textures, glKey automatically handled.
BUG=skia:

Review URL: https://codereview.chromium.org/1266633003
2015-08-04 07:59:37 -07:00
Stephen White
c369348aa5 Fix SkData leaks at GrResourceKey::setCustomData() call sites.
BUG=skia:
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1270103003 .
2015-08-03 21:53:09 -04:00
mtklein
1d183b4cb3 Revert of SkCanvas::onDrawPicture() quick-reject (patchset #3 id:40001 of https://codereview.chromium.org/1264133003/ )
Reason for revert:
webkit_unit_tests  :(

Original issue's description:
> SkCanvas::onDrawPicture() quick-reject
>
> R=reed@google.com,mtklein@google.com
>
> Committed: https://skia.googlesource.com/skia/+/48ed62b29d45e42b971aac8858da06781c93e6d7

TBR=reed@google.com,fmalita@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1273433002
2015-08-03 18:08:30 -07:00
fmalita
48ed62b29d SkCanvas::onDrawPicture() quick-reject
R=reed@google.com,mtklein@google.com

Review URL: https://codereview.chromium.org/1264133003
2015-08-03 15:30:35 -07:00
reed
e00368018d remove flags that control no code
BUG=skia:

Review URL: https://codereview.chromium.org/1259653004
2015-08-03 14:44:32 -07:00
bsalomon
c41f4d6055 Fix elliptical rrect clip shaders for large radii on devices with mediump
BUG=chromium:426217

Review URL: https://codereview.chromium.org/1256353004
2015-08-03 14:23:03 -07:00
reed
799a3646f9 add bench for gpu-image -> cpu-surface
BUG=513695
TBR=

Review URL: https://codereview.chromium.org/1261663004
2015-08-03 14:18:04 -07:00
Stephen White
b001c41ed3 Fix resource cache test.
TBR=bsalomon@chromium.org

Review URL: https://codereview.chromium.org/1257253007 .
2015-08-03 16:30:23 -04:00
senorblanco
468dfa72eb Implement caching of filled paths in the tessellated path renderer.
Paths are cached as tessellated triangle meshes in vertex buffers on the GPU. Stroked paths are not (yet) cached.

Paths containing no curved segments (linear paths) are reused at all scales. Paths containing curved segments are reused within a scale tolerance threshold.

In order to invalidate the cache when an SkPath is changed or deleted,
this required implementing genID change notification in SkPath. This is
modelled almost exactly on SkPixelRef::GenIDChangeListener.
However, It does not currently implement the check for unique genIDs,
so notifiers will fire when the first instance of an SkPathRef
using a given genID is destroyed.

Another caveat is that you cannot successfully add a change notifier
to an empty path, since it uses the "canonical" empty path which is
never modified or destroyed. For this reason, we prevent adding
listeners to it.

BUG=skia:4121,skia:4122, 497403
DOCS_PREVIEW= https://skia.org/?cl=1114353004

Review URL: https://codereview.chromium.org/1114353004
2015-08-03 13:04:03 -07:00
reed
4dea94f621 remove getdevice guard for android
BUG=skia:
NOTRY=True

Review URL: https://codereview.chromium.org/1266363002
2015-08-03 11:45:34 -07:00
joshualitt
df0c557850 Use new API everywhere for GrDefaultGeoProcFactory
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/801823b3d825d96baadeb9077c5ed1a8ada05cf2

Review URL: https://codereview.chromium.org/1261083003
2015-08-03 11:35:29 -07:00