Kevin Lubick [Tue, 29 Nov 2016 16:14:39 +0000 (11:14 -0500)]
Fix DrawFunctions fuzzer to initialize bitmaps
Patch by twsmith@mozilla.com
BUG=skia:5997
Change-Id: I3d4edd9fa5c8f5f2a5184d42b1c4944a1353556f
Reviewed-on: https://skia-review.googlesource.com/5304
Reviewed-by: twsmith@mozilla.com <twsmith@mozilla.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Brian Salomon [Mon, 28 Nov 2016 21:34:06 +0000 (16:34 -0500)]
Fix documents for creating a GPU surface.
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=5284
Change-Id: I9ca559576d9e7fdff612cfe79628303bc7677bd7
Reviewed-on: https://skia-review.googlesource.com/5284
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Mike Klein [Tue, 29 Nov 2016 13:14:49 +0000 (08:14 -0500)]
Make gather() look and work more like load().
They're really similar, so let's make them look that way.
Finally use mask load, mask store, and gather instructions for 8888.
We avoid mask load and store when tail == 0. It's faster (one memory load instead of two) and a cheap test.
For gather, the intrinsics make it look like we could do the same, but it really all boils down to the same masked instruction in the end.
There's probably a better way to implement mask() with math instead of memory loads, but this works for now.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: I578f47d4562ea19d983057bf2f4c3e21d0ab9a0e
Reviewed-on: https://skia-review.googlesource.com/5234
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Mon, 28 Nov 2016 18:09:40 +0000 (13:09 -0500)]
Use /MD for Windows builds.
I think the default is /MT, static linking.
This should make our builds smaller, and compatible with clients using /MD.
Change-Id: Id8a39a029925eda2627532bbd0223c693300f5da
Reviewed-on: https://skia-review.googlesource.com/5277
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Tue, 29 Nov 2016 17:46:58 +0000 (12:46 -0500)]
document x_tail encoding
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: Id9a6d00e68a7cf7464c6a561bd97e63abf6886c4
Reviewed-on: https://skia-review.googlesource.com/5307
Reviewed-by: Herb Derby <herb@google.com>
Brian Salomon [Tue, 29 Nov 2016 16:59:17 +0000 (11:59 -0500)]
Reland image storage with fixes.
Revert "Revert "Initial OpenGL Image support.""
This reverts commit
59dc41175d99d0a31c046aec0c26c4d82a3a3574.
BUG=skia:
Change-Id: Ibe3c87ce7f746f065fdbcc5a518388cc291112f5
Reviewed-on: https://skia-review.googlesource.com/5131
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Matt Sarett [Mon, 28 Nov 2016 23:46:37 +0000 (18:46 -0500)]
Fix float/int bug in SkRawCodec
This will hopefully not change any behavior
BUG=android:
32591644
Change-Id: Ia256d39c57a97db085d1d1c4cf003948eddf0771
Reviewed-on: https://skia-review.googlesource.com/5295
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
dskiba [Tue, 29 Nov 2016 14:50:35 +0000 (06:50 -0800)]
Make GrMemoryPool play nice with bucketing allocators.
Some memory allocators have very coarse size buckets, so for example on
Android (jemalloc) an attempt to allocate 32 KiB + 1 byte will end up
allocating 40 KiB, wasting 8 KiB.
GrMemoryPool ctor takes two arguments that specify prealloc / block sizes,
and then inflates them to accommodate some bookkeeping structures. Since
most places create GrMemoryPools with pow2 numbers (which have buckets in
most allocators) the inflation causes allocator to select next size bucket,
wasting memory.
This CL makes GrMemoryPool to stop inflating sizes it was created with, and
allocate specified amounts exactly. Part of allocated memory is then used for
bookkeeping structures. Additionally, GrObjectMemoryPool template is provided,
which takes prealloc / block object counts (instead of sizes) and guarantees
that specified number of objects will fit in prealloc / block spaces.
BUG=651872
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2525773002
Review-Url: https://codereview.chromium.org/
2525773002
Mike Klein [Tue, 29 Nov 2016 04:17:19 +0000 (23:17 -0500)]
use fma() in accumulate
Was just reading the disassembly and noticed the opportunity.
Change-Id: I25d4b70802f9a9563491f3126da69829611a9b28
Reviewed-on: https://skia-review.googlesource.com/5235
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Reed [Mon, 28 Nov 2016 22:17:38 +0000 (17:17 -0500)]
don't support converting from alpha to non-alpha
BUG=skia:
Change-Id: Ia06bef6c0bfc03b5ca9f569c07e993da0bbd67c3
Reviewed-on: https://skia-review.googlesource.com/5288
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Mike Klein [Tue, 29 Nov 2016 01:00:06 +0000 (20:00 -0500)]
SkNx_abi is unused.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: I082c34a1f484715cd2dca55a8d23101235755e6a
Reviewed-on: https://skia-review.googlesource.com/5233
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Eric Boren [Mon, 28 Nov 2016 15:12:09 +0000 (10:12 -0500)]
[nobuildbot] Win GCE bots
BUG=skia:
Change-Id: Id0d0319f68a1c6d970c13bb5b6006786ae04ffec
Reviewed-on: https://skia-review.googlesource.com/5265
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
raftias [Mon, 28 Nov 2016 23:43:43 +0000 (18:43 -0500)]
Moved A2B0 profile parsing before XYZ
This allows us to correctly display images with both a A2B0 tag
and *XYZ/*TRC tags, instead of ignoring the A2B0 information.
BUG=skia:
Change-Id: Icd63db5a55692ef4c5b3f098d963e7e3f583f9a4
Reviewed-on: https://skia-review.googlesource.com/5230
Commit-Queue: Robert Aftias <raftias@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Mike Klein [Mon, 28 Nov 2016 23:23:23 +0000 (18:23 -0500)]
Consistent naming.
For stages that have {r,g,b,a} and {dr,dg,db,da} versions, name the {r,g,b,a} one "foo" and the {dr,dg,db,da} on "foo_d". The {r,g,b,a} registers are the ones most commonly used and fastest, so they get short ordinary names, and the d-registers are less commonly used and sometimes slower, so they get a suffix.
Some stages naturally opearate on all 8 registers (the xfermodes, accumulate). These names for those look fine and aren't ambiguous.
Also, a bit more re-arrangement in _opts.h.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: Ia20029247642798a60a2566e8a26b84ed101dbd0
Reviewed-on: https://skia-review.googlesource.com/5291
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Reed [Mon, 28 Nov 2016 22:26:27 +0000 (17:26 -0500)]
use raster-pipeline in readPixels
1. tons of 565 diffs in gm, so skipping that for now
2. 32bit premul/unpremul conversions are slower than existing code, so for now use the pipeline after the existing special-cases.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5152
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: I6ca43b6dd24434814f8f10cdaaabbaf396914d1a
Reviewed-on: https://skia-review.googlesource.com/5152
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Ethan Nicholas [Mon, 28 Nov 2016 21:30:17 +0000 (16:30 -0500)]
added support for layout(offset=...) to skslc
BUG=skia:
Change-Id: Idc1118503f9703496a0c852f0d8840b26e08b9fb
Reviewed-on: https://skia-review.googlesource.com/5283
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Ben Wagner [Mon, 28 Nov 2016 20:30:37 +0000 (15:30 -0500)]
Merge changes from internal cl/
140385880.
BUG=skia:
Change-Id: I1c4994a83a1669032b8dc2620fd5c3258f82a222
Reviewed-on: https://skia-review.googlesource.com/5282
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Mike Klein [Mon, 28 Nov 2016 21:30:30 +0000 (16:30 -0500)]
simplify
This file is getting complicated. We're still in early days and I want to keep it nimble and easy to refactor.
Simplifications:
- go back to one stage function type, packing x and tail together in one size_t
(x_tail = x*N+tail; x = x_tail/N, tail = x_tail%N, all cheap for power of 2 N);
- all stages call next(), ending in just_return;
- stop coddling MSVC with kIsTail.
These simplifications should all make things a little slower, some only when using subpar compilers.
On a positive note, this should cut code size by about half.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: I7de87c5a3cb0cbbf1e0ed0588f1ccb860a498e66
Reviewed-on: https://skia-review.googlesource.com/5285
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Yuqian Li [Mon, 28 Nov 2016 21:38:18 +0000 (21:38 +0000)]
Revert "Add the missing shift to the dy"
This reverts commit
dd13c020793b0a7fb2ac1f22024e9fb91ea483ef.
Reason for revert: this breaks the Chromium DEPS roll as we break the layout_tests. I'll add a flag to guard the change in the future and enable the flag while change the layout_tests.
Original change's description:
> Add the missing shift to the dy
>
> BUG=chromium:668907
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5266
>
> Change-Id: I6d3e56ffc149fbeac6f7a2df740542abbf84dac8
> Reviewed-on: https://skia-review.googlesource.com/5266
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Yuqian Li <liyuqian@google.com>
>
TBR=mtklein@chromium.org,caryclark@google.com,liyuqian@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ifd5aa50f155c3ebe2f1495cbf3b8dd706211a639
Reviewed-on: https://skia-review.googlesource.com/5286
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
Mike Klein [Mon, 28 Nov 2016 18:24:27 +0000 (13:24 -0500)]
Convert blitter over to new style from_srgb, to_srgb.
Every sRGB GM changes, none noticeably.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: I632845aea0f40751639cccbcfde8fa270cae0301
Reviewed-on: https://skia-review.googlesource.com/5275
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Lee Salzman [Mon, 28 Nov 2016 19:57:14 +0000 (14:57 -0500)]
use __BYTE_ORDER__ macro to detect endianness when available
BUG=skia:
Change-Id: Iff27097c248a643319e930a6212c5a7155bd0064
Reviewed-on: https://skia-review.googlesource.com/5280
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Brian Osman [Mon, 28 Nov 2016 16:54:42 +0000 (11:54 -0500)]
Narrow the SkImageGenerator interface
Remove some unused variants of bitmap generation and a helper that
serves no purpose.
BUG=skia:
TBR=reed@google.com
Change-Id: I16022e7f0242c4511eebdc06d890f6bfdf81d1f9
Reviewed-on: https://skia-review.googlesource.com/5229
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Brian Salomon [Mon, 28 Nov 2016 18:14:00 +0000 (13:14 -0500)]
Remove old driver bug workaround for glTexStorage.
Apparently we had issues with this on Qualcomm over 3 years ago.
Today it works fine on a Nexus 6P. If we still need this on some devices we should add back a narrower filter.
Change-Id: I0ccbb4918e4df7a8045b9033b9f121aca3c8d8ef
Reviewed-on: https://skia-review.googlesource.com/5278
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Eric Boren [Mon, 28 Nov 2016 13:55:29 +0000 (08:55 -0500)]
Roll recipe DEPS
BUG=skia:
Change-Id: I048f54052ca66cb5d73fe9adafe33a690f9dc0d1
Reviewed-on: https://skia-review.googlesource.com/5263
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Ethan Nicholas [Mon, 28 Nov 2016 16:23:23 +0000 (11:23 -0500)]
unified ASTLayout/Layout and ASTModifiers/Modifiers
BUG=skia:
Change-Id: Ib4c2c94401e586e93e926776e13c0f7c12212f7e
Reviewed-on: https://skia-review.googlesource.com/5268
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Ethan Nicholas [Mon, 28 Nov 2016 17:03:26 +0000 (12:03 -0500)]
removed textureProj() and legacy texture functions from sksl
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5120
Change-Id: I21b111d54becaca845134376e54a5a7c0a6cd6c8
Reviewed-on: https://skia-review.googlesource.com/5120
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Mike Reed [Mon, 28 Nov 2016 16:57:48 +0000 (11:57 -0500)]
simplify SkConfig8888 logic: just fall-through if memcpy case isn't supported
Will make future changes clearer: e.g. https://skia-review.googlesource.com/c/5152/
BUG=skia:
Change-Id: I7cc4dfd18bc3890153a5ca3f11f1b665658c48f7
Reviewed-on: https://skia-review.googlesource.com/5272
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Mike Klein [Mon, 28 Nov 2016 16:55:58 +0000 (11:55 -0500)]
Split srgb out of accum stages.
By stashing the scales in the context (i.e. on the stack), we can free up enough registers to really simplify how the bitmap sample stages interact.
Nearest neighbor is straightforward now: just call the appropriate gather_ function, and you're done. The source pixels end up in the source registers. If they're sRGB encoded, follow up with from_srgb_s
To bilerp, we bracket those 1 or 2 gather+from_srgb_s stages with a stage setting up each corner (x += dx, y += dy, save off scale) and a stage that accumulates into the d-registers (load saved scale, dr += scale * r, etc.). When all the samples are accumulated, copy the d-registers into the s-registers.
from_srgb_d and to_srgb are lightly sketched here and will be used in the next CL, where I apply this same factoring to non-bitmap loads and stores. This is a little tricky, because we don't actually have a float->float to_srgb yet.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: I272a1f278f0ea1b29a2f07ac225f753faa8dae81
Reviewed-on: https://skia-review.googlesource.com/5271
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
raftias [Mon, 28 Nov 2016 16:30:18 +0000 (11:30 -0500)]
Fuzzer fix for overflow in some Lut8 profiles.
Bug(?) in the tetrahedral interpolation causes output values to go out
of range a bit (1.035/1.0) in the upper range. We will just clamp for
now as a temporary fix.
BUG=668784
Change-Id: I78dd90da7174133e647b1c6c6e914dbde5de123c
Reviewed-on: https://skia-review.googlesource.com/5228
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Robert Aftias <raftias@google.com>
Mike Klein [Mon, 28 Nov 2016 14:48:31 +0000 (09:48 -0500)]
Fix unpremul stage.
The existing invert() logic explodes when a == 0.
Less terribly, invert() also does not turn 1.0f into 1.0f, so we now use a float divide. This will cause a small diff in the matrix color filter GM due to increased unpremul precision.
There's an alternative to try if this stage turns out to be speed critical:
auto scale = (a == 0.0f).thenElse(0.0f,
a.invert() * (1.0f / SkNf(1.0f).invert()));
The (1.0f / SkNf(1.0f).invert()) bit there is a constant, scaling a bit to make 1.0f produce 1.0f.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: I9db72eda108d3d28583a4357f90a0dcd7e4d8a6f
Reviewed-on: https://skia-review.googlesource.com/5227
Reviewed-by: Mike Reed <reed@google.com>
Yuqian Li [Mon, 28 Nov 2016 15:31:58 +0000 (10:31 -0500)]
Add the missing shift to the dy
BUG=chromium:668907
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5266
Change-Id: I6d3e56ffc149fbeac6f7a2df740542abbf84dac8
Reviewed-on: https://skia-review.googlesource.com/5266
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Brian Osman [Mon, 28 Nov 2016 15:06:27 +0000 (10:06 -0500)]
GrTextureProducer cleanup, phase two: Producer, Adjuster, Maker
Previously: GrTextureProducer, GrTextureAdjuster, and GrTextureMaker
were all in GrTextureParamsAdjuster.h. Now they're each in their own
header.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5202
Change-Id: I17fa9057b11511aa4d3e15569ea1c378cfec4c80
Reviewed-on: https://skia-review.googlesource.com/5202
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Mike Klein [Tue, 22 Nov 2016 13:57:45 +0000 (08:57 -0500)]
Guard against buggy ucrt\math.h.
BUG=666707
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5089
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: I3bebfdf635d541d92fb84236f0f6fae2da39d691
Reviewed-on: https://skia-review.googlesource.com/5089
Reviewed-by: Bruce Dawson <brucedawson@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Ethan Nicholas [Tue, 22 Nov 2016 20:40:27 +0000 (15:40 -0500)]
baked in a few more precision modifiers
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5146
Change-Id: If824ddd3551fd50b66e98edc39f10fa60a0560dc
Reviewed-on: https://skia-review.googlesource.com/5146
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Mike Klein [Mon, 28 Nov 2016 14:33:02 +0000 (09:33 -0500)]
Some simple pipeline refactoring.
This is a batch of little tweaks that all preserve the existing logical behavior:
- rename dst to move_dst_src to parallel move_src_dst
- remove unused swap_src_dst
- move swap_rb up with the other utility stages
- factor out from_8888() to parallel from_565() and from_4444()
- factor out gather() from the accum_* stages
This changes the order of the math in accum_8888[_srgb] ever so slightly, from (scale * C) * (1/255.0f) to scale * (1/255.0f * C). It causes a few pixel diffs, but nothing noticeable. This makes the 8888 bilerp logic consistent with the other formats, which all convert to [0,1] float first before being scaled.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: Id37857b91be3086565169dcc9b1a537574e532aa
Reviewed-on: https://skia-review.googlesource.com/5226
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Brian Osman [Mon, 28 Nov 2016 14:26:31 +0000 (09:26 -0500)]
GrTextureProducer cleanup, phase one: Bitmap and Image makers
Split these into their own files, and actually name the files after the
classes they contain. The top three classes in the hierarchy still need
attention, but those are going to be trickier.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5195
Change-Id: I295f4d50e35748eac38a31f302e14b5b62653c55
Reviewed-on: https://skia-review.googlesource.com/5195
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Mike Reed [Mon, 28 Nov 2016 13:57:01 +0000 (08:57 -0500)]
don't rely on canvas being reference counted
BUG=skia:
Change-Id: Ibb9feeabd305fa53dcba69c7a383ed8efa7df3bc
Reviewed-on: https://skia-review.googlesource.com/5264
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Yujie Qin [Thu, 24 Nov 2016 08:58:35 +0000 (09:58 +0100)]
Update PIEX
BUG=
32591644
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5240
Change-Id: I0ff3e24ed154a2338808d29ed91536eb6bf98641
Reviewed-on: https://skia-review.googlesource.com/5240
Reviewed-by: Anton Daubert <adaubert@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Eric Boren [Mon, 28 Nov 2016 12:22:18 +0000 (07:22 -0500)]
[nobuildbot] Mac bots
BUG=skia:
Change-Id: I089a21941b65d4bb53e803c4d5081b26bda30f14
Reviewed-on: https://skia-review.googlesource.com/5210
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
UpdateSKPs [Sun, 27 Nov 2016 05:42:55 +0000 (05:42 +0000)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=update-skps@skia.org
NO_MERGE_BUILDS
Change-Id: Ib3ea1f88ec5aaf0e11e23c127191653701a0793b
Reviewed-on: https://skia-review.googlesource.com/5219
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
Robert Phillips [Thu, 24 Nov 2016 00:37:13 +0000 (19:37 -0500)]
Fix gpu blurring on platforms that "useDrawInsteadOfClear"
Platforms that "useDrawInsteadOfClear" take a different path in
GrRenderTargetContext::internalClear. The different path involves
a lot of comparisons of the drawn rect with the bounds of the RenderTarget. Since the RenderTargets are now deferred (and the instantiated version might be larger than the proxied size) case must be taken in prematurely optimizing away clears and draws.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5148
TBR=bsalomon@google.com
Change-Id: If63b6393fb66328175bc92de211e7242e903f25e
Reviewed-on: https://skia-review.googlesource.com/5148
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Florin Malita [Wed, 23 Nov 2016 15:49:20 +0000 (10:49 -0500)]
External image generator API: return an SkPixmap instead of SkImage
R=reed@google.com
BUG=skia:5806
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5134
Change-Id: Ib0215f63b67f4d5b619ebe1f1b70c7d95e604871
Reviewed-on: https://skia-review.googlesource.com/5134
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Mike Reed [Thu, 24 Nov 2016 02:16:29 +0000 (21:16 -0500)]
hide accessBitmap from g3
BUG=skia:
Change-Id: I00e8121751e640ee3b449d27b6ccfcc1491964a7
Reviewed-on: https://skia-review.googlesource.com/5224
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Mike Reed [Wed, 23 Nov 2016 22:16:59 +0000 (22:16 +0000)]
Revert "Revert "make it illegal to include SkXfermode.h""
This reverts commit
e9d1b299ccbf8017ba57040986ded638f954684a.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Revert "make it illegal to include SkXfermode.h"
>
> This reverts commit
07764cefbb18041a77897df3453903b0a2016583.
>
> Reason for revert: breaking google3
>
> Original change's description:
> > make it illegal to include SkXfermode.h
> >
> > BUG=skia:
> >
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5133
> >
> > Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db
> > Reviewed-on: https://skia-review.googlesource.com/5133
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> >
>
> TBR=reed@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I136f9e533eb60633c49dffa19b5747d50b6d98a8
> Reviewed-on: https://skia-review.googlesource.com/5196
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
>
TBR=egdaniel@google.com,reviews@skia.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I0b767ce778a4ade83c2f07d5ece486bb46d7712c
Reviewed-on: https://skia-review.googlesource.com/5223
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Mike Reed [Wed, 23 Nov 2016 21:28:20 +0000 (16:28 -0500)]
remove xfermode flag (again) for g3
BUG=skia:
Change-Id: Ib6842553ff5e8b3003769ac352287dc0e0f7e691
NOTRY=True
Reviewed-on: https://skia-review.googlesource.com/5222
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
UpdateSKPs [Wed, 23 Nov 2016 20:37:46 +0000 (20:37 +0000)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=update-skps@skia.org
NO_MERGE_BUILDS
Change-Id: Ie281be52f150f3380090d91a83ed8f51afe58e4a
Reviewed-on: https://skia-review.googlesource.com/5215
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
Chinmay Garde [Wed, 23 Nov 2016 19:43:56 +0000 (11:43 -0800)]
[GN] Create a non-null default native GL interface on iOS.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5212
Change-Id: Ie59cd79687af9eb2530fab8089477c1702e4badc
Reviewed-on: https://skia-review.googlesource.com/5212
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Matt Sarett [Wed, 23 Nov 2016 18:13:42 +0000 (13:13 -0500)]
A few bug fixes for SkOverdrawCanvas
(1) Use SkNWayCanvas to pass through non-draw canvas calls.
(2) Do not count overdraw on the initial canvas clear.
(3) Avoid counting overdraw for transparent lattice regions.
(4) Respect some properties of input paint.
BUG:
32370375
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5150
Change-Id: I8fe6b9df7247d637c710628aefdfee82a61048c2
Reviewed-on: https://skia-review.googlesource.com/5150
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Eric Boren [Wed, 23 Nov 2016 16:03:28 +0000 (11:03 -0500)]
[nobuildbot] Remaining (non-CT) Linux bots
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5187
Change-Id: Ibce633b602623510f3c43cca2862a97b41d45b52
Reviewed-on: https://skia-review.googlesource.com/5187
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Eric Boren [Wed, 23 Nov 2016 17:46:26 +0000 (12:46 -0500)]
Fix is_trybot for no-buildbot bots
This was breaking gold/perf trybot results for no-buildbot bots.
Note that:
- Upload destination was correct, due to upload_nano_results using the
correct property names.
- Patches were properly applied, since bot_update uses the properties
independently of our logic.
BUG=skia:
Change-Id: I16f2e2d24d4602dc73233784d098f00b745e061a
Reviewed-on: https://skia-review.googlesource.com/5201
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Ravi Mistry [Wed, 23 Nov 2016 18:26:34 +0000 (13:26 -0500)]
Do not use post upload hooks for 'GOLD_TRYBOT_URL'
That information will be provided via a plugin soon.
# This code is not exercised by trybots.
NOTRY=true
BUG=skia:6000
Change-Id: I6ea60783c0581e32317a781e4349e95b38b71da0
Reviewed-on: https://skia-review.googlesource.com/5207
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Greg Daniel [Wed, 23 Nov 2016 16:47:38 +0000 (16:47 +0000)]
Revert "make it illegal to include SkXfermode.h"
This reverts commit
07764cefbb18041a77897df3453903b0a2016583.
Reason for revert: breaking google3
Original change's description:
> make it illegal to include SkXfermode.h
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5133
>
> Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db
> Reviewed-on: https://skia-review.googlesource.com/5133
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>
TBR=reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I136f9e533eb60633c49dffa19b5747d50b6d98a8
Reviewed-on: https://skia-review.googlesource.com/5196
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Hal Canary [Wed, 23 Nov 2016 15:55:18 +0000 (08:55 -0700)]
SkImageEncoder: simplify API
(re-land 248ff02 & 2cb6cb7, with changes)
- Hide SkImageEncoder class in private header.
- SkImageEncoder::Type becomes SkEncodedImageFormat
- SkEncodedFormat becomes SkEncodedImageFormat
- SkImageEncoder static functions replaced with
single function EncodeImage()
- utility wrappers for EncodeImage() are in
sk_tool_utils.h
TODO: remove link-time registration mechanism.
TODO: clean up clients use of API and flip the flag.
TODO: implement EncodeImage() in chromeium/skia/ext
Change-Id: I47d451e50be4d5c6c130869c7fa7c2857243d9f0
Reviewed-on: https://skia-review.googlesource.com/4909
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-on: https://skia-review.googlesource.com/5186
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Brian Osman [Wed, 23 Nov 2016 14:37:01 +0000 (09:37 -0500)]
Added GrSurfaceContext and GrTextureContext
This lets copy-to-texture to be treated like copy-to-rt.
To match current behavior, though, copies to texture are
still executed immediately (forcing a flush).
Once MDB is enabled, copies to texture will be deferred.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5093
Change-Id: Icc0ce5435507a5f0a237c22eedef879824952367
Reviewed-on: https://skia-review.googlesource.com/5093
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Mike Reed [Wed, 23 Nov 2016 15:03:39 +0000 (10:03 -0500)]
make it illegal to include SkXfermode.h
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5133
Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db
Reviewed-on: https://skia-review.googlesource.com/5133
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Greg Daniel [Wed, 23 Nov 2016 15:32:29 +0000 (15:32 +0000)]
Revert "hide xfermode for g3"
This reverts commit
a5b2376365681f3c341bc4ff74bf0caedbfe9359.
Reason for revert: breaking google3
Original change's description:
> hide xfermode for g3
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5132
>
> Change-Id: I374abc04856e27df718145f9ae57cc83a447ba3e
> Reviewed-on: https://skia-review.googlesource.com/5132
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>
TBR=reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I115bc7814d6c96d897b8ae86a917ce2365c6b0b4
Reviewed-on: https://skia-review.googlesource.com/5185
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Eric Boren [Fri, 18 Nov 2016 18:10:51 +0000 (13:10 -0500)]
[nobuildbot] Migrate all Linux GCE bots
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4994
Change-Id: Ib63f36b3803117d5357c8e70c572653afd151abe
Reviewed-on: https://skia-review.googlesource.com/4994
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Mike Reed [Wed, 23 Nov 2016 13:43:34 +0000 (08:43 -0500)]
hide xfermode for g3
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5132
Change-Id: I374abc04856e27df718145f9ae57cc83a447ba3e
Reviewed-on: https://skia-review.googlesource.com/5132
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Ravi Mistry [Wed, 23 Nov 2016 13:38:18 +0000 (08:38 -0500)]
Add Gerrit support to RecreateSKPs
Tested by modifying Canary builder to upload a CL: https://task-scheduler.skia.org/job/20161122T163246.824881948Z_00000000000039de
The above uploaded Gerrit CL: https://skia-review.googlesource.com/c/5140/
BUG=skia:5979
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4889
Change-Id: I5527c9d4219b879d5220136949704ea0fc556f85
Reviewed-on: https://skia-review.googlesource.com/4889
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Brian Salomon [Wed, 23 Nov 2016 01:02:43 +0000 (01:02 +0000)]
Revert "Initial OpenGL Image support."
This reverts commit
be34882042048db096baca32ddf4a8b472529804.
Reason for revert: Test failures and shader compilation issues on Android.
Original change's description:
> Initial OpenGL Image support.
>
> This change along with recently landed changes is enough to make the new unit test work and not much else. imageLoad is support but not stores or any other image functions (atomics). Barriers in the shading language or the GL API are not yet hooked up.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4182
>
> Change-Id: I5958b7c89e40ae5ee05f7bbaca3b3738162fe5ce
> Reviewed-on: https://skia-review.googlesource.com/4182
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
>
TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I29a2502c296ae39ed9a999957800414ae46e6f0f
Reviewed-on: https://skia-review.googlesource.com/5129
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Brian Salomon [Wed, 23 Nov 2016 01:01:53 +0000 (01:01 +0000)]
Revert "Disable error reporting for ImageStorageLoad until it can be debugged"
This reverts commit
7befa711d4606aa2a1bcadc3878fcc2be6783fab.
Reason for revert: Needed to revert earlier CL
Original change's description:
> Disable error reporting for ImageStorageLoad until it can be debugged
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5154
>
> Change-Id: Ie8c685441c20c85bdff22d2df5c9c4d9718203f3
> Reviewed-on: https://skia-review.googlesource.com/5154
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
>
TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I19815fcec20dc193e9155f446a3bb0be713dac63
Reviewed-on: https://skia-review.googlesource.com/5128
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Brian Salomon [Tue, 22 Nov 2016 22:16:19 +0000 (17:16 -0500)]
Disable error reporting for ImageStorageLoad until it can be debugged
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5154
Change-Id: Ie8c685441c20c85bdff22d2df5c9c4d9718203f3
Reviewed-on: https://skia-review.googlesource.com/5154
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Brian Salomon [Tue, 22 Nov 2016 20:56:30 +0000 (15:56 -0500)]
Initial OpenGL Image support.
This change along with recently landed changes is enough to make the new unit test work and not much else. imageLoad is support but not stores or any other image functions (atomics). Barriers in the shading language or the GL API are not yet hooked up.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4182
Change-Id: I5958b7c89e40ae5ee05f7bbaca3b3738162fe5ce
Reviewed-on: https://skia-review.googlesource.com/4182
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Matt Sarett [Tue, 22 Nov 2016 20:48:50 +0000 (15:48 -0500)]
Add SkOverdrawColorFilter
Uses the value in the src alpha channel to choose how
to set the dst pixel.
This is a part of a multi-part change to detect and
display gpu overdraw on Android.
CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Debug-NoGPU-Trybot
BUG:
32370375
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5113
Change-Id: I07040929d8a46bbadd499dccec75eebef0e11d11
Reviewed-on: https://skia-review.googlesource.com/5113
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Hal Canary [Tue, 22 Nov 2016 21:21:38 +0000 (14:21 -0700)]
Revert
248ff023 &
2cb6cb72
Revert "SkImageEncoder: simplify API"
This reverts commit
248ff02331d7f73ee4b6c5a7eabeae1080c16cd4.
Revert "Fix bug: can't convert nullptr -> bool"
This reverts commit
2cb6cb7218171b357bb5c934f032ba69c7b78401.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5151
NOTRY=true
Change-Id: I5f6414392d6545f74db0b5bb50608d04f053a8ec
Reviewed-on: https://skia-review.googlesource.com/5151
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Mike Klein [Tue, 22 Nov 2016 20:50:12 +0000 (15:50 -0500)]
4444 and gray 8
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5147
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: Id08804803b2bbeab4fa88538491e99e53d5c2efe
Reviewed-on: https://skia-review.googlesource.com/5147
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Brian Salomon [Tue, 22 Nov 2016 20:06:46 +0000 (15:06 -0500)]
Move GrShaderVar to an appending model for layout qualifiers
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5144
Change-Id: I05e88961e50bd679cfe5863f413f3ec65bc9fd95
Reviewed-on: https://skia-review.googlesource.com/5144
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Mike Klein [Tue, 22 Nov 2016 19:58:45 +0000 (14:58 -0500)]
Support sRGB 565.
It looks like I'm not going to be able to avoid supporting sRGB G8, I8, 565, 4444, 8888.
(A8 and F16 will always be linear.) This fixes 565, and lays out the rest of the accum_*.
I did a little reorganization to keep things in ascending bit depth, just for sanity.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5145
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: Ib0508e5a4ee1bab2044a76bcabc367841d634cd2
Reviewed-on: https://skia-review.googlesource.com/5145
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Hal Canary [Tue, 22 Nov 2016 19:23:28 +0000 (12:23 -0700)]
Fix bug: can't convert nullptr -> bool
Change-Id: Ib37c46d00b6a3e768e6d8399f2a6afb332d36bff
Reviewed-on: https://skia-review.googlesource.com/5141
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
brianosman [Tue, 22 Nov 2016 20:03:53 +0000 (12:03 -0800)]
Handle nullptr from asTextureRef
This can fail, if the special image dimensions are larger than the maximum
allowable render target dimensions.
BUG=chromium:666519
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2520043003
Review-Url: https://codereview.chromium.org/
2520043003
Hal Canary [Tue, 22 Nov 2016 18:57:18 +0000 (11:57 -0700)]
remove SkPixelRef::refEncodedData()
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5001
Change-Id: I15dba4f44c762ab69a23eb8a77adff5f63763e30
Reviewed-on: https://skia-review.googlesource.com/5001
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Kevin Lubick [Tue, 22 Nov 2016 18:57:18 +0000 (13:57 -0500)]
FuzzDrawFunctions from twsmith
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4979
Change-Id: Ib5cc6ea036538b611d6959c679a276050e145f57
Reviewed-on: https://skia-review.googlesource.com/4979
Reviewed-by: Mike Klein <mtklein@chromium.org>
Mike Klein [Tue, 22 Nov 2016 18:22:48 +0000 (13:22 -0500)]
accum_565 and accum_f16
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5125
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: I2e338ae14db0068d9a09e16a0678dd2ee9f97efd
Reviewed-on: https://skia-review.googlesource.com/5125
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
raftias [Tue, 22 Nov 2016 18:21:22 +0000 (13:21 -0500)]
Fixed fuzzer issue with lut16Type A2B ICC profiles
There was no check for if a profile had gamma table with 0 elements.
Now it verifies that the table has 2-4096 entries as the ICC specs say.
BUG=667695
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5124
Change-Id: I36de202e398654ce8dd88e765455b4c4577724d2
Reviewed-on: https://skia-review.googlesource.com/5124
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Robert Aftias <raftias@google.com>
Matt Sarett [Tue, 22 Nov 2016 18:36:23 +0000 (13:36 -0500)]
Fix NoGPU bot
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5126
Change-Id: I34299845b6d20f219722da6a3135070369010555
Reviewed-on: https://skia-review.googlesource.com/5126
Reviewed-by: Matt Sarett <msarett@google.com>
Matt Sarett [Tue, 22 Nov 2016 16:31:41 +0000 (11:31 -0500)]
Add SkOverdrawCanvas to detect overdraw
This is the first part of a multi-part change to detect and
display gpu overdraw on Android.
BUG:
32370375
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4907
Change-Id: Ibba9d7343f2fd57397fa1168a5a5b1ef6ef91287
Reviewed-on: https://skia-review.googlesource.com/4907
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Hal Canary [Tue, 22 Nov 2016 16:03:03 +0000 (09:03 -0700)]
SkImageEncoder: simplify API
- Hide SkImageEncoder class in private header.
- SkImageEncoder::Type becomes SkEncodedImageFormat
- SkEncodedFormat becomes SkEncodedImageFormat
- SkImageEncoder static functions replaced with
single function EncodeImage()
- utility wrappers for EncodeImage() are in
sk_tool_utils.h
TODO: remove link-time registration mechanism.
TODO: clean up clients use of API and flip the flag.
TODO: implement EncodeImage() in chromeium/skia/ext
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4909
Change-Id: Ib48b31fdc05cf23cda7f56ebfd67c841c149ce70
Reviewed-on: https://skia-review.googlesource.com/4909
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Mike Klein [Mon, 21 Nov 2016 21:19:34 +0000 (16:19 -0500)]
bilerp
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5107
Change-Id: I5c30105501cbdb57896d9ec35737494eabd5998b
Reviewed-on: https://skia-review.googlesource.com/5107
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
ethannicholas [Tue, 22 Nov 2016 16:39:36 +0000 (08:39 -0800)]
added support for push_constant layout
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2187433003
Committed: https://skia.googlesource.com/skia/+/
fa5f65ac61fd525029aa9dab161ffe4896c10f6d
Review-Url: https://codereview.chromium.org/
2187433003
Greg Daniel [Tue, 22 Nov 2016 14:44:03 +0000 (09:44 -0500)]
Add support for input attachments in SkSL spirv
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5115
Change-Id: I3e03a465a10c9aff62491d0f6e71105d1b650dab
Reviewed-on: https://skia-review.googlesource.com/5115
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Mike Reed [Fri, 18 Nov 2016 22:19:54 +0000 (17:19 -0500)]
don't memtion SkXfermode in public
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5070
Change-Id: Ia9527bfd0f13146669df5e71098af903e14bae3a
Reviewed-on: https://skia-review.googlesource.com/5070
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Ethan Nicholas [Tue, 22 Nov 2016 14:31:35 +0000 (09:31 -0500)]
removed appendPrecisionModifier
skslc always provides support for precision modifiers (ignoring them if
unsupported on the target platform), so the Skia appendPrecisionModifier
function was redundant.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5117
Change-Id: I4bcbd47ef8d1f4f1b055086d4c9050254584b48c
Reviewed-on: https://skia-review.googlesource.com/5117
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Ethan Nicholas [Mon, 21 Nov 2016 20:59:48 +0000 (15:59 -0500)]
sksl programs can now directly query GLSL caps
This adds support for querying "sk_Caps.<cap>" directly from within an SkSL program.
Combined with the existing support for collapsing 'if' statements with constant tests,
this means we can query caps using ordinary 'if' statements and the tests will
collapse out at compile time.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4795
Change-Id: I24d716a7fe6abf1489760bf08189164264269076
Reviewed-on: https://skia-review.googlesource.com/4795
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Ravi Mistry [Mon, 21 Nov 2016 21:06:19 +0000 (16:06 -0500)]
Roll recipe DEPS
Looks like slave_build and cwd changed to start_dir in https://bugs.chromium.org/p/chromium/issues/detail?id=662586
BUG=skia:5979
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5104
Change-Id: I46d080b9089ea9b4adc2ed45fc81fdc192bdb2b2
Reviewed-on: https://skia-review.googlesource.com/5104
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Bruce Dawson [Fri, 18 Nov 2016 20:08:45 +0000 (15:08 -0500)]
Avoid runtime initialization of FLT_EPSILON_SQRT
FLT_EPSILON_SQRT is initialized with a call to sqrt which, in release
builds on Windows, results in an initializer call (on official release
builds this is optimized away). On Windows release (all flavors)
builds this also triggers duplicate instantiations of the variable
(always a risk with non-integral const variables defined in header
files) with 32 copies ending up in both chrome.dll and chrome_child.dll.
This change avoids the run-time initializer and as a side effect it
also avoids most or all of the duplication. Section size savings in a
Windows 32-bit release official build are:
chrome.dll
.text: -64 bytes change
.rdata: -16 bytes change
.data: -256 bytes change
.reloc: -116 bytes change
Total change: -452 bytes
chrome_child.dll
.text: 160 bytes change
.rdata: -144 bytes change
.data: -256 bytes change
.reloc: -60 bytes change
Total change: -300 bytes
A more complete fix would include using extern const to declare these
constants in the header file but define them once in a .cc file, but
it's not clear that this is necessary.
The size savings on non-official builds are greater. The increase in
the .text segment is odd, but harmless since those bytes are shared.
BUG=630755
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5061
Change-Id: I53d0cdc38e022039646df491d824a1aaf11def80
Reviewed-on: https://skia-review.googlesource.com/5061
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Bruce Dawson <brucedawson@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
Jim Van Verth [Thu, 17 Nov 2016 20:27:09 +0000 (15:27 -0500)]
Add shadowrrect geometry processor
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4233
Change-Id: I637099709cfe30f7d3c1883e23840a47a7a25c10
Reviewed-on: https://skia-review.googlesource.com/4233
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
raftias [Mon, 21 Nov 2016 19:22:53 +0000 (14:22 -0500)]
Implemented parsing of lut8/lut16Type A2B ICC tags
SkColorSpace::NewICC() can now successfully parse lut8Type/lut16Type
A2B0 tags instead of just A2B0Type ones. It will store the resulting
information in a SkColorSpace_A2B which allows color-correct decoding
of some images which previously were not supported.
BUG=138556
BUG=574209
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4770
Change-Id: I83b565af3f39f12a4bc37e0e7968f7d41e553291
Reviewed-on: https://skia-review.googlesource.com/4770
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Robert Aftias <raftias@google.com>
Mike Klein [Mon, 21 Nov 2016 20:09:45 +0000 (15:09 -0500)]
Rearrange NN sampling to more naturally support bilerp.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5105
Change-Id: Ic692b5faf2d33fee31b119ff8d3653118b25b7c2
Reviewed-on: https://skia-review.googlesource.com/5105
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Greg Daniel [Mon, 21 Nov 2016 19:43:55 +0000 (14:43 -0500)]
Fix include of GrGLSLCaps in SkGradientShader
NOTRY=True
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5103
Change-Id: Iff3cfa3f5e4266d85f5113de3113fdcd858ed054
Reviewed-on: https://skia-review.googlesource.com/5103
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
csmartdalton [Mon, 21 Nov 2016 18:55:00 +0000 (11:55 -0700)]
Revive geometry shaders
Fixes the bit rot that has set in for geometry shaders. They're to a
point now that we can use them again for GL experiments. Since SkSL
does not support geometry shaders yet, we pass the shader string
directly to the GL compiler for now.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5080
Change-Id: Ie3864e5559c810c682cf5f1709bdab87f033c43b
Reviewed-on: https://skia-review.googlesource.com/5080
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Brian Salomon [Mon, 21 Nov 2016 18:41:08 +0000 (13:41 -0500)]
Merge GrGLSLShaderVar and GrShaderVar
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5087
Change-Id: Ib8943a1da1ea495554feaf5b0992b94fbb9539ab
Reviewed-on: https://skia-review.googlesource.com/5087
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
robertphillips [Mon, 21 Nov 2016 19:05:03 +0000 (11:05 -0800)]
Defer more renderTargetContexts in the GPU image filter paths - take 2
This is a reland of https://skia-review.googlesource.com/c/4767/ (Defer more renderTargetContexts in the GPU image filter paths).
The addition of guards on instantiation && accessRenderTarget failure should prevent a reoccurence of this Nexus7 failures.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2514543002
TBR=bsalomon@google.com
Review-Url: https://codereview.chromium.org/
2514543002
Mike Klein [Mon, 21 Nov 2016 18:05:23 +0000 (13:05 -0500)]
Simplify shader paint alpha modulation.
We don't need to do any of this funky swap, load, srcin nonsense. We've got a perfectly good scale_constant_float stage just perfect to be used instead.
While we're at it, we only need to modulate by paint alpha if the paint's not opaque. x*1== x...
This puts the (x,y) inputs to shaders in (r,g) where they expect them. It also frees (dr,dg,db,da) for use by the shader. Might be handy for bilerp.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5100
Change-Id: Ief60c469ecac8300798b67cc68817cc1d127cf17
Reviewed-on: https://skia-review.googlesource.com/5100
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
raftias [Mon, 21 Nov 2016 17:59:36 +0000 (12:59 -0500)]
Fixed issue with some A2B0 images being too dark
The issue was with the A2B0 matrix not being scaled by its encoding
factor when it needed to be (for A2B0 matrices only).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5003
Change-Id: I3f202323e137e1b014e564bd96d87c601c4748ab
Reviewed-on: https://skia-review.googlesource.com/5003
Commit-Queue: Robert Aftias <raftias@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Herb Derby [Mon, 21 Nov 2016 17:51:48 +0000 (12:51 -0500)]
Remove testing code for not fitting in the Footer.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5098
Change-Id: I48df20600de302656869c4b5bd53c1105222b897
Reviewed-on: https://skia-review.googlesource.com/5098
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
Brian Salomon [Fri, 18 Nov 2016 16:58:54 +0000 (11:58 -0500)]
Remove GrGLSLSampler type and subclasses
GrGLSLUniformManager and GrGLSLProgramDataManager subclasses handle sampler variation across GPU backends.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5002
Change-Id: I968b006bab978c2fa209d1f7eda710c298d1212f
Reviewed-on: https://skia-review.googlesource.com/5002
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Herb Derby [Mon, 21 Nov 2016 17:09:27 +0000 (12:09 -0500)]
Use ptr diff to encode function and padding.
This drops allocation overhead from 16 bytes down to 4 bytes.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5066
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Debug-Trybot;master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-GN-Trybot
Change-Id: Id4665fd914dfb679996cefaf36fce6ef225fafb5
Reviewed-on: https://skia-review.googlesource.com/5066
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
Ethan Nicholas [Mon, 21 Nov 2016 15:39:35 +0000 (10:39 -0500)]
re-land of switched skslc from std::string to SkString
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5084
Change-Id: Ib21c30afc0d8483392b417e660b7fecfcc30e617
Reviewed-on: https://skia-review.googlesource.com/5084
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Brian Osman [Mon, 21 Nov 2016 15:41:20 +0000 (10:41 -0500)]
VS script: Handle variation among configurations
The script now emits a meta-solution that include all projects across
all configurations. For example, third party libraries may not be in
all configurations, or certain targets are only present in some.
Additionally, the ItemDefinitionGroup (which includes preprocessor
definitions) is included from every configuration's project file, so
syntax highlighting of inactive code works correctly.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5085
Change-Id: I241d83aea3f076365811965161fc941f82c9714c
Reviewed-on: https://skia-review.googlesource.com/5085
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Salomon [Mon, 21 Nov 2016 15:51:09 +0000 (10:51 -0500)]
Add an extra pixel to the distance field path renderer bounds.
BUG=chromium:663701
BUG=skia:5989
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5086
Change-Id: Ie97f46b108f54c711c5928b11a9921be38356f8d
Reviewed-on: https://skia-review.googlesource.com/5086
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>