Commit Graph

18002 Commits

Author SHA1 Message Date
wangyix
6104ced165 Added a glBench for testing performance of vec4 vs scalar coverage in generated shaders.
Added bench for timing vec4 vs scalar type for coverage in shaders

BUG=skia:

Review URL: https://codereview.chromium.org/1225383002
2015-07-13 10:46:34 -07:00
senorblanco
24d2a7b463 Fix for partially-specified crop rects.
When only the left or top edge of a crop rect is given, the
right and bottom should be computed based on the incoming width
and height, not based on the crop rect's width & height. This
complies more accurately with SVG semantics.

BUG=240827

Review URL: https://codereview.chromium.org/1232873002
2015-07-13 10:27:05 -07:00
joshualitt
4421a4c90d small cleanups after fixing const of GrPipelineBuilder on DrawTarget
Fuse AutoRestoreFragmentProcessors and AutoRestoreProcessorDataManager into new AutoRestoreFragmentProcessorState class

BUG=skia:

Review URL: https://codereview.chromium.org/1228763005
2015-07-13 09:36:41 -07:00
joshualitt
2419b360ea Add GrNonAtomicRef
BUG=skia:

Review URL: https://codereview.chromium.org/1238523002
2015-07-13 09:29:42 -07:00
ethannicholas
b031fcf1c5 reenabled GrAALinearizingConvexPathRenderer, but only for stroked paths
Review URL: https://codereview.chromium.org/1237693002
2015-07-13 08:51:36 -07:00
joshualitt
ae3d63ad90 ovals now take a const GrPipelineBuilder
BUG=skia:

Review URL: https://codereview.chromium.org/1232163002
2015-07-13 08:44:06 -07:00
caryclark
1e545b6915 make gm text and colors portable
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1236893002
2015-07-13 08:19:58 -07:00
scroggo
6f818b39af Do not attempt to scale webp.
Scaling webp ends triggers warnings on our valgrind bot. It also results in
generating many images in Skia Gold that look mostly the same except
for a few pixels along the right edge.

BUG=skia:4038

Review URL: https://codereview.chromium.org/1227843005
2015-07-13 08:17:00 -07:00
mtklein
24d8249638 Tweak GYP to also link with XCode 7.
Using the XCode 7 beta, the file in the GYP doesn't exist, instead we get

/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib/libz.tbd

which is a text file describing libz and pointing to /usr/lib/libz.1.dylib.

There's a weird easy fix, which is that GYP looks for things in libraries like 'libz.dylib' and pattern match translates that to '-lz' on the command line.  (Infuriatingly, a literal '-lz' is interpreted as a file path...)

BUG=skia:

Review URL: https://codereview.chromium.org/1234493002
2015-07-13 08:13:03 -07:00
joshualitt
1c735488cb Start to propagate constness of GrPipelineBuilder up the stack
BUG=skia:

Review URL: https://codereview.chromium.org/1229143007
2015-07-13 08:08:25 -07:00
joshualitt
5e6ba21f07 Modify GrClipMaskManager to reflect logical constness
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1230023003
2015-07-13 07:35:05 -07:00
jvanverth
672bb7fc66 Remove GL-specific code from GMs and tests
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1232173002
2015-07-13 07:19:57 -07:00
rmistry
ab9cb427f4 Revert of Whitespace change to test Skia's new bugdroid configuration (patchset #1 id:1 of https://codereview.chromium.org/1237653002/)
Reason for revert:
More testing of bugdroid

Original issue's description:
> Whitespace change to test Skia's new bugdroid configuration
>
> BUG=chromium:509664
> NOTRY=true
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/17708398145a8ef9a7d905e2ec14017ee688f4ae

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:509664

Review URL: https://codereview.chromium.org/1234873004
2015-07-13 07:09:26 -07:00
scroggo
39a24f2994 Revert of Bilinear optimization for 1D convolution. (patchset #5 id:200001 of https://codereview.chromium.org/1216623003/)
Reason for revert:
Breaks MSAA

Original issue's description:
> Bilinear optimization for 1D convolution.
>
> Splits GrGLConvolutionEffect into GrGLBilerpConvolutionEffect and
> GrGLBoundedConvolutionEffect. When doing a non-bounded convolution we now
> always use the GrGLBilerpConvolutionEffect which uses bilinear filtering to
> perform half as many samples in the texture.
>
> BUG=skia:3986
>
> Committed: https://skia.googlesource.com/skia/+/91abe10af417148939548551e210c001022d3bda

TBR=bsalomon@google.com,senorblanco@chromium.org,ericrk@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3986

Review URL: https://codereview.chromium.org/1231383005
2015-07-13 07:06:45 -07:00
rmistry
1770839814 Whitespace change to test Skia's new bugdroid configuration
BUG=chromium:509664
NOTRY=true
TBR=

Review URL: https://codereview.chromium.org/1237653002
2015-07-13 06:35:15 -07:00
nodir
db8e4382a4 Skia project metadata
Added project.cfg metadata file for chrome-infra

R=borenet@google.com, rmistry@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=507723

Review URL: https://codereview.chromium.org/1231383004
2015-07-13 06:23:24 -07:00
mtklein
f059900f75 Fix up -Winconsistent-missing-override
(and a couple presubmit fixes)

This allows us to turn back on -Werror for LLVM coverage builds,
and more generally supports building with Clang 3.7.

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

BUG=skia:

Review URL: https://codereview.chromium.org/1232463006
2015-07-13 06:18:39 -07:00
mtklein
4598fc3c12 Use SK_DECLARE_STATIC_MUTEX for global mutex.
This initializes the mutex at link time on non-Windows platforms,
rather than at pre-main-runtime like `static SkMutex gFoo;`

BUG=skia:

Review URL: https://codereview.chromium.org/1226403007
2015-07-13 06:15:36 -07:00
Derek Sollenberger
bd3e8cb42c Cleanup skia test harness due to changes to DisplayListCanvas
Review URL: https://codereview.chromium.org/1235823003 .
2015-07-13 08:47:21 -04:00
caryclark
2e096609b2 make convex poly clip portable
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1238483002
2015-07-13 05:39:47 -07:00
skia.buildbots
0c606f493f Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

Review URL: https://codereview.chromium.org/1231323002
2015-07-12 00:19:05 -07:00
ericrk
91abe10af4 Bilinear optimization for 1D convolution.
Splits GrGLConvolutionEffect into GrGLBilerpConvolutionEffect and
GrGLBoundedConvolutionEffect. When doing a non-bounded convolution we now
always use the GrGLBilerpConvolutionEffect which uses bilinear filtering to
perform half as many samples in the texture.

BUG=skia:3986

Review URL: https://codereview.chromium.org/1216623003
2015-07-10 15:05:13 -07:00
joshualitt
3989205322 remove some unused stuff
BUG=skia:

Review URL: https://codereview.chromium.org/1231163002
2015-07-10 14:14:03 -07:00
reed
d0f4173fb0 add option to use global mutex-lock in mac-scalercontext
BUG=413332

Review URL: https://codereview.chromium.org/1220873009
2015-07-10 12:08:38 -07:00
scroggo
9b2cdbf481 Allow creating multiple scanline decoders.
Make getScanlineDecoder return a new object each time, which is
owned by the caller, and independent from any existing scanline
decoders and the SkCodec itself.

Since the SkCodec already contains the entire state machine, and it
is used by the scanline decoders, simply create a new SkCodec which
is now owned by the scanline decoder.

Move code that cleans up after using a scanline decoder into its
destructor

One side effect is that creating the first scanline decoder requires
a duplication of the stream and re-reading the header. (With some
more complexity/changes, we could pass the state machine to the
scanline decoder and make the SkCodec recreate its own state machine
instead.) The typical client of the scanline decoder (region decoder)
uses an SkMemoryStream, so the duplication is cheap, although we
should consider the extra time to reread the header/recreate the state
machine. (If/when we use the scanline decoder for other purposes,
where the stream may not be cheaply duplicated, we should consider
passing the state machine.)

One (intended) result of this change is that a client can create a
new scanline decoder in a new thread, and decode different pieces of
the image simultaneously.

In SkPngCodec::decodePalette, use fBitDepth rather than a parameter.

Review URL: https://codereview.chromium.org/1230033004
2015-07-10 12:07:02 -07:00
joshualitt
f9c5db26b4 Trivial cleanup
TBR=robertphillips@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1229913007
2015-07-10 11:31:01 -07:00
scroggo
33d35263bf Move android_gdb_tmp into out/
This way it will be ignored.

Review URL: https://codereview.chromium.org/1230773003
2015-07-10 11:05:10 -07:00
msarett
718e41dcb0 Fix msvs builds
BUG=skia:

Review URL: https://codereview.chromium.org/1229303002
2015-07-10 10:59:47 -07:00
scroggo
139491fbaa Use the upstream version of libwebp, v0.4.3.
DEPS:
Update to pull v0.4.3 of libwebp from upstream

gyp/libwebp.gyp:
Add new files, as referenced by the gyp file used by Chromium.

resource/tests:
Add regression tests for particular images.

BUG=skia:3442
BUG=skia:3315
BUG=skia:3429

Committed: https://skia.googlesource.com/skia/+/3aa0fb4d80c76b559ff4b82d5e569993aea06da1

Review URL: https://codereview.chromium.org/1178013008
2015-07-10 09:32:09 -07:00
joshualitt
416e14f517 fix for valgrind issue
BUG=skia:

Review URL: https://codereview.chromium.org/1227933003
2015-07-10 09:05:57 -07:00
dongseong.hwang
5ce8b438da Fix componene debug build failure in chromium
The error log is as follows:
../../third_party/skia/include/core/SkSpinlock.h:24: error: undefined reference to 'SkPODSpinlock::contendedAcquire()'
collect2: error: ld returned 1 exit status

[mtklein added below here]
Despite the presence in include/ and the added SK_API, this file is not part of Skia's public API... it's just used by files which are.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1229003004
2015-07-10 08:32:23 -07:00
emmaleer
21cea726e7 Changing name of has_transpareny_in_palette to has_transparency_in_tRNS
This function checks for transparency info in the tRNS chunk
Other images besides paletted images can have tRNS chunks,
including Gray8 and RGB

has_transparency_in_tRNS is a better name for the function

BUG=skia:

Review URL: https://codereview.chromium.org/1224453002
2015-07-10 07:48:03 -07:00
joshualitt
5b4f05f709 Move GrProcessorDataManager to GrMemoryPool
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1225363002
2015-07-10 07:26:21 -07:00
joel.liang
9764c40cd3 Workaround for blacklist KHR_blend_equation_advanced on ARM GPU
ARM driver will check the fragment shader compatiblity for KHR_blend_equation_advanced even if blending is disabled.
Workaround: Set blending equation to any basic equation when we disable blending.
https://code.google.com/p/skia/issues/detail?id=3943

BUG=skia:3943

Review URL: https://codereview.chromium.org/1216963004
2015-07-09 19:46:18 -07:00
fmalita
ea561bf055 Fix SkImage::asLegacyBitmap() rowBytes assert
When reusing the pixel ref, we need to observe its rowBytes.

R=reed@google.com

Review URL: https://codereview.chromium.org/1227413002
2015-07-09 17:10:31 -07:00
mtklein
694307c9f1 Let's not leak this SkData.
BUG=skia:

Review URL: https://codereview.chromium.org/1231903006
2015-07-09 15:41:11 -07:00
reed
d7c05bfd7c remove getter for imagegenerator factory, update test
BUG=skia:

Review URL: https://codereview.chromium.org/1223413002
2015-07-09 14:08:49 -07:00
herb
ac09471140 Create a template AutoTAcquire, and specialize an SkMutex version.
Add copyright notice.

BUG=skia:

Review URL: https://codereview.chromium.org/1230583008
2015-07-09 13:44:32 -07:00
joshualitt
7b670db2b4 Remove setFromPaint from GrPipelineBuilder
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1227153003
2015-07-09 13:25:02 -07:00
joshualitt
4f6dc521f5 Trivial cleanup of copying GrPipelineBuilder
TBR=robertphillips@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1229983003
2015-07-09 12:17:44 -07:00
reed
1c84634454 add runtime option to provide data->imagegenerator factory
BUG=skia:

Review URL: https://codereview.chromium.org/1229933003
2015-07-09 11:47:36 -07:00
herb
3547505278 Add RAII for other types of locks. Change SkGlyphCache_Globals to
use a SkSpinlock instead of SkMutex. This results in significant
performance increase for mpd in nanobench.

BUG=skia:

Review URL: https://codereview.chromium.org/1210143004
2015-07-09 11:37:35 -07:00
joshualitt
9df4659523 Remove init function from GrTextContext.h
BUG=skia:

Review URL: https://codereview.chromium.org/1231923002
2015-07-09 10:55:28 -07:00
mtklein
828877d726 Outline SkSpinlock::acquire().
The proportion of time spent doing useful work is well over 99% in acquire(),
so outlining it doesn't hurt speed at all, and makes it much easier to pick out
on a profile.

It'd be about 50/50 work/overhead if we outlined the extremely-cheap release().
I also tried outlining some SkRefCnt methods with similar mixed results.

BUG=skia:

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

Review URL: https://codereview.chromium.org/1212253013
2015-07-09 10:51:36 -07:00
herb
af4edf9ccc Change to use mean and to use stderr.
BUG=skia:

Review URL: https://codereview.chromium.org/1228783003
2015-07-09 10:50:24 -07:00
joshualitt
5f10b5c1b5 More threading of GrProcessorDataManager
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1230813003
2015-07-09 10:24:36 -07:00
mtklein
cc29d26f57 Have nanobench pay attention to --threads.
TBR=

BUG=skia:

Review URL: https://codereview.chromium.org/1229953002
2015-07-09 10:04:56 -07:00
scroggo
5315fd4761 Remove SkImageGenerator pieces only for SkCodec.
Follow up to the split between SkImageGenerator and SkCodec. Now that
SkCodec does not inherit from SkImageGenerator, SkImageGenerator no
longer needs Options or Result, which were added for SkCodec. Remove
them, but keep them behind a flag, since Chromium has its own
subclasses of SkImageGenerator which assume the old signature for
onGetPixels.

Review URL: https://codereview.chromium.org/1226023003
2015-07-09 09:08:00 -07:00
jvanverth
d17a32966a Add normal map sample
This adds an example of an SkShader that does normal
mapping. It has a single directional light and an
ambient light.

Committed: https://skia.googlesource.com/skia/+/8e0da72ba890de395c9946ec6639c9e1e7b16027

Review URL: https://codereview.chromium.org/1212813009
2015-07-09 09:04:16 -07:00
msarett
ef46468063 Temporarily suppress valgrind errors in tip of tree libjpeg-turbo
BUG=skia:4030

Review URL: https://codereview.chromium.org/1231613004
2015-07-09 08:23:50 -07:00