Commit Graph

18788 Commits

Author SHA1 Message Date
joshualitt
0cffb171eb Remove GrAddPathRenderers_default
BUG=skia:

Review URL: https://codereview.chromium.org/1311673014
2015-09-02 08:42:16 -07:00
caryclark
4f588b5b61 Replace font name table access with standard Skia function.
Remove partial name detection.

Fix typo in custom deserializer to use the sk_ truncated font name.

Review URL: https://codereview.chromium.org/1327683002
2015-09-02 08:08:32 -07:00
reed
d6b30315ad forgot base impl
BUG=skia:
TBR=fmalita

Review URL: https://codereview.chromium.org/1323173002
2015-09-02 07:06:23 -07:00
joshualitt
9446930c3b Fix for distancefield text uses override descriptor
BUG=skia:4282

Review URL: https://codereview.chromium.org/1324953002
2015-09-02 06:13:39 -07:00
borenet
e5a38f0ad2 VisualBenchTest: Read nanobench_flags.txt
BUG=skia:4093

Review URL: https://codereview.chromium.org/1314873005
2015-09-02 06:04:29 -07:00
rmistry
a3710c3262 Specify try_job_retry_config for Skia try jobs
Retry config support was added to the CQ in https://chromereviews.googleplex.com/240527013/
This CL uses the retry config in Skia's cq.cfg file.

CQ's default failure_retry_weight is 1. We set it to 2 which will immediately go beyond the try job quota and will not retry for failures. It will retry for transient errors.

BUG=chromium:522460
TBR=mtklein
NOTRY=true

Review URL: https://codereview.chromium.org/1330473002
2015-09-02 05:23:23 -07:00
msarett
9e707a0412 Various improvements to CodecSrc testing in dm
*** Add CodecMode and ScaledCodecMode (in place of
NormalMode), so now we test SkCodec's getPixels() and
SkScaledCodec's getPixels()

*** Don't attempt to test scanline and codec modes using
the dimensions that were recommended for SkScaledCodec.

*** Change tags so that each scale gets its own output
folder.

TODO: Make ScanlineMode and ScanlineSubsetMode support
kOutOfOrder etc.  I think this belongs with the gif CL -
I don't want to add test modes that we don't run yet.

BUG=skia:4202
BUG=skia:4238

Review URL: https://codereview.chromium.org/1327433003
2015-09-01 14:57:57 -07:00
msarett
9aa32d1d83 Fix bmp bug in ReadHeader()
For BmpMaskCodecs, we need to skip any offset after the
header to get to the start of pixel data.

Before this fix, we only skipped this data when codecOut
is non-NULL (instead of on every call to ReadHeader()).

https://gold.skia.org/search?q=1&neg=true&unt=false&query=name%3Drgb16-565pal.bmp_0.200%26name%3Drgb16-565pal.bmp%26name%3Drgb16-565pal.bmp_0.250%26name%3Drgb16-565pal.bmp_0.333%26name%3Drgb16-565pal.bmp_0.375%26name%3Drgb16-565pal.bmp_0.400%26name%3Drgb16-565pal.bmp_0.500%26source_type%3Dimage
BUG=skia:

Review URL: https://codereview.chromium.org/1318393004
2015-09-01 14:40:46 -07:00
halcanary
f29a0c7715 Experimental: fix document
NOTRY=true

TBR=

Review URL: https://codereview.chromium.org/1324043002
2015-09-01 13:44:22 -07:00
halcanary
e212789b08 Experimental: document that cmake + c api example now works in Ubuntu.
NOTRY=true

TBR=

Review URL: https://codereview.chromium.org/1318823011
2015-09-01 13:37:02 -07:00
halcanary
0e050c6620 Remove an extra newline in documentation.
TBR=
NOTRY=true

Review URL: https://codereview.chromium.org/1319363003
2015-09-01 13:25:02 -07:00
mtklein
518a2923f1 Stop using SkScalerContext::getAdvance() in SkGlyphCache.
We think it'll simplify things to just always get the full metrics.
On most platforms, it's no different, and we think the platforms that
do differ (FreeType) will be nearly just as cheap.

Removing this distinction helps us make SkGlyphCaches concurrent by
removing a state (we-have-only-advances) from its logical state machine.

We see no significant changes running SKPs before and after this CL.
That makes sense, of course, because the SKPs bake some of this into drawPosText.

BUG=skia:

Review URL: https://codereview.chromium.org/1321243004
2015-09-01 12:32:24 -07:00
reed
86e90fafe1 add preroll to image, for chrome's warmup pass
BUG=skia:

Review URL: https://codereview.chromium.org/1301373007
2015-09-01 12:22:32 -07:00
mtklein
12d40c18b9 Restore old NEON blit_mask_d32_a8 methods.
As you'll see from the BUG line, we have a strong indication that the new Sk4px
methods regress some devices.  This restores the old code back as literally as possible
while still fitting in SkOpts framework.

This is ideally temporary breathing room.

We should get an early indication of if those bugs will improve by watching https://perf.skia.org/#4004

BUG=skia:4117,525844,519596,524149

Review URL: https://codereview.chromium.org/1312763009
2015-09-01 11:03:11 -07:00
halcanary
c9119060a0 Documentation: C API comments
Review URL: https://codereview.chromium.org/1271023002
2015-09-01 10:45:09 -07:00
halcanary
2a4a4219aa Cmake: fix to make linking work on Ubuntu
Review URL: https://codereview.chromium.org/1320443009
2015-09-01 10:11:44 -07:00
halcanary
219f18f30d C API: Add SK_API, also documentation of an example.
SK_API = __declspec(dllexport) / __attribute__((visibility("default")))

Also, add documentation in experimental/c-api-example/c.md

Review URL: https://codereview.chromium.org/1307183006
2015-09-01 10:01:38 -07:00
wangyix
73fa61670d Added SkComposeShader GPU implementation
moved onCreateGLInstance() to private in GrComposeEffect

Added SkComposeShader gpu implementation; composeshader gm is unchanged

BUG=skia:4182

TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1292353005
2015-09-01 09:45:08 -07:00
mtklein
0ce744e306 CMake tweaks
- I think CMake 3.1 is enough for now.
  - Ubuntu works too.

BUG=skia:4269

Review URL: https://codereview.chromium.org/1323093002
2015-09-01 09:22:32 -07:00
hendrikw
0a1fa5e4c3 skia: Replace CommandBuffer_ with egl
I ended up exporting the egl functions directly, so this
needs to change on the skia side as well

Review URL: https://codereview.chromium.org/1324823002
2015-09-01 09:08:00 -07:00
robertphillips
c9a3706f1e Limit lifetime of GrDrawContext objects
GrDrawContext's are about to become real allocated objects. This CL sets up the machinery so they won't leak.

Review URL: https://codereview.chromium.org/1321353002
2015-09-01 08:34:28 -07:00
joshualitt
dac7005b87 Remove GrGpuTraceMarker hooks until we rethink the design
TBR=bsalomon@google.com
BUG=526308

Review URL: https://codereview.chromium.org/1323823003
2015-09-01 08:19:46 -07:00
wangyix
aeb77eaff8 GrGLBlend::AppendPorterDuffBlend now supports kClear_Mode
BUG=skia:4182

Review URL: https://codereview.chromium.org/1307393005
2015-09-01 07:56:14 -07:00
jvanverth
2dc29940c5 Various minor cross-platform changes
Review URL: https://codereview.chromium.org/1310843007
2015-09-01 07:16:46 -07:00
mtklein
c5281e5b10 SkColorCubeFilter_opts: rounding is actually free here.
(Sk4f(float) is statically initializable, unlike the old SkPMFlor(SkPMColor).)

BUG=skia:4117

Review URL: https://codereview.chromium.org/1317593007
2015-09-01 07:09:22 -07:00
joshualitt
6335a72976 Move PathRenderers to batches folder
BUG=skia:

Review URL: https://codereview.chromium.org/1306143005
2015-09-01 06:50:55 -07:00
msarett
fbccb5995d Call standard libjpeg/libjpeg-turbo APIs
BUG=skia:

Review URL: https://codereview.chromium.org/1322623004
2015-09-01 06:43:41 -07:00
mtklein
a508f3c62d Require Sk4f::toBytes() clamps
BUG=skia:4117

CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.android:Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Release-Trybot

Review URL: https://codereview.chromium.org/1312053004
2015-09-01 06:29:45 -07:00
caryclark
580c40ae71 link test to bug
crbug.com/526025 includes a minimized SVG test case.
Translating that test case into native code (fuzzTNG)
did not reproduce the bug. That test case should
have not been included with skia issue 1323813003,
and is deleted here.

Running the minimal test case in a modified version
of chrome isolated the bug. The modified version
generated the test fuzz763_3 with the edit

#define DEBUGGING_PATHOPS_FROM_HOST 1

in src/pathops/SkPathopsOp.cpp line 188.

Rename fuzz763_3 to issue_526025 to associate the test
with the bug. Note that the bug contains the body of the
CL in comment $5.

R=reed@google.com

Review URL: https://codereview.chromium.org/1315503005
2015-09-01 06:22:36 -07:00
robertphillips
f6703fa0aa Make GrTextContext no longer store a GrDrawContext
This, at least, makes GrTextContexts no longer bound to a single GrDrawContext. (Passing in a RenderTarget and praying it matched the DrawContext was always a bit fishy too).

Review URL: https://codereview.chromium.org/1320323004
2015-09-01 05:36:47 -07:00
fmalita
ddc4b46c34 Image generator-backed SkPictureShader
A respin of http://crrev.com/866773002

R=reed@google.com

Review URL: https://codereview.chromium.org/1323863002
2015-08-31 19:54:03 -07:00
mtklein
dde03ff89f Clean up remaining users of SkPMFloat
This switches over SkXfermodes_opts.h and SkColorMatrixFilter to use Sk4f,
and converts the SkPMFloat benches to Sk4f benches.

No pixels should change here, and no code beyond the Sk4f_ benches should change speed.
The benches are faster than the old versions.

BUG=skia:4117

Review URL: https://codereview.chromium.org/1324743002
2015-08-31 15:26:08 -07:00
reed
99138876a6 simplify bitmap scaler and cache
BUG=skia:

Review URL: https://codereview.chromium.org/1320513005
2015-08-31 15:16:17 -07:00
mtklein
aba1dc8c6a Move float<->byte conversions into Sk4f.
This lets us avoid conversions to [0.0, 1.0] space and rounding that aren't necessary
for SkColorCubeFilter_opts.h.

Dropping rounding on the way back to bytes means we'll see a bunch of off-by-1 diffs.

Rough perf effect:
  SSSE3: 110 -> 93  (~15%)
  NEON: 465 -> 375  (~20%)

This is the beginning of the end for SkPMFloat as an entity distinct from Sk4f.
I've kept it for now so I can convert sites one by one and think about how things
that really want to keep PM color order will work.

BUG=skia:4117

Review URL: https://codereview.chromium.org/1319413003
2015-08-31 14:39:59 -07:00
bungeman
b2885d59bc Document SkString::resize(int) as destructive.
It is easy to think in some cases that SkString::resize(int) is not
destructive, since optimizations mean that most of the time the data
is still there after a resize. However, in the general case, the
original string's data is lost and the new SkString contains garbage.

Review URL: https://codereview.chromium.org/1304833004
2015-08-31 14:36:48 -07:00
mtklein
46b42f5304 Add empty files to empty targets to appease XCode.
BUG=skia:4117

Review URL: https://codereview.chromium.org/1312703004
2015-08-31 14:21:08 -07:00
senorblanco
9389b871c3 Minor cleanup in GrTessellatingPathRenderer.
Vertex counts are always exact, so don't bother handling the case
where they're different. Just assert.
Rename variables to reflect.

BUG=skia:

Review URL: https://codereview.chromium.org/1322023002
2015-08-31 12:42:23 -07:00
bsalomon
afcd7cd324 Rename flag from "distance field" to "device independent."
Review URL: https://codereview.chromium.org/1322433006
2015-08-31 12:39:41 -07:00
bsalomon
9ceb6b5447 Revert of By default purge resources that haven't been used for 64 flushes (patchset #4 id:60001 of https://codereview.chromium.org/1316233003/ )
Reason for revert:
Breaking again

Original issue's description:
> By default purge resources that haven't been used for 64 flushes
>
> BUG=skia:4258
>
> Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104
>
> R=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/71d0c33068d41878cc3117f3761f49300f6b3d54
>
> Committed: https://skia.googlesource.com/skia/+/bd783cd5b62118277b75933c3cd7b9097129259a

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

Review URL: https://codereview.chromium.org/1322753004
2015-08-31 11:37:57 -07:00
senorblanco
2aec4e9466 Add a GM for image filters applied to stroked primitives.
BUG=skia:3194

Review URL: https://codereview.chromium.org/1323573004
2015-08-31 10:28:49 -07:00
caryclark
ae576b733d remove duplicate linked list adjustment
The list of intersection points on a curve segment may have
entries that can be safely removed when nearby points have
nearly the same t value and point value. When a path includes
very large curves as well as small ones, as is the case with
this fuzzer, additional points may lie between the similar
points that do not meet the nearby criteria.

After merging the nearby point with its doppelganger,
SkOpSegment::moveNearby() unnecessarily set the doppelganger's
next pointer to the one following the nearby point. While
this usually has no effect, since the merge already updated
the linked list, the explicit call removes the additional
outlier points from the segment.

TBR=reed@google.com
BUG=526025

Review URL: https://codereview.chromium.org/1323813003
2015-08-31 09:46:20 -07:00
borenet
5e04bcfddd Run Appurify bot in release mode
BUG=skia:4093

Review URL: https://codereview.chromium.org/1306953006
2015-08-31 09:30:57 -07:00
caryclark
5ef194c31a Suppress embedding fonts when the skp's fonts match the OS fonts.
The million SKPs generated require >5T of storage. A good deal
of that are copies of system fonts.

Chrome built with
#DEFINE SK_WHITELIST_SERIALIZED_TYPEFACES
will omit the font data if the font matches a precomputed
checksum.

The captured SKP prepends sk_ to the names of fonts that
have their data omitted. The SKP consumer can either add
renamed fonts from the recording machine, or add

gDeserializeTypefaceDelegate = WhitelistDeserializeTypeface;

which strips the sk_ prefix when deserializing typefaces.

whitelist_typefaces --check
Computes the checksums of fallback
fonts and returns 0 if the checksums match the checked-in
file SkWhitelistChecksum.cpp.

whitelist_typefaces --generate
Writes an updated version of SkWhitelistChecksum.cpp.

(Added Mike since this modifies a public header)

R=bungeman@google.com,rmistry@google.com,reed@google.com

Review URL: https://codereview.chromium.org/1317913005
2015-08-31 09:22:38 -07:00
borenet
89971d4537 Use a different download URL for Android toolchains
The current one isn't working on the Appurify bot

BUG=skia:4093

Review URL: https://codereview.chromium.org/1311533006
2015-08-31 08:35:32 -07:00
bsalomon
bd783cd5b6 By default purge resources that haven't been used for 64 flushes
BUG=skia:4258

Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104

R=robertphillips@google.com

Committed: https://skia.googlesource.com/skia/+/71d0c33068d41878cc3117f3761f49300f6b3d54

Review URL: https://codereview.chromium.org/1316233003
2015-08-31 08:25:03 -07:00
benjaminwagner
9a40a9e6a5 Provide some detail about valentine password
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1317683006

Review URL: https://codereview.chromium.org/1317683006
2015-08-31 07:27:24 -07:00
mtklein
2409abb812 CMake builds on Ubuntu now too.
Punted for now on GL on Linux.  Man that's a beast.

BUG=skia:4269

Review URL: https://codereview.chromium.org/1315753009
2015-08-31 06:59:21 -07:00
msarett
5406d6f39a Scanline decoding for bmp
Redesigns SkScanlineDecoder.h to indicate the ordering
in which the scanlines are provided

Refactors SkSwizzler::Fill() to include the zeroInit check
and to actually be correct.

BUG=skia:3257
BUG=skia:4198

Review URL: https://codereview.chromium.org/1287423002
2015-08-31 06:55:13 -07:00
bsalomon
8db52b6367 Revert of By default purge resources that haven't been used for 64 flushes (patchset #3 id:40001 of https://codereview.chromium.org/1316233003/ )
Reason for revert:
Blocking roll

Original issue's description:
> By default purge resources that haven't been used for 64 flushes
>
> BUG=skia:4258
>
> Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104
>
> R=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/71d0c33068d41878cc3117f3761f49300f6b3d54

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

Review URL: https://codereview.chromium.org/1316263003
2015-08-31 03:24:13 -07:00
Brian Salomon
71d0c33068 By default purge resources that haven't been used for 64 flushes
BUG=skia:4258

Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/1316233003 .
2015-08-30 22:12:11 -04:00