platform/upstream/libSkiaSharp.git
8 years agoUpdate typeface serialization style.
bungeman [Mon, 13 Jun 2016 17:35:05 +0000 (10:35 -0700)]
Update typeface serialization style.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030683002

Review-Url: https://codereview.chromium.org/2030683002

8 years agoAdd control over whether lines are special cased in SkDashPath. Disable when called...
bsalomon [Mon, 13 Jun 2016 17:22:48 +0000 (10:22 -0700)]
Add control over whether lines are special cased in SkDashPath. Disable when called from GrShape.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055253002

Review-Url: https://codereview.chromium.org/2055253002

8 years agoskiaserve no longer crashes when no X server is present
ethannicholas [Mon, 13 Jun 2016 17:20:52 +0000 (10:20 -0700)]
skiaserve no longer crashes when no X server is present
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2059263002

Review-Url: https://codereview.chromium.org/2059263002

8 years agoAdd samples to Viewer.
jvanverth [Mon, 13 Jun 2016 16:31:26 +0000 (09:31 -0700)]
Add samples to Viewer.

This adds support with animation, assuming the sample has
implemented onAnimate. Event handling has not been
implemented.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2056343004

Review-Url: https://codereview.chromium.org/2056343004

8 years agoBetter (?) interface for controlling sRGB-ness of mipmaps on GrTexture
brianosman [Mon, 13 Jun 2016 14:59:48 +0000 (07:59 -0700)]
Better (?) interface for controlling sRGB-ness of mipmaps on GrTexture

Switch to new SkSourceGammaTreatment type. Move to a separate setter,
rather than an optional argument to dirty. Set the flag correctly after
uploading CPU-built mips.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058143002

Review-Url: https://codereview.chromium.org/2058143002

8 years agoRequest an sRGB FBO0 on Android. Fixes sRGB GL mode.
brianosman [Mon, 13 Jun 2016 14:49:07 +0000 (07:49 -0700)]
Request an sRGB FBO0 on Android. Fixes sRGB GL mode.

Tried to comment my logic, but it's totally possible that we run on some
device where this doesn't work. From a strict reading of the relevant
specs, what I'm doing shouldn't work on the Nexus 5X, but it's necessary
to get correct results.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054223002

Review-Url: https://codereview.chromium.org/2054223002

8 years agoUpdate SKP version
update-skps [Mon, 13 Jun 2016 11:10:29 +0000 (04:10 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2065433003

Review-Url: https://codereview.chromium.org/2065433003

8 years agotweak mipmap_srgb gm to use integer coordinates
reed [Sat, 11 Jun 2016 11:48:12 +0000 (04:48 -0700)]
tweak mipmap_srgb gm to use integer coordinates

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2061553002

TBR=

Review-Url: https://codereview.chromium.org/2061553002

8 years agoMake large array of GrShapes in test code heap allocated
bsalomon [Sat, 11 Jun 2016 01:28:06 +0000 (18:28 -0700)]
Make large array of GrShapes in test code heap allocated

TBR=mtklein@chormium.org
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058343002

Review-Url: https://codereview.chromium.org/2058343002

8 years agoMove multisampleDisableSupport into GrCaps
csmartdalton [Fri, 10 Jun 2016 21:06:32 +0000 (14:06 -0700)]
Move multisampleDisableSupport into GrCaps

Non-platform code needs this information in order to make rendering
decisions.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062443002

Review-Url: https://codereview.chromium.org/2062443002

8 years agoType-erase SkAutoMutexAcquire and SkAutoExclusive.
mtklein [Fri, 10 Jun 2016 20:56:35 +0000 (13:56 -0700)]
Type-erase SkAutoMutexAcquire and SkAutoExclusive.

This is purely for convenience, to not need to write the lock type
in the guard anymore.  This should all inline away.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055023003

Review-Url: https://codereview.chromium.org/2055023003

8 years agofix non-square stroke rects (non-aa)
reed [Fri, 10 Jun 2016 20:21:07 +0000 (13:21 -0700)]
fix non-square stroke rects (non-aa)

fiddle showing bug: https://fiddle.skia.org/c/a21ecf5e33da84f52eba26e8c2f3d280

BUG=skia:5408
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2060543002

Review-Url: https://codereview.chromium.org/2060543002

8 years agoMake SkBlitter hierarchy explicit about what needs to be implemented.
herb [Fri, 10 Jun 2016 20:01:27 +0000 (13:01 -0700)]
Make SkBlitter hierarchy explicit about what needs to be implemented.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2053823002

Review-Url: https://codereview.chromium.org/2053823002

8 years agoRemove shaderc cmake compiling
kjlubick [Fri, 10 Jun 2016 19:54:37 +0000 (12:54 -0700)]
Remove shaderc cmake compiling

It is no longer needed as of https://skia.googlesource.com/skia/+/b7b4293524e0c1d4c1635c4710aceafaca47b313

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2060503002

Review-Url: https://codereview.chromium.org/2060503002

8 years agoImplement SkFontMgr_Custom::onCreateFromFontData.
bungeman [Fri, 10 Jun 2016 19:43:17 +0000 (12:43 -0700)]
Implement SkFontMgr_Custom::onCreateFromFontData.

This fixes serialization issues. We could create a non-default gx
typeface, but not deserialize it correctly.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057293002

Review-Url: https://codereview.chromium.org/2057293002

8 years agoFix GrDrawContextPriv::stencilRect
csmartdalton [Fri, 10 Jun 2016 19:32:57 +0000 (12:32 -0700)]
Fix GrDrawContextPriv::stencilRect

Updates stencilRect to not call getFillRectBatch. This method can
return a batch that uses coverage AA, which isn't appropriate for
stencil draws.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057613003

Review-Url: https://codereview.chromium.org/2057613003

8 years agoExtend inverse_paths GM to test dashing
bsalomon [Fri, 10 Jun 2016 19:09:59 +0000 (12:09 -0700)]
Extend inverse_paths GM to test dashing
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057213002

Review-Url: https://codereview.chromium.org/2057213002

8 years agoCreate .gyp rules for shaderc libraries
kjlubick [Fri, 10 Jun 2016 19:07:50 +0000 (12:07 -0700)]
Create .gyp rules for shaderc libraries

To build shaderc, gyp used to punt to cmake, which did not work well on the bots and I couldn't find any way to pipe the variables into cmake which would have made it happy.

So, I wrote a gyp file for shaderc and its dependencies.  Nothing super complicated (thank goodness), except for the files that spirv-tools needed generated.

BUG=skia:5186
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2047833003

Review-Url: https://codereview.chromium.org/2047833003

8 years agorespect srgb gamma when building mips
reed [Fri, 10 Jun 2016 18:41:47 +0000 (11:41 -0700)]
respect srgb gamma when building mips

Proposed policy:
- If the target is *legacy* (e.g. L32/PMColor) ignore gamma
- If the target is S32/F16 respect gamma

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2029373004

Review-Url: https://codereview.chromium.org/2029373004

8 years agoMake GrShape capable of representing inverse filled rrects.
bsalomon [Fri, 10 Jun 2016 15:05:14 +0000 (08:05 -0700)]
Make GrShape capable of representing inverse filled rrects.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2056523002

Review-Url: https://codereview.chromium.org/2056523002

8 years agoadd fail condition to addexpanded
caryclark [Fri, 10 Jun 2016 14:59:50 +0000 (07:59 -0700)]
add fail condition to addexpanded

If coincident pairs don't match,
give up rather than deref null.

R=fmalita@chromium.org
BUG=618991
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058773002

Review-Url: https://codereview.chromium.org/2058773002

8 years agoCleanup VulkanWindowContext for use on Android
djsollen [Fri, 10 Jun 2016 14:50:00 +0000 (07:50 -0700)]
Cleanup VulkanWindowContext for use on Android
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058763002

Review-Url: https://codereview.chromium.org/2058763002

8 years agoAdd blurcircles to blacklist for macmini4.1
bsalomon [Fri, 10 Jun 2016 13:58:16 +0000 (06:58 -0700)]
Add blurcircles to blacklist for macmini4.1

BUG=skia:5414
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2053373002

Review-Url: https://codereview.chromium.org/2053373002

8 years agoDefine LEAN_AND_MEAN and NOMINMAX for all windows builds
egdaniel [Fri, 10 Jun 2016 13:42:45 +0000 (06:42 -0700)]
Define LEAN_AND_MEAN and NOMINMAX for all windows builds

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055223002

Review-Url: https://codereview.chromium.org/2055223002

8 years agoImplement all onCreateFromStream overloads.
bungeman [Fri, 10 Jun 2016 11:14:51 +0000 (04:14 -0700)]
Implement all onCreateFromStream overloads.

The custom font manager does not implement all onCreateFromStream
overloads leading to warnings. Since this needs to be implemented
anyway, implement it now.

BUG=skia:5412

Review-Url: https://codereview.chromium.org/2053903003

8 years agoFix glDraw*Indirect prototypes
csmartdalton [Fri, 10 Jun 2016 02:42:38 +0000 (19:42 -0700)]
Fix glDraw*Indirect prototypes

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050403002

Review-Url: https://codereview.chromium.org/2050403002

8 years agoSkip verylargebitmap serialization on Android too
mtklein [Fri, 10 Jun 2016 01:57:20 +0000 (18:57 -0700)]
Skip verylargebitmap serialization on Android too

I'm trying to figure out why we've been skipping serialize-8888 for these.
They don't draw wrong.  Seems like they just eat up all memory while serializing,
maybe only in Debug mode.

This should fix the red Nexus9 bot.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050423003

Review-Url: https://codereview.chromium.org/2050423003

8 years agoMove immintrin/arm_neon includes to where they are used.
mtklein [Thu, 9 Jun 2016 20:40:56 +0000 (13:40 -0700)]
Move immintrin/arm_neon includes to where they are used.

On my Mac (so, immintrin), this improves compile time, both wall and cpu,
by about 16%.  To test I ran this on an SSD with files hot in their caches:

  $ env CC=/usr/bin/clang CXX=/usr/bin/clang++ ./gyp_skia && \
    ninja -C out/Release -t clean && \
    time ninja -C out/Release

  Before: 159 wall / 3367 cpu
          159 wall / 3368 cpu

  After:  137 wall / 2860 cpu
          136 wall / 2863 cpu

I also tried further refining immintrin down to emmintrin / tmmintrin / smmintrin etc.
That made no signficant difference, so I've kept immintrin for its simplicity.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045633002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

Committed: https://skia.googlesource.com/skia/+/12dfaaa53c23f3d03050bde8f64136ac1f44164a
Review-Url: https://codereview.chromium.org/2045633002

8 years agoAdd NV12 texture conversion support.
jbauman [Thu, 9 Jun 2016 20:24:48 +0000 (13:24 -0700)]
Add NV12 texture conversion support.

If textures 1 and 2 passed into MakeFromYUVTexturesCopy are the same,
then treat the input as NV12 and sample from the g component of texture
2.

BUG=skia:5209
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2016593002

Review-Url: https://codereview.chromium.org/2016593002

8 years agoAdd control of manual mipmapping to GrContextOptions
brianosman [Thu, 9 Jun 2016 20:11:08 +0000 (13:11 -0700)]
Add control of manual mipmapping to GrContextOptions

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054623003

Committed: https://skia.googlesource.com/skia/+/97e398d98928f9497063594ebe633efe2d0f4968
Review-Url: https://codereview.chromium.org/2054623003

8 years agoCleanup needed to use WindowContext for Android
djsollen [Thu, 9 Jun 2016 20:07:13 +0000 (13:07 -0700)]
Cleanup needed to use WindowContext for Android
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055693003

Review-Url: https://codereview.chromium.org/2055693003

8 years agoAdd housekeeper_skia.isolate
borenet [Thu, 9 Jun 2016 19:58:11 +0000 (12:58 -0700)]
Add housekeeper_skia.isolate

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054883002

Review-Url: https://codereview.chromium.org/2054883002

8 years agoSkPictureAnalyzer: expose the number of slow GPU commands.
senorblanco [Thu, 9 Jun 2016 19:43:30 +0000 (12:43 -0700)]
SkPictureAnalyzer: expose the number of slow GPU commands.

BUG=614724
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2031243003

Review-Url: https://codereview.chromium.org/2031243003

8 years agoRevert of Disable tail calls inside Simple GM functions. (patchset #1 id:1 of https...
mtklein [Thu, 9 Jun 2016 19:20:25 +0000 (12:20 -0700)]
Revert of Disable tail calls inside Simple GM functions. (patchset #1 id:1 of https://codereview.chromium.org/2050473006/ )

Reason for revert:
Appears to have broken Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug

Original issue's description:
> Disable tail calls inside Simple GM functions.
>
> I haven't found any way to turn off the particular optimization (-foptimize-sibling-calls)
> per-function, but I can control optimization settings coarsely:
>
>    - on GCC, we can pick a particular -O level, so I've picked -O1 which does not
>      enable -foptimize-sibling-calls
>    - on Clang, we can only disable all optimization for a function
>    - have no idea about MSVC
>
> This should make sure the simple GM functions, e.g. all_bitmap_configs_GM(),
> show up on stack traces when we crash.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050473006
>
> Committed: https://skia.googlesource.com/skia/+/eee3ced68f787aadc47fa274ca8e13b354ec920a

TBR=reed@google.com,mtklein@chromium.org
BUG=skia:

CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug-Trybot

Review-Url: https://codereview.chromium.org/2051193002

8 years agoRevert of Add control of manual mipmapping to GrContextOptions (patchset #2 id:20001...
mtklein [Thu, 9 Jun 2016 19:20:10 +0000 (12:20 -0700)]
Revert of Add control of manual mipmapping to GrContextOptions (patchset #2 id:20001 of https://codereview.chromium.org/2054623003/ )

Reason for revert:
https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/3481/steps/test_skia%20on%20Ubuntu/logs/stdio

../../../src/gpu/gl/GrGLCaps.cpp:554:25: runtime error: load of value 187, which is not a valid value for type 'bool'
SUMMARY: AddressSanitizer: undefined-behavior ../../../src/gpu/gl/GrGLCaps.cpp:554:25 in
step returned non-zero exit code: 1

Original issue's description:
> Add control of manual mipmapping to GrContextOptions
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054623003
>
> Committed: https://skia.googlesource.com/skia/+/97e398d98928f9497063594ebe633efe2d0f4968

TBR=bsalomon@google.com,brianosman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2050373002

8 years agoSupport resize in Android Viewer App
liyuqian [Thu, 9 Jun 2016 19:02:34 +0000 (12:02 -0700)]
Support resize in Android Viewer App

Previously, we took out resize because Vulkan didn't support it in
Android. Now Android nyc-dev builds >= 2937079 and nyc-release builds >=
NRD66 supports it so we add it back.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050613003

Review-Url: https://codereview.chromium.org/2050613003

8 years agoSkPixmap::setColorSpace
msarett [Thu, 9 Jun 2016 18:03:45 +0000 (11:03 -0700)]
SkPixmap::setColorSpace

Landed for reed@ with bug fix:
Use default copy constructor for SkDraw

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057563002

patch from issue 2057563002 at patchset 1 (http://crrev.com/2057563002#ps1)

Review-Url: https://codereview.chromium.org/2052943002

8 years agoAdd raw pixel serialization fallback for SkImages that cannot be encoded.
mtklein [Thu, 9 Jun 2016 17:38:08 +0000 (10:38 -0700)]
Add raw pixel serialization fallback for SkImages that cannot be encoded.

This fixes serialize-8888 for 2 GMs on Mac that I'm now unblacklisting.
I think another was already fixed, and two more were Windows-only.

Seems safe to use encoded_size=1 as another sentinel here (like we already
use =0); I can't imagine any encoded image format that can encode an image
in a single byte.

I suspect this is the root of the referenced bug too,
but this is a good idea even if not.

BUG=chromium:601851
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2039813007

CQ_EXTRA_TRYBOTS=client.skia:Test-Win-MSVC-GCE-CPU-AVX2-x86_64-Release-Trybot,Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot;client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot,Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Release-Trybot

Review-Url: https://codereview.chromium.org/2039813007

8 years agoDisable tail calls inside Simple GM functions.
mtklein [Thu, 9 Jun 2016 17:30:04 +0000 (10:30 -0700)]
Disable tail calls inside Simple GM functions.

I haven't found any way to turn off the particular optimization (-foptimize-sibling-calls)
per-function, but I can control optimization settings coarsely:

   - on GCC, we can pick a particular -O level, so I've picked -O1 which does not
     enable -foptimize-sibling-calls
   - on Clang, we can only disable all optimization for a function
   - have no idea about MSVC

This should make sure the simple GM functions, e.g. all_bitmap_configs_GM(),
show up on stack traces when we crash.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050473006

Review-Url: https://codereview.chromium.org/2050473006

8 years agoSkMipMap::ComputeLevelSize should only cover SkMipMap's levels.
cblume [Thu, 9 Jun 2016 16:44:33 +0000 (09:44 -0700)]
SkMipMap::ComputeLevelSize should only cover SkMipMap's levels.

SkMipMap only deals with the levels it generates.
That is to day, it deals with mipmap levels 1-x, not 0-x.
Other functions reflect thing when indexing.
They go from 0 to x-1 (giving the index into SkMipMap's contents).

ComputeLevelSize should also follow that same indexing.

BUG=578304
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042843005

Review-Url: https://codereview.chromium.org/2042843005

8 years agoAdd control of manual mipmapping to GrContextOptions
brianosman [Thu, 9 Jun 2016 16:39:58 +0000 (09:39 -0700)]
Add control of manual mipmapping to GrContextOptions

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054623003

Review-Url: https://codereview.chromium.org/2054623003

8 years agoSimplify code by breaking general sampler into Nearest and Bilerp.
herb [Thu, 9 Jun 2016 16:05:00 +0000 (09:05 -0700)]
Simplify code by breaking general sampler into Nearest and Bilerp.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055513003

Review-Url: https://codereview.chromium.org/2055513003

8 years agobetter exclusion for stack traces
mtklein [Thu, 9 Jun 2016 15:59:48 +0000 (08:59 -0700)]
better exclusion for stack traces

Instead of two synchronization systems (in_signal_handler, gMutex),
we can just use one.  This simplifies the signal handler logic to:
   - first thread through grabs the lock, prints what's running and a stack trace,
     then exits
   - all other threads just sit waiting on that lock until exit kills them

Previously I think all threads were racing to exit, which can kill the process
before the printing thread is done.  That truncated the output, which is dumb.

Plus...
   refactor slightly so that crash_handler() shows up at the top of the stack
   trace rather than some odd name for a lambda inside setup_crash_handler().

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2051863002

Review-Url: https://codereview.chromium.org/2051863002

8 years agosk_sp for Ganesh.
bungeman [Thu, 9 Jun 2016 15:01:03 +0000 (08:01 -0700)]
sk_sp for Ganesh.

Convert use of GrFragmentProcessor, GrGeometryProcessor, and
GrXPFactory to sk_sp. This clarifies ownership and should
reduce reference count churn by moving ownership.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041113004

Review-Url: https://codereview.chromium.org/2041113004

8 years agoAdd ICC fuzzer
kjlubick [Thu, 9 Jun 2016 14:15:12 +0000 (07:15 -0700)]
Add ICC fuzzer

BUG=skia:5404
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2047353003

Review-Url: https://codereview.chromium.org/2047353003

8 years agoUpdate CQ keywords documentation
rmistry [Thu, 9 Jun 2016 13:56:39 +0000 (06:56 -0700)]
Update CQ keywords documentation

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2056733002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2056733002

Review-Url: https://codereview.chromium.org/2056733002

8 years agoSkColorSpace::NewICC fix integer overflow caught by fuzzer
msarett [Thu, 9 Jun 2016 13:33:18 +0000 (06:33 -0700)]
SkColorSpace::NewICC fix integer overflow caught by fuzzer

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2053683002

Review-Url: https://codereview.chromium.org/2053683002

8 years agoMake SkDashPathEffect fail for stroke+fill style (in addition to fill style)
bsalomon [Thu, 9 Jun 2016 13:03:38 +0000 (06:03 -0700)]
Make SkDashPathEffect fail for stroke+fill style (in addition to fill style)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2048183002

Review-Url: https://codereview.chromium.org/2048183002

8 years agoOptimize color xforms with 2.2 gammas for SSE2
msarett [Wed, 8 Jun 2016 21:43:53 +0000 (14:43 -0700)]
Optimize color xforms with 2.2 gammas for SSE2

Because we recognize commonly used gamma tables and
parameters as 2.2f, about 98% of jpegs with color profiles
will pass through this xform (assuming the dst is also
2.2f).  Sample size is 10,322 jpegs.

I won't go crazy with performance numbers because this is
a work in progress, particularly in terms of correctness.

201295.jpg on HP z620
(300x280, most common form of sRGB profile)

Decode Time + QCMS Xform      1.28 ms
QCMS Xform Only               0.495 ms
Decode Time + Skia Opt Xform  1.01 ms
Skia Opt Xform Only           0.235 ms

Decode Time + Xform Speed-up  1.27x
Xform Only Speed-up           2.11x

FWIW, Skia xform time before these optimizations was
41.1 ms.  But we expected that code to be slow.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046013002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2046013002

8 years agoUse faster case for on tile sampling, and a little clean up. This has been a sampling...
herb [Wed, 8 Jun 2016 21:33:15 +0000 (14:33 -0700)]
Use faster case for on tile sampling, and a little clean up. This has been a sampling bug and so was bypassed using "false &&". Found the sampling bug and added the case back in.

Remove long commented out code.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2044373003

Review-Url: https://codereview.chromium.org/2044373003

8 years agoStop trying to build files that are not there
scroggo [Wed, 8 Jun 2016 21:32:00 +0000 (14:32 -0700)]
Stop trying to build files that are not there

The bzl version of Skia does not have these files. Don't try to
build them.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045263003

Review-Url: https://codereview.chromium.org/2045263003

8 years agoAdd GpuCommandBuffer support.
egdaniel [Wed, 8 Jun 2016 21:02:27 +0000 (14:02 -0700)]
Add GpuCommandBuffer support.

Currently this is not actually hooked into the system.

To give some context, in a follow up CL I'll add this to GrDrawTarget.
For this I will move the gpu onDraw command to the GpuCommandBuffer as well.
For GL this will end up just being a pass through to a non virtual draw(...)
on GrGLGpu, and for vulkan it will mostly do what it currently does but
adding commands to the secondary command buffer instead.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2038583002

Review-Url: https://codereview.chromium.org/2038583002

8 years agoSupport running Viewer via android_gdb_app
brianosman [Wed, 8 Jun 2016 20:07:08 +0000 (13:07 -0700)]
Support running Viewer via android_gdb_app

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055453003

Review-Url: https://codereview.chromium.org/2055453003

8 years agoFix mipmap generation on Nexus 5x & 6p devices.
brianosman [Wed, 8 Jun 2016 19:44:27 +0000 (12:44 -0700)]
Fix mipmap generation on Nexus 5x & 6p devices.

Just like copyImage, these want the Z range of blit regions to be [0,
1], even for 2D resources where Z should be ignored.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2039913007

Review-Url: https://codereview.chromium.org/2039913007

8 years agoProvide filter when there are many options
liyuqian [Wed, 8 Jun 2016 18:17:09 +0000 (11:17 -0700)]
Provide filter when there are many options

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2047233003

Review-Url: https://codereview.chromium.org/2047233003

8 years agoReplace targetHasUnifiedMultisampling in GrPB constructor
csmartdalton [Wed, 8 Jun 2016 17:08:43 +0000 (10:08 -0700)]
Replace targetHasUnifiedMultisampling in GrPB constructor

Replaces targetHasUnifiedMultisampling with a simpler "useHWAA". Now
the code that creates a pipeline builder needs to decide on its own
whether it should enable multisampling, rather than relying on the
builder to try and guess.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041283002

Review-Url: https://codereview.chromium.org/2041283002

8 years agoWhen setting up a copySurface dst texture make the orientation match the src when...
bsalomon [Wed, 8 Jun 2016 17:02:42 +0000 (10:02 -0700)]
When setting up a copySurface dst texture make the orientation match the src when glBlitFramebuffer requires it

BUG=chromium:618122
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2049753002

Review-Url: https://codereview.chromium.org/2049753002

8 years agoModify QCMS test to match use by Chrome
msarett [Wed, 8 Jun 2016 17:02:32 +0000 (10:02 -0700)]
Modify QCMS test to match use by Chrome

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2049813002

Review-Url: https://codereview.chromium.org/2049813002

8 years agoFix instances where hwaa was wrong for mixed samples
csmartdalton [Wed, 8 Jun 2016 16:32:54 +0000 (09:32 -0700)]
Fix instances where hwaa was wrong for mixed samples

Fixes a bug with coverage-AA hairlines where hwaa was unintentionally
enabled for mixed samples, and a bug with path stenciling where hwaa
was unintentionally disabled for mixed samples.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043203004

Review-Url: https://codereview.chromium.org/2043203004

8 years agoDocument dm error about missing skps
martina.kollarova [Wed, 8 Jun 2016 16:25:24 +0000 (09:25 -0700)]
Document dm error about missing skps

BUG=None
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2049703002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2049703002

Review-Url: https://codereview.chromium.org/2049703002

8 years agoHandle single pixel case on tiled.
herb [Wed, 8 Jun 2016 15:57:24 +0000 (08:57 -0700)]
Handle single pixel case on tiled.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041813004

Review-Url: https://codereview.chromium.org/2041813004

8 years agoSubclass GrVkCommandBuffer into Primary and Secondary CommandBuffers.
egdaniel [Wed, 8 Jun 2016 15:22:05 +0000 (08:22 -0700)]
Subclass GrVkCommandBuffer into Primary and Secondary CommandBuffers.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2019723002

Review-Url: https://codereview.chromium.org/2019723002

8 years agoAdd support for finding/creating general GrVkRenderPass from the VkResourceProvider.
egdaniel [Wed, 8 Jun 2016 13:48:09 +0000 (06:48 -0700)]
Add support for finding/creating general GrVkRenderPass from the VkResourceProvider.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2035853002

Review-Url: https://codereview.chromium.org/2035853002

8 years agofix pathops fuzz bugs
caryclark [Wed, 8 Jun 2016 11:28:19 +0000 (04:28 -0700)]
fix pathops fuzz bugs

Fail out in a couple of new places when the input data is very
large and exceeds the limits of the pathops machinery.

Most of the change here plumbs in a way to exclude an assert in
one of these exceptional cases. The current SkAddIntersection
implementation and the inner functions it calls has no way to
report an error to the root caller for an early exit, so rather
than add that in, exclude the assert when the test that would
trigger it runs (allowing the test to otherwise ensure that it
properly fails).

TBR=reed@google.com
BUG=617586,617635
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046713003

Review-Url: https://codereview.chromium.org/2046713003

8 years agoA Mozilla developer ran the µmix static analyzer on its codebase and incidentally...
lsalzman [Wed, 8 Jun 2016 02:08:57 +0000 (19:08 -0700)]
A Mozilla developer ran the Âµmix static analyzer on its codebase and incidentally found some issues regarding null checks in Skia. This fixes the issues that were found.

Downstream bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1278452

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046563007

Review-Url: https://codereview.chromium.org/2046563007

8 years agoSkLeanWindows.h: #include "Windows.h" fewer places
halcanary [Wed, 8 Jun 2016 00:21:10 +0000 (17:21 -0700)]
SkLeanWindows.h: #include "Windows.h" fewer places

    $ git grep -l '<windows.h>' include src
    include/private/SkLeanWindows.h

    $ git grep -l SkLeanWindows.h | grep '\.h$'
    include/ports/SkTypeface_win.h
    include/utils/win/SkHRESULT.h
    include/utils/win/SkTScopedComPtr.h
    include/views/SkEvent.h
    src/core/SkMathPriv.h
    src/ports/SkTypeface_win_dw.h
    src/utils/SkThreadUtils_win.h
    src/utils/win/SkWGL.h

The same for  `#include <intrin.h>` that was found in SkMath.h.
Those functions that needed it are moved to SkMathPriv.h.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041943002

CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_compile_dbg_ng,win_chromium_compile_rel_ng

Review-Url: https://codereview.chromium.org/2041943002

8 years agoRevert of Move immintrin/arm_neon includes to where they are used. (patchset #2 id...
mtklein [Tue, 7 Jun 2016 23:46:39 +0000 (16:46 -0700)]
Revert of Move immintrin/arm_neon includes to where they are used. (patchset #2 id:20001 of https://codereview.chromium.org/2045633002/ )

Reason for revert:
Appears to have broken the ARMv7 aspect of the Google3 roll in bizarre seemingly-unrelated ways.

Original issue's description:
> Move immintrin/arm_neon includes to where they are used.
>
> On my Mac (so, immintrin), this improves compile time, both wall and cpu,
> by about 16%.  To test I ran this on an SSD with files hot in their caches:
>
>   $ env CC=/usr/bin/clang CXX=/usr/bin/clang++ ./gyp_skia && \
>     ninja -C out/Release -t clean && \
>     time ninja -C out/Release
>
>   Before: 159 wall / 3367 cpu
>           159 wall / 3368 cpu
>
>   After:  137 wall / 2860 cpu
>           136 wall / 2863 cpu
>
> I also tried further refining immintrin down to emmintrin / tmmintrin / smmintrin etc.
> That made no signficant difference, so I've kept immintrin for its simplicity.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045633002
> CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> TBR=reed@google.com
> No public API changes.
>
> Committed: https://skia.googlesource.com/skia/+/12dfaaa53c23f3d03050bde8f64136ac1f44164a

TBR=herb@google.com,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2046213002

8 years agoFix dashing bug where hwaa was unintentionally disabled
csmartdalton [Tue, 7 Jun 2016 21:27:51 +0000 (14:27 -0700)]
Fix dashing bug where hwaa was unintentionally disabled

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046483003

Review-Url: https://codereview.chromium.org/2046483003

8 years agoSwitch to a whitelist for manual mip-map generation
brianosman [Tue, 7 Jun 2016 21:22:44 +0000 (14:22 -0700)]
Switch to a whitelist for manual mip-map generation

Due to performance regression on various GPUs, we're only going to use the
new draw-call based mip-mapper when necessary. Of the bots where we have
test coverage, that means Intel and Mac-NVIDIA. We also had failures on
our AMD 7770 bots - I'm upgrading the drivers on those two machines, and
I'm leaving them out of the whitelist for now.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042313002

Review-Url: https://codereview.chromium.org/2042313002

8 years agoImplement Raster Backend on Android Viewer App
liyuqian [Tue, 7 Jun 2016 21:22:37 +0000 (14:22 -0700)]
Implement Raster Backend on Android Viewer App

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041193004

Review-Url: https://codereview.chromium.org/2041193004

8 years agoFix for rare crash in Poly::addEdge().
senorblanco [Tue, 7 Jun 2016 19:36:00 +0000 (12:36 -0700)]
Fix for rare crash in Poly::addEdge().

Don't add an edge if the bottom vertex was already added, or
if an island vertex has a left poly but no right poly.

(Sorry for the lack of test, but the only reduction I could create was still a huge path and only crashes in Chrome.)

BUG=617907
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043873005

Review-Url: https://codereview.chromium.org/2043873005

8 years agoMake GrShape use the original path when path effect fails.
bsalomon [Tue, 7 Jun 2016 19:20:15 +0000 (12:20 -0700)]
Make GrShape use the original path when path effect fails.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2044793002

Review-Url: https://codereview.chromium.org/2044793002

8 years agolinear -> sRGB: use fast approximate sqrt()
mtklein [Tue, 7 Jun 2016 19:12:37 +0000 (12:12 -0700)]
linear -> sRGB: use fast approximate sqrt()

Since we're already approximating the sRGB gamma curve with a sqrt(), we might
as well approximate with it a faster approximate sqrt().  On Intel, this
.rsqrt().invert() version is 2-3x faster than .sqrt()  (~3x faster on older
machines, ~2x faster on newer machines).

This should provide ~11 bits of precision, suspiciously exactly enough.

Running dm --config srgb, there are diffs, but none perceptible.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046063002

Review-Url: https://codereview.chromium.org/2046063002

8 years agoMove immintrin/arm_neon includes to where they are used.
mtklein [Tue, 7 Jun 2016 16:35:27 +0000 (09:35 -0700)]
Move immintrin/arm_neon includes to where they are used.

On my Mac (so, immintrin), this improves compile time, both wall and cpu,
by about 16%.  To test I ran this on an SSD with files hot in their caches:

  $ env CC=/usr/bin/clang CXX=/usr/bin/clang++ ./gyp_skia && \
    ninja -C out/Release -t clean && \
    time ninja -C out/Release

  Before: 159 wall / 3367 cpu
          159 wall / 3368 cpu

  After:  137 wall / 2860 cpu
          136 wall / 2863 cpu

I also tried further refining immintrin down to emmintrin / tmmintrin / smmintrin etc.
That made no signficant difference, so I've kept immintrin for its simplicity.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045633002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

Review-Url: https://codereview.chromium.org/2045633002

8 years agoRefactor creation of GrVkRenderPasses to make them move general
egdaniel [Tue, 7 Jun 2016 15:43:30 +0000 (08:43 -0700)]
Refactor creation of GrVkRenderPasses to make them move general

This change is a refactorization to open up more flexable use for render passes
in the future. Once we start bundling draw calls into a single render pass we
will need to start using specific load and store ops instead of the default
currently of load and store everything.

We still will need to simply get a compatible render pass for creation of framebuffers
and pipeline objects. These render passes don't need to know load and store ops. Thus
in this change, I'm defaulting the "compatible" render pass to always be the one
which both loads and stores. All other load/store combinations will be created lazily
when requested for a specific draw (future change).

The CompatibleRPHandle is a way for us to avoid analysing the RenderTarget every time
we want to get a new GrVkRenderPass.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1977403002

Review-Url: https://codereview.chromium.org/1977403002

8 years agoMake GrDashEffect take a AA mode enum.
bsalomon [Tue, 7 Jun 2016 15:10:46 +0000 (08:10 -0700)]
Make GrDashEffect take a AA mode enum.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042923003

Review-Url: https://codereview.chromium.org/2042923003

8 years agoShow FPS in UI state
liyuqian [Tue, 7 Jun 2016 13:57:40 +0000 (06:57 -0700)]
Show FPS in UI state

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043793002

Review-Url: https://codereview.chromium.org/2043793002

8 years agoGet segment masks from GrShape.
bsalomon [Tue, 7 Jun 2016 13:28:51 +0000 (06:28 -0700)]
Get segment masks from GrShape.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046753002

Review-Url: https://codereview.chromium.org/2046753002

8 years agoMake GrShape track the winding direction and starting point for rrect types.
bsalomon [Mon, 6 Jun 2016 21:01:25 +0000 (14:01 -0700)]
Make GrShape track the winding direction and starting point for rrect types.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042813002

Review-Url: https://codereview.chromium.org/2042813002

8 years agoAdd new SkSourceGammaTreatment enum, used in situations like mipmap construction...
brianosman [Mon, 6 Jun 2016 20:10:58 +0000 (13:10 -0700)]
Add new SkSourceGammaTreatment enum, used in situations like mipmap construction, where we need to know if we should respect (vs. ignore) the gamma encoding of sRGB tagged images. Plumb that extensively.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2037413002

Review-Url: https://codereview.chromium.org/2037413002

8 years agoAdd SkDefaultXform as a catch-all to handle color conversions
msarett [Mon, 6 Jun 2016 19:02:31 +0000 (12:02 -0700)]
Add SkDefaultXform as a catch-all to handle color conversions

I'd like to start optimizing the common case for color xforms,
but before doing that, I think it makes sense to have correct
code to support all xforms.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2038823002

Review-Url: https://codereview.chromium.org/2038823002

8 years agoUse Options object passed to startScanlineDecode
scroggo [Mon, 6 Jun 2016 18:48:05 +0000 (11:48 -0700)]
Use Options object passed to startScanlineDecode

This->options() has not been updated to include the latest settings.

Originally brought up in crrev.com/1997703003, which has been reverted.
This is not really related to that change anyway, so separating it out.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046493004

Review-Url: https://codereview.chromium.org/2046493004

8 years agoRevert of Make SkPngCodec decode progressively. (patchset #26 id:520001 of https...
scroggo [Mon, 6 Jun 2016 18:26:17 +0000 (11:26 -0700)]
Revert of Make SkPngCodec decode progressively. (patchset #26 id:520001 of https://codereview.chromium.org/1997703003/ )

Reason for revert:
Still causing problems in Google3, e.g.

https://test.corp.google.com/ui#cl=124138817&flags=CAMQBQ==&id=OCL:124138817:BASE:124139560:1465227435491:219ffbdb&t=//third_party/skia/HEAD:dm

Original issue's description:
> Make SkPngCodec decode progressively.
>
> This is a step towards using SkCodec in Chromium, where progressive
> decoding is necessary.
>
> Switch from using png_read_row (which expects all the data to be
> available) to png_process_data, which uses callbacks when rows are
> available.
>
> Create a new API for SkCodec, which supports progressive decoding and
> scanline decoding. Future changes will switch the other clients off of
> startScanlineDecode and get/skip-Scanlines to the new API.
>
> Remove SkCodec::kNone_ScanlineOrder, which was only used for interlaced
> PNG images. In the new API, interlaced PNG fits kTopDown. Also remove
> updateCurrScanline(), which was only used by the old implementation for
> interlaced PNG.
>
> DMSrcSink:
> - In CodecSrc::kScanline_Mode, use the new method for scanline decoding
> for the supported formats (just PNG and PNG-in-ICO for now).
>
> fuzz.cpp:
> - Remove reference to kNone_ScanlineOrder
>
> SkCodec:
> - Add new APIs:
>     - startIncrementalDecode
>     - incrementalDecode
> - Remove kNone_SkScanlineOrder and updateCurrScanline()
>
> SkPngCodec:
> - Implement new APIs
> - Switch from sk_read_fn/png_read_row etc to png_process_data
> - Expand AutoCleanPng's role to decode the header and create the
>   SkPngCodec
> - Make the interlaced PNG decoder report how many lines were
>   initialized during an incomplete decode
> - Make initializeSwizzler return a bool instead of an SkCodec::Result
>   (It only returned kSuccess or kInvalidInput anyway)
>
> SkIcoCodec:
> - Implement the new APIs; supported for PNG in ICO
>
> SkSampledCodec:
> - Call the new method for decoding scanlines, and fall back to the old
>   method if the new version is unimplemented
> - Remove references to kNone_SkScanlineOrder
>
> tests/CodecPartial:
> - Add a test which decodes part of an image, then finishes the decode,
>   and compares it to the straightforward method
>
> tests/CodecTest:
> - Add a test which decodes all scanlines using the new method
> - Repurpose the Codec_stripes test to decode using the new method in
>   sections rather than all at once
> - In the method check(), add a parameter for whether the image supports
>   the new method of scanline decoding, and be explicit about whether an
>   image supports incomplete
> - Test incomplete PNG decodes. We should have been doing it anyway for
>   non-interlaced (except for an image that is too small - one row), but
>   the new method supports interlaced incomplete as well
> - Make test_invalid_parameters test the new method
> - Add a test to ensure that it's safe to fall back to scanline decoding without
>   rewinding
>
> BUG=skia:4211
>
> The new version was generally faster than the old version (but not significantly so).
>
> Some raw performance differences can be found at https://docs.google.com/a/google.com/spreadsheets/d/1Gis3aRCEa72qBNDRMgGDg3jD-pMgO-FXldlNF9ejo4o/
>
> Design doc can be found at https://docs.google.com/a/google.com/document/d/11Mn8-ePDKwVEMCjs3nWwSjxcSpJ_Cu8DF57KNtUmgLM/
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1997703003
>
> Committed: https://skia.googlesource.com/skia/+/a4b09a117d4d1ba5dda372e6a2323e653766539e
>
> Committed: https://skia.googlesource.com/skia/+/30e78c9737ff4861dc4e3fa1e4cd010680ed6965
>
> Committed: https://skia.googlesource.com/skia/+/6fb2391b2cc83ee2160b4e994faa8128975acc1f

TBR=reed@google.com,msarett@google.com,scroggo@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:4211
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2044573002

Review-Url: https://codereview.chromium.org/2044573002

8 years agoGamma sanity checks
msarett [Mon, 6 Jun 2016 17:42:51 +0000 (10:42 -0700)]
Gamma sanity checks

(1) Make load_gammas() return false on invalid gammas.
(2) Assert that gamma always exists after loading.
(3) Avoid dividing by zero.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043803002

Review-Url: https://codereview.chromium.org/2043803002

8 years agoPrefix png functions
scroggo [Mon, 6 Jun 2016 15:57:50 +0000 (08:57 -0700)]
Prefix png functions

This way multiple copies of libpng can coexist.

Update libpng's README.google
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046603002

Review-Url: https://codereview.chromium.org/2046603002

8 years agoUse intptr_t for onTouch argument.
jvanverth [Mon, 6 Jun 2016 15:48:47 +0000 (08:48 -0700)]
Use intptr_t for onTouch argument.

On 64-bit platforms, casting int to void* is not valid.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2047443002

Review-Url: https://codereview.chromium.org/2047443002

8 years agoUpdate pnglibconf.h
scroggo [Mon, 6 Jun 2016 15:27:52 +0000 (08:27 -0700)]
Update pnglibconf.h

It should have been updated when we updated the version.

Update README.google to better reflect the difference from the
original file.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042833002

Review-Url: https://codereview.chromium.org/2042833002

8 years agoUse SK_TEST_QCMS to mark qcms test code
msarett [Mon, 6 Jun 2016 15:20:37 +0000 (08:20 -0700)]
Use SK_TEST_QCMS to mark qcms test code

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2031053005

Review-Url: https://codereview.chromium.org/2031053005

8 years agoAllow animation in Android viewer
liyuqian [Mon, 6 Jun 2016 14:53:24 +0000 (07:53 -0700)]
Allow animation in Android viewer

To do that, we let ALooper_pollAll return immediately rather than wait indefinitely.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2031383002

Review-Url: https://codereview.chromium.org/2031383002

8 years agoName parametric gamma curve types
msarett [Mon, 6 Jun 2016 14:26:39 +0000 (07:26 -0700)]
Name parametric gamma curve types

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041753004

Review-Url: https://codereview.chromium.org/2041753004

8 years agoRemove GrRenderTarget from GrPipelineBuilder
robertphillips [Mon, 6 Jun 2016 13:16:20 +0000 (06:16 -0700)]
Remove GrRenderTarget from GrPipelineBuilder

This used to be "Declassify GrClipMaskManager and Remove GrRenderTarget and GrDrawTarget from GrPipelineBuilder"

but has been split into:
https://codereview.chromium.org/1993263002/ (Make GrAppliedClip friendless)
https://codereview.chromium.org/1997773002/ (Retract GrRenderTarget from GLProgramsTest)
https://codereview.chromium.org/1993403002/ (GrSWMaskHelper and GrSoftwarePathRenderer only need the textureProvider (not GrContext))
https://codereview.chromium.org/2004433002/ (Retract GrRenderTarget from GrTestTarget)
https://codereview.chromium.org/2015333002/ (Change parameters to GrPipelineBuilder's ctor)
https://codereview.chromium.org/2035823002/ (Make GrClipMaskManager stateless and push GrPipelineBuilder construction downstack)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1988923002

Review-Url: https://codereview.chromium.org/1988923002

8 years agoMIPS32r2: Fix Chromium runtime crash
milko.leporis [Sun, 5 Jun 2016 20:14:21 +0000 (13:14 -0700)]
MIPS32r2: Fix Chromium runtime crash

Crash is caused by ldxc1 instruction, which traps when double values are
not aligned on 8-byte boundaries. Problem was tracked to SkChunkAlloc which
produces pointers aligned on 4-byte boundaries leading to misalignment.

This change makes sure that SkChunkAlloc will produce pointers that are
aligned to 8 bytes.

Appropriate tests are added to tests/MemsetTest.cpp

TEST=Build Chromium with Clang and run on MIPS32r2 platform
TEST=./out/Debug/dm --match Memset
BUG=130022
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1849183004

Review-Url: https://codereview.chromium.org/1849183004

8 years agoUpdate SKP version
update-skps [Sun, 5 Jun 2016 07:36:10 +0000 (00:36 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2038313002

Review-Url: https://codereview.chromium.org/2038313002

8 years agoAdd the ability to handle premul and swizzle src bitmap data.
herb [Sat, 4 Jun 2016 20:27:10 +0000 (13:27 -0700)]
Add the ability to handle premul and swizzle src bitmap data.

BUG=skia:5378
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030953002

Review-Url: https://codereview.chromium.org/2030953002

8 years agoTest PDFium bot again
rmistry [Sat, 4 Jun 2016 18:57:23 +0000 (11:57 -0700)]
Test PDFium bot again

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2037283002
TBR=
NOTRY=true

Review-Url: https://codereview.chromium.org/2041623002

8 years agoTest PDFium bot
rmistry [Sat, 4 Jun 2016 17:27:30 +0000 (10:27 -0700)]
Test PDFium bot

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2037283002
TBR=
NOTRY=true

Review-Url: https://codereview.chromium.org/2037283002

8 years agoMore Unref GrXPFactory.
bungeman [Sat, 4 Jun 2016 00:43:24 +0000 (17:43 -0700)]
More Unref GrXPFactory.

Not releasing the reference was caught by the Skia asan bot.
All remaining occurences of this pattern have been updated.

This fixes "Make GrClipMaskManager stateless and push GrPipelineBuilder construction downstack".

TBR=herb

Review-Url: https://codereview.chromium.org/2037243002

8 years agoAdd ability to rotate light direction in drawLitAtlas Sample slide
robertphillips [Fri, 3 Jun 2016 22:48:16 +0000 (15:48 -0700)]
Add ability to rotate light direction in drawLitAtlas Sample slide

As requested by Greg.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2032263004

Review-Url: https://codereview.chromium.org/2032263004

8 years agoRemove some uses of SK_SUPPORT_LEGACY_TYPEFACE_PTR.
bungeman [Fri, 3 Jun 2016 21:35:06 +0000 (14:35 -0700)]
Remove some uses of SK_SUPPORT_LEGACY_TYPEFACE_PTR.

Some of the deprecated signatures are no longer used by any known
client, so remove them now to prevent future use.

TBR=reed
This doesn't add API, it just removes it.

Review-Url: https://codereview.chromium.org/2036993003

8 years agoUnref GrXPFactory.
bungeman [Fri, 3 Jun 2016 21:25:05 +0000 (14:25 -0700)]
Unref GrXPFactory.

Not releasing the reference was caught by asan in the Chromium roll.

This fixes "Make GrClipMaskManager stateless and push GrPipelineBuilder construction downstack".

Review-Url: https://codereview.chromium.org/2037193002