Commit Graph

2399 Commits

Author SHA1 Message Date
jvanverth
9d54afc38b Support use of non-coherent memory allocations in Vulkan.
BUG=skia:5034
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2348523002

Review-Url: https://codereview.chromium.org/2348523002
2016-09-20 09:20:03 -07:00
reed
73603f3c52 abstract name of clipping ops, to transtion to a more restricted set
SkRegion::Op --> SkCanvas::ClipOp (alias) --> SkClipOp

pre-CL needed in chrome : https://codereview.chromium.org/2355583002/

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

Review-Url: https://codereview.chromium.org/2355483002
2016-09-20 08:42:39 -07:00
brianosman
37e233495a Auto-generate much of the help text for --config to reduce maintenance
The list of configs, and the details about all predefined configs are now
built directly from the gPredefinedConfigs array.

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

Review-Url: https://codereview.chromium.org/2354943002
2016-09-20 08:06:30 -07:00
brianosman
4562f6ecda Add ability to pick a different gamut in GPU f16 or sRGB configs
For now, the only options are sRGB or WideGamutRGB

Basically, the color option to the gpu config is now of
the form: 8888|srgb[_gamut]|f16[_gamut]

color=8888 still implies legacy behavior
srgb implies 8-bit gamma-correct rendering (via sRGB format)
f16 implies 16-bit gamma-correct rendering (via F16 format)

Either of the last two options can then optionally include
a gamut specifier, either _srgb or _wide.
_srgb selects the (default) sRGB gamut
_wide selects the Adobe Wide Gamut RGB gamut, which is nice
for testing, in that it's significantly wider than sRGB,
so rendering differences are obvious.

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

Review-Url: https://codereview.chromium.org/2350003003
2016-09-19 14:42:04 -07:00
csmartdalton
0262b5c1a0 Add adb support to skpbench
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2350003002

Review-Url: https://codereview.chromium.org/2350003002
2016-09-19 12:04:56 -07:00
csmartdalton
4b5179b74c skpbench
skpbench is a benchmarking suite for skps that aims to generate 100%
repeatable results. The initial commit consists of three parts:

skpbench

A minimalist program whose sole purpose is to open an skp file,
benchmark it on a single config, and exit. No tiling, looping, or
other fanciness is used; it just draws the skp whole into a size-
matched render target and syncs the GPU after each draw.

Limiting the entire process to a single config/skp pair helps to keep
the results repeatable.

skpbench.py

A wrapper to execute the skpbench binary with various configs and skps.
It also monitors the output in order to filter out and re-run results
with an unacceptable stddev.

In the future this script will lock down and monitor clocks and
temperatures.

parseskpbench.py

A utility for parsing skpbench output into a spreadsheet.

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

Review-Url: https://codereview.chromium.org/2341823002
2016-09-19 11:03:58 -07:00
mtklein
cfea18abe2 Delete unused coverage recipe code.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2353483003

Review-Url: https://codereview.chromium.org/2353483003
2016-09-19 07:04:37 -07:00
mtklein
fcee51038a Is it just me or is this logging just noise?
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2343233002

Review-Url: https://codereview.chromium.org/2343233002
2016-09-16 11:50:13 -07:00
rmistry
3d5541dc3d Fix Seal_of_Mississippi URL and update version of SVG asset.
BUG=skia:5757
BUG=skia:5767

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

Review-Url: https://codereview.chromium.org/2342323002
2016-09-16 08:26:35 -07:00
bungeman
f93d71122e SkFontData to use smart pointers.
The SkFontData type is not exposed externally, so any method which uses
it can be updated to use smart pointers without affecting external
users. Updating this first will make updating the public API much
easier.

This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
appears that no one outside Skia is currently using SkStream::NewfromFile
so this is a good time to update it as well.

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

Committed: https://skia.googlesource.com/skia/+/d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c
Review-Url: https://codereview.chromium.org/2339273002
2016-09-16 06:24:20 -07:00
mtklein
e14e226ba7 Tweak valgrind suppressions for intentional leaks.
This is a follow up to building the Valgrind bots with GN.

It's not clear why these need to leak, but we might as well
update the suppressions.  The stacks now look like this:

    Memcheck:Leak
    match-leak-kinds: possible
    fun:calloc
    fun:_dl_allocate_tls
    fun:pthread_create@@GLIBC_2.2.5
    fun:_ZN8SkThreadC1EPFvPvES0_
    fun:_Z14nanobench_mainv
    fun:(below main)

We suppress fun:main in that last slot, so just make it ...

TBR=

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

Review-Url: https://codereview.chromium.org/2347153002
2016-09-16 05:47:06 -07:00
bungeman
606add3dfb Revert of SkFontData to use smart pointers. (patchset #3 id:40001 of https://codereview.chromium.org/2339273002/ )
Reason for revert:
Killing Mac

Original issue's description:
> SkFontData to use smart pointers.
>
> The SkFontData type is not exposed externally, so any method which uses
> it can be updated to use smart pointers without affecting external
> users. Updating this first will make updating the public API much
> easier.
>
> This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
> std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
> appears that no one outside Skia is currently using SkStream::NewfromFile
> so this is a good time to update it as well.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339273002
>
> Committed: https://skia.googlesource.com/skia/+/d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c

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

Review-Url: https://codereview.chromium.org/2343933002
2016-09-15 10:57:39 -07:00
bungeman
d8c2476a8b SkFontData to use smart pointers.
The SkFontData type is not exposed externally, so any method which uses
it can be updated to use smart pointers without affecting external
users. Updating this first will make updating the public API much
easier.

This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
appears that no one outside Skia is currently using SkStream::NewfromFile
so this is a good time to update it as well.

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

Review-Url: https://codereview.chromium.org/2339273002
2016-09-15 10:03:27 -07:00
caryclark
e839e78443 quad and conic do not intersect
If a quad a conic intersect only where the end of one
is contained by the convex hull of the other, and the
curve contained by the hull is nearly a straight line,
treating it as a line may move the end point to the
other side of the curve.

Detect this by checking to see if the end point is in
the hull, and if so, continue to subdivide the curve
rather than treating it as a line.

This fixes several existing tests that were disabled
earlier this year.

A typo in SkDCurve::nearPoint() prevented detecting when
the end of a line was nearly touching a curve.

Also fixed concidence a bit to get the second half of
tiger further along.

All existing tests, including extended testing in
Release and the first half of tiger, work.

TBR=reed@google.com
BUG=skia:5131
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2338323002

Review-Url: https://codereview.chromium.org/2338323002
2016-09-15 07:48:18 -07:00
fmalita
02526bd5aa Fix SkDrawTextBlobCommand null blob crash
After https://codereview.chromium.org/2335493005, we're moving the param
into a local field -> we should no longer access it.

TBR=robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2344523003

Review-Url: https://codereview.chromium.org/2344523003
2016-09-14 14:55:59 -07:00
mtklein
896ddb706d 565 is not this important.
Reduce its testing and perfing to just the fast Linux bots,
and remove it from the default set of dm/nanobench configs.

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

Review-Url: https://codereview.chromium.org/2344553002
2016-09-14 10:33:13 -07:00
fmalita
95573e4865 Fix SVG flag iOS linking
TBR=mtklein@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2344533002

Review-Url: https://codereview.chromium.org/2344533002
2016-09-14 09:05:43 -07:00
csmartdalton
6270e558c3 Add ContextOptions field to SkCommandLineConfigGpu
Reduces duplicate code by computing the ContextOptions in one spot.

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

Review-Url: https://codereview.chromium.org/2337163002
2016-09-13 10:41:50 -07:00
fmalita
37283c28aa Use sk_sp text blob APIs
SkTextBlobBuilder::build()      -> make()
SkAutoTUnref<const SkTextBlob>  -> sk_sp<SkTextBlob>
drawTextBlob(const SkTextBlob*) -> drawTextBlob(const sk_sp<SkTextBlob>&)

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

Review-Url: https://codereview.chromium.org/2335493005
2016-09-13 10:00:23 -07:00
reed
42943c8aa9 change SkStreams to work with sk_sp<SkData> instead of SkData*
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2333713002

Review-Url: https://codereview.chromium.org/2333713002
2016-09-12 12:01:44 -07:00
halcanary
3eee9d941e SkPDF: SkShaper_primitive uses new textblob API
This will enable me to test the new API in unit tests without
depending on HarfBuzz (after https://crrev.com/2322403002 lands).

TBR=
BUG=skia:5434

Review-Url: https://codereview.chromium.org/2332473003
2016-09-10 07:01:53 -07:00
brianosman
de68d6c461 Fix storage of gamut transform matrices in SkColorSpace
We were effectively storing the transpose, which made all of our
operations on individual colors, and our concatenation of matrices
awkward and backwards.

I'm planning to push this further into Ganesh, where I had incorrectly
adjusted to the previous layout, treating colors as row vectors in the
shaders.

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

Review-Url: https://codereview.chromium.org/2324843003
2016-09-09 10:36:17 -07:00
caryclark
81a478ca6c Skip adding coincident edges found
during curve intersection if their
ends are nearly the same.

Loosen conic/line intersection point
check.

Detect when coincident points are
unordered. This means that points
a/b/c on one curve may appear in
b/c/a order on the opposite curve.

Restructure addMissing to return
success and return if a coincidence
was added as a parameter.

With this, tiger part a works.
Tiger part b exposes bugs around
tight quads that are nearly coincident
with themselves, and are coincident
with something else.

The greedy coicident matcher
may cause the point order to be
out of sync.

Still working out what to do in
this case.

TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2321773002

Review-Url: https://codereview.chromium.org/2321773002
2016-09-09 09:37:57 -07:00
brianosman
971cd496b9 Cache the inverse matrix on SkColorSpace. Rename xyz() to toXYZ().
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2323003002

Review-Url: https://codereview.chromium.org/2323003002
2016-09-08 10:10:11 -07:00
mtklein
2b3c2a3ff9 GN: add sanitize arg
Attempt to take over all *SAN builds.

MSAN has a lot of coordination required between gn/BUILD.gn and gn_flavor.py.
I'd like to follow up to move more of this into gn/BUILD.gn, to make it easier
to use locally.

The compile steps should be much faster now.  We no longer build CMake
and Clang for every run, instead using the clang_linux CIPD package.  This
removes the need for all the third_party/externals/llvm/... dependencies.

Similarly, since we're using the clang_linux package, we no longer depend
on Chrome's Clang, and thus no longer need to sync chromium on these bots.

Instead of packaging up MSAN libraries and llvm-symbolizer in the compile
output, I have the test / perf bots also depend on the clang_linux package.
These do not vary from build to build.

No more need for the xsan.blacklist -include hack: Clang, GN, and Ninja
all track changes to xsan.blacklist without our help.

This has the incidental effect of upgrading the compiler used by *SAN
bots from Clang 3.8 to Clang 3.9.

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

Review-Url: https://codereview.chromium.org/2289343002
2016-09-08 08:39:34 -07:00
Ravi Mistry
57d6965562 Further increase run_benchmark timeout
Looks like the chromium page sets still hit the 10 min timeout.

BUG=skia:5700

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2342
# This code is not exercised by trybots.
NOTRY=true

Change-Id: I57aba4c1541a840d7e4e97112a6485abc20aa3c7
Reviewed-on: https://skia-review.googlesource.com/2342
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2016-09-08 13:13:43 +00:00
caryclark
8016b264ce interpolation of coincidence must be local to a single span
Pathops makes up intersections that it doesn't detect directly,
but do exist. For instance, if a is coincident with b, and
b is coincident with c, then for where they overlap
a is coincident with c.

The intersections are made up in different ways. In a few
places, the t values that are detected are interpolated to
guess the t values that represent invented intersections.

The interpolated t is not necessarily linear, but a linear
guess is good enough if the invented t lies between known
t values.

Additionally, improve debugging.

This passes the extended release test suite and additionally
passes the first 17 levels in the tiger test suite;
previously, path ops passed 7 levels.

The tiger suite is composed of 37 levels in increasing
complexity, described by about 300K tests.

TBR=reed@google.com
BUG=skia:5131
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300203002

Review-Url: https://codereview.chromium.org/2300203002
2016-09-06 05:59:47 -07:00
tikuta
d9ee597ce0 Add some required packages to tools/install_dependencies.sh
https://skia.org/user/quick/linux

I added following to build skia library.
* freeglut3-dev
* libglu1-mesa-dev
* libosmesa6-dev

Minor:
* fix indent
* sort package list in alphabetical order

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

Review-Url: https://codereview.chromium.org/2303733003
2016-09-02 05:21:40 -07:00
mtklein
67f6636b20 Remove tsan.supp.
The remaining suppression (libwebp) is already covered by the
compile-time blacklist, tools/xsan.blacklist.

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot,Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-TSAN-Trybot

Review-Url: https://codereview.chromium.org/2300193002
2016-09-01 14:57:35 -07:00
mtklein
3ed1897437 Try removing Ganesh suppression.
Seems ok: https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-TSAN-Trybot/builds/2

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

Review-Url: https://codereview.chromium.org/2301163002
2016-09-01 13:25:25 -07:00
mtklein
e01295c22a Lift SkString TSAN suppression, to see what yells.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2295843005

Review-Url: https://codereview.chromium.org/2295843005
2016-09-01 12:04:22 -07:00
mtklein
b987afa7cc Remove empty {lsan,ubsan}.supp files.
We never used ubsan.supp,
and LSAN suppressions are now built into the test binaries.

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot

Review-Url: https://codereview.chromium.org/2302803003
2016-09-01 08:08:03 -07:00
mtklein
0590fa549d Build LSAN suppressions into the test binaries.
This way you don't need to set LSAN_SUPPRESSIONS in your environment...
sort of foolproof this way.

I _think_ the strdup() business from skia:2916 is actually rooted in
libfontconfig, so one suppression should cover both old ones.

I'll leave the file empty until I clean up mention of it in bot recipes.

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot

Review-Url: https://codereview.chromium.org/2295153003
2016-09-01 07:06:54 -07:00
caryclark
30b9fdd6a1 pathops coincident work
This is working towards fixing all bugs around simplifying the tiger.

This installment simplifies the point-t intersection list as it is built rather than doing the analysis once the intersections are complete. This avoids getting the list in an inconsistent state and makes coincident checks faster and more stable.

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

TBR=reed@google.com
BUG=skia:5131

Review-Url: https://codereview.chromium.org/2237223002
2016-08-31 14:36:30 -07:00
robertphillips
8abb370aca Have GrSurfaceProxys and GrGpuResources draw from the same pool of unique ids
The idea here is that, for wrapped Proxy objects, we want the uniqueID to reflect that of the wrapped object. For this to work the IDs for the non-wrapped versions can't conflict with GrGpuResource's pool of IDs.

Split off of: https://codereview.chromium.org/2215323003/ (Start using RenderTargetProxy (omnibus))

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

Review-Url: https://codereview.chromium.org/2301523003
2016-08-31 14:04:06 -07:00
egdaniel
580fa596c9 In VulkanWindowContext add check to see if ganesh changed the layout of the image.
BUG=skia:

Review-Url: https://codereview.chromium.org/2299663002
2016-08-31 11:03:50 -07:00
egdaniel
4bcd62e331 Add some copy support for vulkan msaa
This allows us to do copies from:
    msaa->msaa with same sample count
    msaa->no-msaa with a resolve

Still missing support for no-msaa to msaa which will require a copyAsDraw
which is currently stalled and fixing possible driver bugs.

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

Review-Url: https://codereview.chromium.org/2294533002
2016-08-31 07:37:31 -07:00
mtklein
cd01b03df8 GN: add sources_when_disabled to optional
Also make sources_when_disabled and public_defines optional arguments.
These are the two mechanisms code uses to turn itself off...
probably at most one is ever used per optional.

Update fiddle to not crash when there's no PDF backend.

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

Review-Url: https://codereview.chromium.org/2292343003
2016-08-31 04:58:19 -07:00
halcanary
4f0a23a8d5 SkTextBlob: Begin implementing Extended TextBlob API
BUG=skia:5434
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2084533004

Review-Url: https://codereview.chromium.org/2084533004
2016-08-30 11:58:33 -07:00
rmistry
fd7f867a05 Increase run_benchmarks timeout because the two Chromium page sets can take a while
BUG=skia:5700
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298453002
# Trybots do not exercise this code.
NOTRY=true
TBR=borenet

Review-Url: https://codereview.chromium.org/2298453002
2016-08-30 11:50:23 -07:00
brianosman
0e22eb8e6e Some tests around surface creation and snapshotting with color space
Verify the rules that we're converging on for surfaces:
- For 8888, we only support sRGB-like gamma, or no color space at all.
- For F16, we require a color space, with linear gamma.
- For all other formats, we do not support color spaces.

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

Review-Url: https://codereview.chromium.org/2270823002
2016-08-30 07:07:59 -07:00
msarett
0ac1bece48 Add width, height, unique ID, alpha to debugger DrawImageCommand
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2290683002

Review-Url: https://codereview.chromium.org/2290683002
2016-08-29 09:15:33 -07:00
brianosman
e3031b607c Update ANGLE to latest as of August 25, 2016
With this version, it's now exposing GL_EXT_color_buffer_half_float, but
it's (incorrectly) using GL_HALF_FLOAT rather than GL_HALF_FLOAT_OES.
In addition, release builds were crashing in EGLImageTest due to an
apparent disagreement about calling convention on function-pointer to
exported symbol. There is a proper typedef for that in one of their
headers, but I can't seem to include it without creating more problems,
so I just fixed the decoration on our local typedef.

With those changes, all tests pass, and (on my Windows machine), all
GMs and SKPs produce identical results vs. master in angle and angle-gl.

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

Review-Url: https://codereview.chromium.org/2282733003
2016-08-26 10:37:57 -07:00
liyuqian
1c9f55b468 Do not spam the debugging information
Currently, whenever there's a frame being rendered, we log such an
invalidation event. This is very spammy for animations or frame rates
test.

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

Review-Url: https://codereview.chromium.org/2276303003
2016-08-25 13:14:54 -07:00
halcanary
f412f09884 SkDrawCommand: hinting
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2274373003

Review-Url: https://codereview.chromium.org/2274373003
2016-08-25 11:10:41 -07:00
mtklein
f419781d37 update Android auto-detection.
Clang defines __ANDROID__

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

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

Review-Url: https://codereview.chromium.org/2278483004
2016-08-25 08:44:49 -07:00
vjiaoblack
e6f5d56231 Made shadows blurry (thru implementing variance mapping)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2224163005

Review-Url: https://codereview.chromium.org/2224163005
2016-08-25 06:30:23 -07:00
liyuqian
23d24587ee Fix touch event parameter order
The issue is so obvious... However, all newer Android devices (e.g.,
Nexus 6P, 5X, 9) are immune to this bug. So I didn't notice this until I
tested Viewer app on Nexus 7 yesterday...

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

Review-Url: https://codereview.chromium.org/2254223002
2016-08-22 11:31:09 -07:00
borenet
a629166d6e Build command buffer with is_component_build=false
BUG=skia:5630
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2265913002

Review-Url: https://codereview.chromium.org/2265913002
2016-08-22 07:31:43 -07:00
bsalomon
ac3aa245ac Plumb drawArc to SkDevice.
Plumbs the drawArc canvas method down to SkDevice without converting to a path. Plumbs through the various recording canvas classes.

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

Review-Url: https://codereview.chromium.org/2257023003
2016-08-19 11:25:20 -07:00
egdaniel
bf63e616a6 Add mssa configs for vulkan, and simple bug fix
BUG=skia:5127
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2251473002

Review-Url: https://codereview.chromium.org/2251473002
2016-08-17 06:26:16 -07:00
bsalomon
300178b1c8 Only open X Display once for all test GLX contexts
Saves about 4 seconds of runtime for 'dm --src gm --config gpu' on my system.

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

Review-Url: https://codereview.chromium.org/2240673002
2016-08-11 14:58:34 -07:00
bsalomon
90b5cc31f3 Improvements to build_command_buffer.py
Allows a shortcut, -t, for --chrome-build-type and clarifies meaning of the value in help.

Removes --fetch. This used to work with gyp builds but since it doesn't run gn it currently fails to build after fetching the src. Also, it wasn't being used.

Adds --no-hooks. Like --no-sync it but also doesn't run gclient runhooks.

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

Review-Url: https://codereview.chromium.org/2236953002
2016-08-11 08:25:41 -07:00
egdaniel
f5fe4b5567 Fix crash in viewer on certain android devices
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2239493002

Review-Url: https://codereview.chromium.org/2239493002
2016-08-11 08:15:12 -07:00
jvanverth
8c67ebe4c4 Clean up Xlib viewer
* Make event handling closer to GLFW's
* Fix Vulkan refreshing

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

Review-Url: https://codereview.chromium.org/2226413002
2016-08-11 07:03:04 -07:00
rmistry
d71fe83ac2 Update VERSION of "svg" asset.
Removing the SVG due to the reason in https://docs.google.com/document/d/1kYRvUxZTnm1tI_0bTU0BX9jqSSTqPUhGXJVcD3Rcg2c/edit?disco=AAAAAqQSPSc

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

Review-Url: https://codereview.chromium.org/2232003002
2016-08-10 16:36:15 -07:00
bsalomon
80e38ac117 Add more error printing to know why command buffer lib failed to load.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233073002

Review-Url: https://codereview.chromium.org/2233073002
2016-08-10 12:26:00 -07:00
csmartdalton
f9635999a4 Add flag for window rectangles to GrRenderTarget
Adds a flag to GrRenderTarget that indicates whether it can be used
with window rectangles. Also attempts to clean up some of the mixed
samples API.

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

Review-Url: https://codereview.chromium.org/2225303002
2016-08-10 11:09:07 -07:00
rmistry
d8a620b173 SVG tool that downloads SVGs from a txt file into a specified dir
BUG=skia:5628
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234823002

Review-Url: https://codereview.chromium.org/2234823002
2016-08-10 07:00:43 -07:00
jvanverth
a489e3f1fb Add RasterWindowContext_mac
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2228883003

Review-Url: https://codereview.chromium.org/2228883003
2016-08-09 10:53:11 -07:00
martina.kollarova
fc3ea41ceb Check more GLES versions when creating context
Unifies the context creation for GL and GLES into a single loop.

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

Review-Url: https://codereview.chromium.org/2201033003
2016-08-09 01:41:55 -07:00
mtklein
4e97607d9a Use sse4.2 CRC32 instructions to hash when available.
About 9x faster than Murmur3 for long inputs.

Most of this is a mechanical change from SkChecksum::Murmur3(...) to SkOpts::hash(...).

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2208903002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot

Review-Url: https://codereview.chromium.org/2208903002
2016-08-08 09:06:28 -07:00
borenet
1413d52c53 Speculative fix for SKP partner-dir upload
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229433002

Review-Url: https://codereview.chromium.org/2229433002
2016-08-08 06:26:00 -07:00
robertphillips
401c1968a1 Add new GM for occluded blurmask filter draws
This splits out just the GM portion of https://codereview.chromium.org/2201993003/ (Add GM to test out blurmaskfilter occluders) which included some API changes

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

Review-Url: https://codereview.chromium.org/2214033002
2016-08-04 12:35:46 -07:00
jvanverth
1ba1d372c2 Get Mac viewer working with SDL
Also fixes SkiaSDLExample.

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

Review-Url: https://codereview.chromium.org/2210603003
2016-08-04 12:30:31 -07:00
borenet
538d5b68e8 Move builder_spec, [dm|nanobench]_flags, builder_name_schema to recipes
- builder_name_schema becomes its own recipe module.
- builder_spec, dm, and nanobench flags move into vars module.
- recipe expectation diffs include:
  - no more buildbot_spec.py step
  - "real" dm and nanobench flags, instead of --dummy-flags
  - some inconsequential stuff in visualbench, which is removed anyway.

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

Review-Url: https://codereview.chromium.org/2215803002
2016-08-04 11:07:10 -07:00
robertphillips
276d3286b3 Add new bench for occluded blurmaskfilter draws
w/ occluders
  44/44  MB     6       497us   500us   500us   502us   0%      .oOOooooOO      gpu     bluroccludedrrect

w/o occluders
  41/41  MB     5       1.08ms  1.09ms  1.12ms  1.47ms  11%     .........O      gpu     bluroccludedrrect

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

Review-Url: https://codereview.chromium.org/2203153002
2016-08-04 09:03:20 -07:00
bungeman
ffae30db4a Convert SkAutoTUnref<SkData> to sk_sp<SkData>.
With the move from SkData::NewXXX to SkData::MakeXXX most
SkAutoTUnref<SkData> were changed to sk_sp<SkData>. However,
there are still a few SkAutoTUnref<SkData> around, so clean
them up.

Review-Url: https://codereview.chromium.org/2212493002
2016-08-03 13:32:32 -07:00
halcanary
13cba49982 SkShaper: optionally disable harfbuzz
also, re-enable warnings.

motivation:  used by me for PDF testing.

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

Review-Url: https://codereview.chromium.org/2201153002
2016-08-03 10:43:55 -07:00
borenet
9e3d3d8b36 Fix fake_specs.py, update recipe expectation
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2200763002

Review-Url: https://codereview.chromium.org/2200763002
2016-08-03 10:10:07 -07:00
bungeman
38d909ec28 Move off SK_SUPPORT_LEGACY_DATA_FACTORIES.
This moves Skia code off of SK_SUPPORT_LEGACY_DATA_FACTORIES.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2206633004

Review-Url: https://codereview.chromium.org/2206633004
2016-08-02 14:40:46 -07:00
mtklein
5dbd274846 gn: fix fiddle
- __SK_FORCE_IMAGE_DECODER_LINKING makes sure the PNG encoder is linked
  - updated path to make working with sample draw.cpp easier.

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

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

Review-Url: https://codereview.chromium.org/2202353002
2016-08-02 11:13:49 -07:00
hstern
0b401ce663 Add code to lua paths to get the fill path and get lists of verbs and
points

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

Review-Url: https://codereview.chromium.org/2199823002
2016-08-02 09:17:59 -07:00
borenet
86baf3d8de Fix build_command_buffer for Windows
BUG=skia:5597
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2207563002

Review-Url: https://codereview.chromium.org/2207563002
2016-08-02 08:37:50 -07:00
borenet
b6aafe66a0 Fix Chrome build for RecreateSKPs and CommandBuffer bots for GYP->GN
BUG=skia:5597
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2199273002

Review-Url: https://codereview.chromium.org/2199273002
2016-08-02 07:02:52 -07:00
reed
320a40d773 Always return ImageShader, even from SkShader::MakeBitmapShader
Lessons learned

1. ImageShader (correctly) always compresses (typically via PNG) during serialization. This has the surprise results of
- if the image was marked opaque, but has some non-opaque pixels (i.e. bug in blitter or caller), then compressing may "fix" those pixels, making the deserialized version draw differently. bug filed.
- 565 compressess/decompresses to 8888 (at least on Mac), which draws differently (esp. under some filters). bug filed.

2. BitmapShader did not enforce a copy for mutable bitmaps, but ImageShader does (since it creates an Image). Thus the former would see subsequent changes to the pixels after shader creation, while the latter does not, hence the change to the BlitRow test to avoid this modify-after-create pattern. I sure hope this prev. behavior was a bug/undefined-behavior, since this CL changes that.

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

Review-Url: https://codereview.chromium.org/2195893002
2016-08-02 06:12:06 -07:00
borenet
f5b675efbe Stop running nanobench on Test.*Debug bots
We'll need to add Perf.*Debug bots to achieve the same coverage.

BUG=skia:4768
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2189393002
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2189393002
2016-08-01 05:08:52 -07:00
csmartdalton
e0d362929d Add test configs for instanced rendering
Adds the following configs and enables them on select bots:

  glinst, glinst4, glinstdit4, glinst16, glinstdit16,
  esinst, esinst4, esinstdit4

Makes general changes to GrContextOptions, GrCaps, etc. to facilitate
this.

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

Review-Url: https://codereview.chromium.org/2182783004
2016-07-29 08:14:20 -07:00
msarett
50ce1f28ff Add color space xform support to SkJpegCodec (includes F16!)
Also changes SkColorXform to support:
RGBA->RGBA
RGBA->BGRA

Instead of:
RGBA->SkPMColor

TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2174493002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Committed: https://skia.googlesource.com/skia/+/73d55332e2846dd05e9efdaa2f017bcc3872884b
Review-Url: https://codereview.chromium.org/2174493002
2016-07-29 06:23:33 -07:00
mtklein
4e41364b1e Add another GM to skip in serialize mode.
See https://luci-milo.appspot.com/swarming/task/304ced7bada3b310/steps/dm/0/stdout

Also update .json.

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Win-MSVC-GCE-CPU-AVX2-x86_64-Debug-Trybot

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

Review-Url: https://codereview.chromium.org/2196543002
2016-07-28 19:14:08 -07:00
msarett
39979d8c6b Revert of Add color space xform support to SkJpegCodec (includes F16!) (patchset #9 id:260001 of https://codereview.chromium.org/2174493002/ )
Reason for revert:
Breaking MSAN

Original issue's description:
> Add color space xform support to SkJpegCodec (includes F16!)
>
> Also changes SkColorXform to support:
> RGBA->RGBA
> RGBA->BGRA
>
> Instead of:
> RGBA->SkPMColor
>
> TBR=reed@google.com
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2174493002
> CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/73d55332e2846dd05e9efdaa2f017bcc3872884b

TBR=mtklein@google.com,reed@google.com,herb@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/2195523002
2016-07-28 17:11:18 -07:00
msarett
73d55332e2 Add color space xform support to SkJpegCodec (includes F16!)
Also changes SkColorXform to support:
RGBA->RGBA
RGBA->BGRA

Instead of:
RGBA->SkPMColor

TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2174493002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2174493002
2016-07-28 15:06:16 -07:00
mtklein
20c27d6d6f Make coverage.py optional for dm and nanobench _flags.py
It is better to test partially than not test at all.

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

Review-Url: https://codereview.chromium.org/2184423002
2016-07-28 14:58:08 -07:00
reed
9b84f8c812 turn bitmaps into images during recording
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2185563003

Review-Url: https://codereview.chromium.org/2185563003
2016-07-28 14:26:13 -07:00
bsalomon
4484d6ac78 Remove unused render target members from GL and VK sk_app::WindowContext classes
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2191673002

Review-Url: https://codereview.chromium.org/2191673002
2016-07-28 11:49:12 -07:00
csmartdalton
a26efc9bad Include NVPR configs in dm runs on TegraX1
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2174353008

Review-Url: https://codereview.chromium.org/2174353008
2016-07-28 11:48:13 -07:00
mtklein
0634317cbe GN: fix mac build again
Hoping to land these using the other GN bots as trybots.

Don't know what magic was letting us get to webp's headers yesterday on Linux.  Might have been using /usr/include's ?

The other change is the difference between some setups using #define SK_BUILD_FOR_MAC and others #define SK_BUILD_FOR_MAC 1.  We want either to mean "we're Mac".

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

Review-Url: https://codereview.chromium.org/2190713004
2016-07-28 09:58:44 -07:00
bsalomon
1c58696112 Remove unused sk_app::WindowContext::presentRenderSurface
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184273002

Review-Url: https://codereview.chromium.org/2184273002
2016-07-28 08:53:13 -07:00
jvanverth
b8794ccea2 Enable backend switching for Windows Viewer
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184163003

Review-Url: https://codereview.chromium.org/2184163003
2016-07-27 14:29:18 -07:00
mtklein
25c81d4e65 GN: dm
This builds, links, and runs on Linux.  Have not tried Mac.

I've tested is_debug={true,false} and is_component_build.
It's neat that the component build DM works, but it's also an indication I've missed an essential flag or two... it shouldn't work. :)

The GPU backend isn't working yet, but all the software configurations I've tried look good.

This fleshes out all the other parts of SkCodec too... I noticed we weren't able to decode gifs or webp.

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

Review-Url: https://codereview.chromium.org/2188643002
2016-07-27 13:55:27 -07:00
mtklein
7d10b9f6e6 GN: fixes for Mac
- Make fiddle build on Mac (skipping GL).
 - Now that we're building in SkCodec, we depend on libpng and libjpeg-turbo unconditionally, not just on Linux.
 - Re-arrange third_party a bit so that our targets are Fuchsia/Chrome compatible.

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

NOTREECHECKS=true
This doesn't affect Chrome/Blink, so landing through the closed tree.

Review-Url: https://codereview.chromium.org/2184133002
2016-07-27 11:17:18 -07:00
benjaminwagner
cb571e1148 Rename textual includes as *.inc.
This makes it easier to distinguish source files that can stand on their own vs files meant to be #included into other source files.

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

Review-Url: https://codereview.chromium.org/2184143002
2016-07-27 11:12:12 -07:00
bsalomon
ccde4ab8e6 SW backend for viewer on Windows
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2182273002

Review-Url: https://codereview.chromium.org/2182273002
2016-07-27 08:50:12 -07:00
egdaniel
735109c248 Add gyp define to enable vulkan debug layers
On Debug vulkan bots, running with the debug layers on seems to be adding
more than an hour to the total running time. Since we suppress any output
on the bots anyways the debug layers are serving no purpose. Thus I am
adding a gyp define to disable the layers on the bot.

With this change, by default when running vulkan in Debug, the debug_layers
will be enabled. The bots should disable the layers. Android framework
should also have them disabled by default.

TBR=djsollen@google.com

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

Review-Url: https://codereview.chromium.org/2185953003
2016-07-27 08:03:57 -07:00
mtklein
7fd93e349a Start measuring f16 and srgb speed.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2181073003

Review-Url: https://codereview.chromium.org/2181073003
2016-07-26 13:05:31 -07:00
bsalomon
6c471f75b2 Add sw support to viewer on Linux.
This doesn't yet do anything with srgb/colorspace.

Replaces the --vulkan flag with --backend which takes 'gl', 'vk', or 'sw'.

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

Review-Url: https://codereview.chromium.org/2165813002
2016-07-26 12:56:32 -07:00
mtklein
1b51e0ec46 Move SkJSONCPP.h to tools. It tool-only.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184483003
CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot

TBR=reed@google.com

Review-Url: https://codereview.chromium.org/2184483003
2016-07-26 12:41:27 -07:00
bsalomon
d1bdd1fcbd Use Windowing system-specific WindowContext factories.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2169543002

Review-Url: https://codereview.chromium.org/2169543002
2016-07-26 12:02:51 -07:00
brianosman
3a0dbde1cf Remove SkSurfaceProps gamma-correctness flag entirely.
This is no longer required - gamma-correctness is now just based on the
presence or absence of a color space.

Public API change is just removal of (unused) flag.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188463002
TBR=bsalomon@google.com

Review-Url: https://codereview.chromium.org/2188463002
2016-07-26 11:36:05 -07:00
bsalomon
eeb4c387dd Don't unnecessarily resize windows in sk_app on X
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2182163002

Review-Url: https://codereview.chromium.org/2182163002
2016-07-26 08:50:27 -07:00
brianosman
efded51cd8 Always supply a color space (sRGB for now) with F16
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2177193004

Review-Url: https://codereview.chromium.org/2177193004
2016-07-26 08:11:50 -07:00
brianosman
8fe485b793 Just pass the draw context to paint conversion
Concentrate on using draw context functionality to answer gamma and color
related queries in more places.

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

Review-Url: https://codereview.chromium.org/2182603003
2016-07-25 12:31:51 -07:00
reed
c7ec7c9cab remove/deprecate SkBitmap::getTexture, as it now always returns false
oh happy day

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

Review-Url: https://codereview.chromium.org/2175873002
2016-07-25 08:29:10 -07:00
borenet
2869847166 webpages_playback: Make --upload_to_partner_bucket work without --upload
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2182463002

Review-Url: https://codereview.chromium.org/2182463002
2016-07-25 05:18:15 -07:00
brianosman
1638c0deea Add destination color space to AsFPArgs. Eliminates last XFORMTODO.
This is going to be needed in many more places as I finish connecting the
dots. Even better - I'd like to switch to a world where SkColorSpace !=
nullptr is the only signal we use for gamma-correct rendering, so I can
eliminate SkSourceGammaTreatment and SkSurfaceProps::isGammaCorrect.

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

Review-Url: https://codereview.chromium.org/2180503002
2016-07-25 05:12:53 -07:00
vjiaoblack
5bfee98c8c Creating framework for drawShadowedPicture
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003

Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a
Committed: https://skia.googlesource.com/skia/+/95302da19d8b0a3bcd9d9be0e79f486760787f09
Review-Url: https://codereview.chromium.org/2146073003
2016-07-22 10:04:15 -07:00
bsalomon
2259c5f650 Disable CopySurface test on Nexus 10 for flakiness
BUG=skia:5509
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2169073003

Review-Url: https://codereview.chromium.org/2169073003
2016-07-22 04:09:47 -07:00
msarett
530c844d25 Remove unnecessary getColorSpace() API from SkCodec
Not needed since now we can get it from the SkImageInfo.

TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2170793004

Review-Url: https://codereview.chromium.org/2170793004
2016-07-21 11:57:49 -07:00
caryclark
81681949d3 allow curves on side of lines to be very small
Increase the precision of the 'all on one side' pathops
angle test to reduce the number of unorderable segments
found by the cubics_d3 test.

This allows pathsops_unittest release build with -v -V -x
to run without error.

TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2168163002

Review-Url: https://codereview.chromium.org/2168163002
2016-07-21 10:44:07 -07:00
borenet
85f0e63ca4 Add "skp" asset
Don't get rid of SKP_VERSION and associated stuff just yet.

BUG=skia:5427
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167763002
DOCS_PREVIEW= https://skia.org/?cl=2167763002

Review-Url: https://codereview.chromium.org/2167763002
2016-07-21 10:27:00 -07:00
vjiaoblack
95302da19d Creating framework for drawShadowedPicture
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003

Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a
Review-Url: https://codereview.chromium.org/2146073003
2016-07-21 10:25:54 -07:00
vjiaoblack
33d325890e Revert of Creating framework for drawShadowedPicture (patchset #14 id:260001 of https://codereview.chromium.org/2146073003/ )
Reason for revert:
Decided to re-wait for a final LGTM.

Already found a bug in variable naming to fix.

Original issue's description:
> Creating framework for drawShadowedPicture
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003
>
> Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a

TBR=reed@google.com,robertphillips@google.com,bsalomon@google.com,jvanverth@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2167223002
2016-07-21 09:24:16 -07:00
robertphillips
5fa7f30331 Remove DrawFace enum from GrPipelineBuilder
This gets GrPipelineBuilder.h out of the headers

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

Committed: https://skia.googlesource.com/skia/+/da152ebb032c61bb2561bbb3e9a78037ad174d34
Review-Url: https://codereview.chromium.org/2165283002
2016-07-21 09:21:04 -07:00
vjiaoblack
0ae097d116 Creating framework for drawShadowedPicture
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003

Review-Url: https://codereview.chromium.org/2146073003
2016-07-21 09:10:23 -07:00
robertphillips
5d1676c751 Revert of Remove DrawFace enum from GrPipelineBuilder (patchset #2 id:20001 of https://codereview.chromium.org/2165283002/ )
Reason for revert:
No Vulkan bot in CQ :(

Original issue's description:
> Remove DrawFace enum from GrPipelineBuilder
>
> This gets GrPipelineBuilder.h out of the headers
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165283002
>
> Committed: https://skia.googlesource.com/skia/+/da152ebb032c61bb2561bbb3e9a78037ad174d34

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

Review-Url: https://codereview.chromium.org/2167193002
2016-07-21 08:18:05 -07:00
bsalomon
9f071d1fa5 Update build_command_buffer.py to copy libcommand_buffer_gles2.so from the correct dir on linux
Apparently the linux build now puts the library in chromium's output dir rather than a lib/ subdir.

TBR=borenet@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165013003

Review-Url: https://codereview.chromium.org/2165013003
2016-07-21 08:05:01 -07:00
robertphillips
da152ebb03 Remove DrawFace enum from GrPipelineBuilder
This gets GrPipelineBuilder.h out of the headers

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

Review-Url: https://codereview.chromium.org/2165283002
2016-07-21 07:58:41 -07:00
robertphillips
ea70c4bb22 Remove SkDevice::accessRenderTarget virtual
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167723002

Review-Url: https://codereview.chromium.org/2167723002
2016-07-20 08:54:31 -07:00
bungeman
fbbf01af04 Add iOS to platform_os_emoji.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164783004

Review-Url: https://codereview.chromium.org/2164783004
2016-07-20 07:15:16 -07:00
martina.kollarova
7b70156334 Fix context creation problems in dm
Fixes these issues:

1. The glXCreateContextAttribsARB call seems to modify the
context_attrib parameter upon failure. Since context_attrib was static,
if it first tried to create an OpenGL 4.4 context and it failed, further
attempts to create a context with lower versions would also fail.

2. Getting an OpenGL 3.0 context was never tried.

3. Context creation for ES 3.0 was failing on my machine. Since ES 2.0
looks like the intended version from the surrounding code, I set it to
that. It could be rewritten to use a similar loop as standard OpenGL and
try from the highest version to the lowest.

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

Review-Url: https://codereview.chromium.org/2147513002
2016-07-20 07:01:46 -07:00
borenet
c8fcb9ce82 Add "Infra" to the builder_name_schema
BUG=skia:4763
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2154433002

Review-Url: https://codereview.chromium.org/2154433002
2016-07-20 05:54:50 -07:00
jvanverth
a3f3caccdf Stub in Mac viewer code.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164683002

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

Review-Url: https://codereview.chromium.org/2167503002
2016-07-19 14:17:20 -07:00
bsalomon
c7b4b28496 Make sk_app::WindowContext directly create a SkSurface without an intermediate GrRenderTarget
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165703002

Review-Url: https://codereview.chromium.org/2165703002
2016-07-19 09:46:29 -07:00
fmenozzi
d876a4b549 Add bounds info
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2159853003

Review-Url: https://codereview.chromium.org/2159853003
2016-07-18 13:33:37 -07:00
brianosman
54f30c13fc Introduce GrColorSpaceXform, for gamut conversion on textures
GrTextureAccess optionally includes an instance, computed from the src
and dst color spaces. In all common cases (no color space for either src
or dst, or same color space for both), no object is allocated.

This change is orthogonal to my attempts to get color space attached to
render targets - regardless of how we choose to do that, this will give
us the source color space at all points where we are connecting src to
dst.

There are many dangling injection points where I've been inserting
nullptr, but I have a record of all of them. Additionally, there are now
three places (the most common simple paths for bitmap/image rendering)
where things are plumbed enough that I expect to have access to the dst
color space (all marked with XFORMTODO).

In addition to getting the dst color space, I need to inject shader code
and uniform uploading for appendTextureLookup and friends.

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

Review-Url: https://codereview.chromium.org/2154753003
2016-07-18 10:53:52 -07:00
caryclark
55888e4417 pathops coincidence and security rewrite
Most changes stem from working on an examples bracketed
by #if DEBUG_UNDER_DEVELOPMENT  // tiger
These exposed many problems with coincident curves,
as well as errors throughout the code.

Fixing these errors also fixed a number of fuzzer-inspired
bug reports.

* Line/Curve Intersections
Check to see if the end of the line nearly intersects
the curve. This was a FIXME in the old code.

* Performance
Use a central chunk allocator.
Plumb the allocator into the global variable state
so that it can be shared. (Note that 'SkGlobalState'
is allocated on the stack and is visible to children
functions but not other threads.)

* Refactor
Let SkOpAngle grow up from a structure to a class.
Let SkCoincidentSpans grow up from a structure to a class.
Rename enum Alias to AliasMatch.

* Coincidence Rewrite
Add more debugging to coincidence detection.
Parallel debugging routines have read-only logic to report
the current coincidence state so that steps through the
logic can expose whether things got better or worse.

More functions can error-out and cause the pathops
engine to non-destructively exit.

* Accuracy
Remove code that adjusted point locations. Instead,
offset the curve part so that sorted curves all use
the same origin.
Reduce the size (and influence) of magic numbers.

* Testing
The debug suite with verify and the full release suite
./out/Debug/pathops_unittest -v -V
./out/Release/pathops_unittest -v -V -x
expose one error. That error is captured as cubics_d3.
This error exists in the checked in code as well.

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

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

Review-Url: https://codereview.chromium.org/2128633003
2016-07-18 10:01:36 -07:00
fmenozzi
f023e6879c Add filename to gradient scrape
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2160583002

Review-Url: https://codereview.chromium.org/2160583002
2016-07-18 08:20:06 -07:00
msarett
9ce3a543c9 Add capability for SkColorXform to output half floats
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147763002
CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2147763002
2016-07-15 13:54:38 -07:00
fmenozzi
016e51fb06 Add verb field in scraping scripts
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150663002

Review-Url: https://codereview.chromium.org/2150663002
2016-07-14 07:44:50 -07:00
vjiaoblack
e5de130788 Added the framework for having canvas/recorder/picture record depth_set's.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127233002

Committed: https://skia.googlesource.com/skia/+/6d3fb898d5f73a82e36f11c712a633c3921ed518
Committed: https://skia.googlesource.com/skia/+/1185d90c785f743364cc9113d7007a59af07470c
Review-Url: https://codereview.chromium.org/2127233002
2016-07-13 14:05:28 -07:00
mtklein
6c3ada96ab Turn back on nanobench on Debug trybots.
Swarming makes the extra wall-clock cost negligible.

TBR=

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

Review-Url: https://codereview.chromium.org/2142223004
2016-07-13 09:44:18 -07:00
mtklein
6e998e6137 Revert "Added the framework for having canvas/recorder/picture record depth_set's."
1-click revert failed again.
This reverts commit 1185d90c78.

BUG=skia:

TBR=
NOTRY=true

Review-Url: https://codereview.chromium.org/2147963002
2016-07-13 09:03:48 -07:00
vjiaoblack
1185d90c78 Added the framework for having canvas/recorder/picture record depth_set's.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127233002

Committed: https://skia.googlesource.com/skia/+/6d3fb898d5f73a82e36f11c712a633c3921ed518
Review-Url: https://codereview.chromium.org/2127233002
2016-07-13 08:35:41 -07:00
msarett
f461e7c227 Try blacklisting RAW images on Nexus 9
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2141923006

Review-Url: https://codereview.chromium.org/2141923006
2016-07-13 08:03:35 -07:00
mtklein
e504dbc092 Revert "Added the framework for having canvas/recorder/picture record depth_set's."
1-click revert failed.
This reverts commit 6d3fb898d5.

TBR=

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

Review-Url: https://codereview.chromium.org/2148543002
2016-07-12 15:41:08 -07:00
borenet
c4600204f2 Run the Vulkan config on nanobench for Vulkan bots
BUG=skia:5513
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145633002

Review-Url: https://codereview.chromium.org/2145633002
2016-07-12 15:11:35 -07:00
brianosman
6373c95554 Monitor profile tool, now with Windows support, too!
Original Mac support by Matt.

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

Review-Url: https://codereview.chromium.org/2141573004
2016-07-12 15:06:25 -07:00
fmenozzi
90ccfbaf2e Fix Lua bugs, nit name change
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2140293002

Review-Url: https://codereview.chromium.org/2140293002
2016-07-12 14:55:39 -07:00
vjiaoblack
6d3fb898d5 Added the framework for having canvas/recorder/picture record depth_set's.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127233002

Review-Url: https://codereview.chromium.org/2127233002
2016-07-12 14:50:41 -07:00
mtklein
2052f313f0 Enable SkTaskGroup threading in monobench.
Without this Enabler, SkTaskGroups all run serially.

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

Review-Url: https://codereview.chromium.org/2139423002
2016-07-12 14:50:28 -07:00
halcanary
f119796f95 tools/SkShaper: SkStream->blob
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142023002

Review-Url: https://codereview.chromium.org/2142023002
2016-07-12 09:17:43 -07:00
fmenozzi
7f2c85e66b Add hard stop count
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2141733002

Review-Url: https://codereview.chromium.org/2141733002
2016-07-12 09:17:39 -07:00
brianosman
e1d2007924 Respect --match for samples and jpgs in viewer
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2144643002

Review-Url: https://codereview.chromium.org/2144643002
2016-07-12 09:07:33 -07:00
halcanary
8792e523dc tools/fiddle: remove unused fiddler.go
Review-Url: https://codereview.chromium.org/2138153002
2016-07-11 16:26:26 -07:00
halcanary
8a74f13239 tools/SkShaper: factor shaping out of using_skia_and_harfbuzz
Make a clearer demarcation between shaping and layout.

also: refactor using_skia_and_harfbuzz; stop leaking
like a sieve.

Review-Url: https://codereview.chromium.org/2138133002
2016-07-11 14:30:39 -07:00
mtklein
7e602c2c6c hacking on a single-benchmark tool
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2012413004

Review-Url: https://codereview.chromium.org/2012413004
2016-07-11 11:27:30 -07:00
reed
babc3de2ce deferred canvas
tries to eliminate unneeded clipRects and concats (and their associated save/restores).

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

Review-Url: https://codereview.chromium.org/2120333002
2016-07-08 08:43:28 -07:00
reed
63f30d9049 fix typos and capitalization on drawTextRSXform CL
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2123923006

Review-Url: https://codereview.chromium.org/2123923006
2016-07-07 16:32:51 -07:00
reed
6d2c3e7da6 add bounds to textblob
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2124113003

TBR=

Review-Url: https://codereview.chromium.org/2124113003
2016-07-07 14:10:14 -07:00
reed
45561a0b15 drawTextRSXform
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2130643004

Review-Url: https://codereview.chromium.org/2130643004
2016-07-07 12:47:17 -07:00
liyuqian
2edb0f4a02 More accurate render time and continuous fresh
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129613002

Review-Url: https://codereview.chromium.org/2129613002
2016-07-06 14:11:32 -07:00
csmartdalton
0d28e574ac Fix caching of sample locations
The original caching logic for sample locations wishfully assumed that
the GPU would always use the same sample pattern for render targets
that had the same number of samples. It turns out we can't rely on
that. This change improves the caching logic to handle mismatched
simple patterns with the same count, and adds a unit test that
emulates different sample patterns observed on real hardware.

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

Committed: https://skia.googlesource.com/skia/+/09d49a3bfe2d1e652a648ce1ea0962b38d10d166
Review-Url: https://codereview.chromium.org/2111423002
2016-07-06 09:59:43 -07:00
jvanverth
7ec9241330 Add resource tracking output and command buffer recycling
BUG=skia:5042
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115993002

Review-Url: https://codereview.chromium.org/2115993002
2016-07-06 09:24:57 -07:00
benjaminwagner
c3ea34b1ae Blacklist fontscalerdistortable on Win8.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=2109583003

Review-Url: https://codereview.chromium.org/2109583003
2016-07-06 06:55:04 -07:00
rmistry
42e6798696 Revert of Fix caching of sample locations (patchset #3 id:40001 of https://codereview.chromium.org/2111423002/ )
Reason for revert:
Seems to be causing Chromium roll failures:
* https://codereview.chromium.org/2120373003
* https://codereview.chromium.org/2117193002
* https://codereview.chromium.org/2124653002

Original issue's description:
> Fix caching of sample locations
>
> The original caching logic for sample locations wishfully assumed that
> the GPU would always use the same sample pattern for render targets
> that had the same number of samples. It turns out we can't rely on
> that. This change improves the caching logic to handle mismatched
> simple patterns with the same count, and adds a unit test that
> emulates different sample patterns observed on real hardware.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002
>
> Committed: https://skia.googlesource.com/skia/+/09d49a3bfe2d1e652a648ce1ea0962b38d10d166

TBR=bsalomon@google.com,csmartdalton@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/2120403002
2016-07-04 17:45:06 -07:00
csmartdalton
09d49a3bfe Fix caching of sample locations
The original caching logic for sample locations wishfully assumed that
the GPU would always use the same sample pattern for render targets
that had the same number of samples. It turns out we can't rely on
that. This change improves the caching logic to handle mismatched
simple patterns with the same count, and adds a unit test that
emulates different sample patterns observed on real hardware.

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

Review-Url: https://codereview.chromium.org/2111423002
2016-07-04 15:55:17 -07:00
halcanary
627ad6db4c using_skia_and_harfbuzz: use default typeface
Also: add little script to generate utf-8 test text.

BUG=skia:5434
TBR=bungeman@google.com

Review-Url: https://codereview.chromium.org/2118833002
2016-07-01 08:48:12 -07:00
msarett
a5cf4f45bb Fix png encoding in skia debugger
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2119513002

Review-Url: https://codereview.chromium.org/2119513002
2016-06-30 10:06:51 -07:00
jcgregorio
ee0c555797 skiaserve: Use snakeCase for JSON identifiers.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108823006

Review-Url: https://codereview.chromium.org/2108823006
2016-06-30 09:18:27 -07:00
jcgregorio
9a7acdc213 debugger: Allow for larger images.
Also differentiate between max dimensions and default dimensions.

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

Review-Url: https://codereview.chromium.org/2113693002
2016-06-30 07:54:14 -07:00
reed
67f62fae59 add short-desc
So that the UI can display the contents of "short-desc" inline with the verb.

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

Review-Url: https://codereview.chromium.org/2107913003
2016-06-29 11:36:34 -07:00
robertphillips
fb40923afd Add Annotations to old debugger
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2110083002

Review-Url: https://codereview.chromium.org/2110083002
2016-06-29 10:28:11 -07:00
reed
97660ccbd1 add annotations to debugger
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2105113002

Review-Url: https://codereview.chromium.org/2105113002
2016-06-28 18:54:19 -07:00
fmenozzi
b4f254e051 Changes to Lua gradient scraping
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2103973002

Review-Url: https://codereview.chromium.org/2103973002
2016-06-28 14:03:03 -07:00
reed
a84d6606f5 remove experimental treat-skcolor-as-srgb flag
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2097003003

Review-Url: https://codereview.chromium.org/2097003003
2016-06-24 18:14:07 -07:00
egdaniel
0a3a7f7303 Have gpu createTestingOlyBackendTexture know if it is a render target or not
In Vulkan we need to know at create time of a texture whether or not we will
use it as a render target.

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

Review-Url: https://codereview.chromium.org/2093943002
2016-06-24 09:22:31 -07:00
robertphillips
28a838e532 Move GrPipelineBuilder out of gms & reduce use of GrPipelineBuilder.h
Just another step in reining in the GrPLB

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

Review-Url: https://codereview.chromium.org/2086293006
2016-06-23 14:07:00 -07:00
csmartdalton
b593a76749 Support GL_SAMPLES queries in null contexts
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085043002

Committed: https://skia.googlesource.com/skia/+/64b92a59294a2f73448b3fa8f36f39079f032521
Committed: https://skia.googlesource.com/skia/+/57e98530c113066c4c2d9c64505c52dc25e66c00
Review-Url: https://codereview.chromium.org/2085043002
2016-06-23 13:42:13 -07:00
mtklein
c04ff4788c GN
What we've got here is a little GN MVP.  It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo.  I've been hopping back and forth between Linux at work and Mac at home.  These seem to be at least partially working, enough to build and run cmake/example.cpp.

The xcode backend seems to work.  From here, we can start exploring how to handle other backends (cmake,Android make, Google3).  There are a couple things I want to try:
  - add another backend like vs or xcode to GN directly
  - intercept via a custom toolchain
  - reverse from ninja -t commands
That last option seems kind of fun.

This tries to piggyback on Chrome's GN setup as much as possible.  Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients.

This pulls in some new DEPS:
   - build: Chrome's GN configuration, and much more
   - buildtools: hashes for gn binary, pulled via hooks
   - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build
It additionally symlinks tools/gyp to third_party/externals/gyp.  GN pulls some stuff from tools/gyp on Mac.

Have not yet tried building for Windows, Android, or iOS.

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

Committed: https://skia.googlesource.com/skia/+/1d8de594f126b9a80bd8f8fa2005e90faf3b5b17
Review-Url: https://codereview.chromium.org/2087593002
2016-06-23 10:29:30 -07:00
egdaniel
9cb6340a62 Start using GrGpuCommandBuffer in GrDrawTarget.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2052263003

Review-Url: https://codereview.chromium.org/2078483002
2016-06-23 08:37:06 -07:00
brianosman
37feccb0bb Revert of Support GL_SAMPLES queries in null contexts (patchset #4 id:60001 of https://codereview.chromium.org/2085043002/ )
Reason for revert:
ASAN failures (including DEPS roll).

Original issue's description:
> Support GL_SAMPLES queries in null contexts
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085043002
>
> Committed: https://skia.googlesource.com/skia/+/64b92a59294a2f73448b3fa8f36f39079f032521
> Committed: https://skia.googlesource.com/skia/+/57e98530c113066c4c2d9c64505c52dc25e66c00

TBR=bsalomon@google.com,csmartdalton@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/2091773002
2016-06-23 06:11:51 -07:00
csmartdalton
57e98530c1 Support GL_SAMPLES queries in null contexts
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085043002

Committed: https://skia.googlesource.com/skia/+/64b92a59294a2f73448b3fa8f36f39079f032521
Review-Url: https://codereview.chromium.org/2085043002
2016-06-22 13:47:08 -07:00
mtklein
3917cf4ef7 Revert of GN (patchset #12 id:220001 of https://codereview.chromium.org/2087593002/ )
Reason for revert:
gclient not happy on some bots

Original issue's description:
> GN
>
> What we've got here is a little GN MVP.  It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo.  I've been hopping back and forth between Linux at work and Mac at home.  These seem to be at least partially working, enough to build and run cmake/example.cpp.
>
> The xcode backend seems to work.  From here, we can start exploring how to handle other backends (cmake,Android make, Google3).  There are a couple things I want to try:
>   - add another backend like vs or xcode to GN directly
>   - intercept via a custom toolchain
>   - reverse from ninja -t commands
> That last option seems kind of fun.
>
> This tries to piggyback on Chrome's GN setup as much as possible.  Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients.
>
> This pulls in some new DEPS:
>    - build: Chrome's GN configuration, and much more
>    - buildtools: hashes for gn binary, pulled via hooks
>    - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build
> It additionally symlinks tools/gyp to third_party/externals/gyp.  GN pulls some stuff from tools/gyp on Mac.
>
> Have not yet tried building for Windows, Android, or iOS.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087593002
>
> Committed: https://skia.googlesource.com/skia/+/1d8de594f126b9a80bd8f8fa2005e90faf3b5b17

TBR=bsalomon@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/2088253002
2016-06-22 10:07:07 -07:00
mtklein
1d8de594f1 GN
What we've got here is a little GN MVP.  It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo.  I've been hopping back and forth between Linux at work and Mac at home.  These seem to be at least partially working, enough to build and run cmake/example.cpp.

The xcode backend seems to work.  From here, we can start exploring how to handle other backends (cmake,Android make, Google3).  There are a couple things I want to try:
  - add another backend like vs or xcode to GN directly
  - intercept via a custom toolchain
  - reverse from ninja -t commands
That last option seems kind of fun.

This tries to piggyback on Chrome's GN setup as much as possible.  Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients.

This pulls in some new DEPS:
   - build: Chrome's GN configuration, and much more
   - buildtools: hashes for gn binary, pulled via hooks
   - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build
It additionally symlinks tools/gyp to third_party/externals/gyp.  GN pulls some stuff from tools/gyp on Mac.

Have not yet tried building for Windows, Android, or iOS.

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

Review-Url: https://codereview.chromium.org/2087593002
2016-06-22 09:52:13 -07:00
brianosman
e6865a09d1 Revert of Support GL_SAMPLES queries in null contexts (patchset #2 id:20001 of https://codereview.chromium.org/2085043002/ )
Reason for revert:
Chrome unit tests failing (eg https://codereview.chromium.org/2085243002)

Original issue's description:
> Support GL_SAMPLES queries in null contexts
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085043002
>
> Committed: https://skia.googlesource.com/skia/+/64b92a59294a2f73448b3fa8f36f39079f032521

TBR=bsalomon@google.com,csmartdalton@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/2089013003
2016-06-22 05:57:17 -07:00
csmartdalton
64b92a5929 Support GL_SAMPLES queries in null contexts
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085043002

Review-Url: https://codereview.chromium.org/2085043002
2016-06-21 14:27:17 -07:00
msarett
db197a54b5 Fix Mac clang linker
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2077353006

Review-Url: https://codereview.chromium.org/2077353006
2016-06-21 09:44:29 -07:00
csmartdalton
9b972c4a12 Support texel and draw-indirect buffers in null GL contexts
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2081183002

Review-Url: https://codereview.chromium.org/2081183002
2016-06-21 07:55:17 -07:00
borenet
70ba047eac Buildbot spec: Add device_type for Android One
BUG=skia:5185
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085713002

Review-Url: https://codereview.chromium.org/2085713002
2016-06-20 13:04:25 -07:00
bsalomon
ddbc6e5d27 Exempt GrShape test from running on Android
BUG=skia:5438
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2074403003

Review-Url: https://codereview.chromium.org/2074403003
2016-06-20 12:48:33 -07:00
brianosman
52ede1d905 More removal of SkColorProfileType...
Scrub GMs. Remove the gDefaultProfile thing (it's unused now), along with
the command line flag that was setting it in DM and nanobench.

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

Committed: https://skia.googlesource.com/skia/+/944876f2745a62a839e49275daf93a0329372e67
Review-Url: https://codereview.chromium.org/2071393002
2016-06-20 08:25:02 -07:00
egdaniel
802acec187 Revert of More removal of SkColorProfileType... (patchset #2 id:20001 of https://codereview.chromium.org/2071393002/ )
Reason for revert:
This was still used in chrome

Original issue's description:
> More removal of SkColorProfileType...
>
> Scrub GMs. Remove the gDefaultProfile thing (it's unused now), along with
> the command line flag that was setting it in DM and nanobench.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2071393002
>
> Committed: https://skia.googlesource.com/skia/+/944876f2745a62a839e49275daf93a0329372e67

TBR=msarett@google.com,reed@google.com,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/2074103004
2016-06-17 15:11:46 -07:00
brianosman
944876f274 More removal of SkColorProfileType...
Scrub GMs. Remove the gDefaultProfile thing (it's unused now), along with
the command line flag that was setting it in DM and nanobench.

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

Review-Url: https://codereview.chromium.org/2071393002
2016-06-17 13:43:27 -07:00
jvanverth
063ece7184 Enable viewer in non-Vulkan builds
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067023002

Committed: https://skia.googlesource.com/skia/+/746b792a9aad1230ab69158a51c49b2e5437d95b
Review-Url: https://codereview.chromium.org/2067023002
2016-06-17 09:29:14 -07:00
liyuqian
ed330c8755 Quickly fix the Compile Problem of Unused kkImageColorXformMetaData
TBR=msarett@google.com

I don't know why the compiler is complaining that since ImageSlide.cpp is still
using it.

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

Review-Url: https://codereview.chromium.org/2075873003
2016-06-16 18:09:12 -07:00
liyuqian
74959a1471 Use Offscreen Surface for Split Screen
A dashed line is also added to split the screen. Currently, drawing
images with sRGB seems to still have bugs.

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

Review-Url: https://codereview.chromium.org/2069653002
2016-06-16 14:10:34 -07:00
brianosman
b109b8c5ec Lots of progress on switching to SkColorSpace rather than SkColorProfileType
Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld).

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

Committed: https://skia.googlesource.com/skia/+/6a61a875467646f8dbc37cfecf49e12d1f475170
Review-Url: https://codereview.chromium.org/2069173002
2016-06-16 13:03:24 -07:00
msarett
344c9831c4 Fix Vulkan build after API change
TBR=brianosman@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2075713002

Review-Url: https://codereview.chromium.org/2075713002
2016-06-16 11:42:48 -07:00
brianosman
ab8241880d Revert of Lots of progress switching to SkColorSpace rather than SkColorProfileType (patchset #10 id:180001 of https://codereview.chromium.org/2069173002/ )
Reason for revert:
Mac crashes in GrUploadPixmapToTexture

Original issue's description:
> Lots of progress on switching to SkColorSpace rather than SkColorProfileType
>
> Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld).
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002
>
> Committed: https://skia.googlesource.com/skia/+/6a61a875467646f8dbc37cfecf49e12d1f475170

TBR=reed@google.com,herb@google.com,msarett@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/2072813002
2016-06-16 11:41:44 -07:00
brianosman
6a61a87546 Lots of progress on switching to SkColorSpace rather than SkColorProfileType
Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld).

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

Review-Url: https://codereview.chromium.org/2069173002
2016-06-16 11:10:04 -07:00
jvanverth
c7027ab03f 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

Committed: https://skia.googlesource.com/skia/+/76963e73704a42a18c29d6fbdcccb566e5c67658
Review-Url: https://codereview.chromium.org/2056343004
2016-06-16 09:52:35 -07:00
egdaniel
963632f686 Revert of Enable viewer in non-Vulkan builds (patchset #2 id:20001 of https://codereview.chromium.org/2067023002/ )
Reason for revert:
breaking compile bots

Original issue's description:
> Enable viewer in non-Vulkan builds
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067023002
>
> Committed: https://skia.googlesource.com/skia/+/746b792a9aad1230ab69158a51c49b2e5437d95b

TBR=djsollen@google.com,jvanverth@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/2072563002
2016-06-15 14:23:40 -07:00
jvanverth
746b792a9a Enable viewer in non-Vulkan builds
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067023002

Review-Url: https://codereview.chromium.org/2067023002
2016-06-15 13:44:15 -07:00
brianosman
d76fcda961 If we fail to create a window surface with sRGB, try again without.
Fixes crash when switching to sRGB mode on Nexus 9, among others.

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

Review-Url: https://codereview.chromium.org/2066743003
2016-06-14 08:23:48 -07:00
liyuqian
401cf48631 Quickly fix 0f to 0.0f
TBR=egdaniel@google.com

So Visual Studio won't complain.

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

Review-Url: https://codereview.chromium.org/2064863002
2016-06-13 14:38:35 -07:00
jvanverth
6b6ffc4ab6 Create free list heap for suballocation
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2029763002

Review-Url: https://codereview.chromium.org/2029763002
2016-06-13 14:28:07 -07:00
liyuqian
d06693d908 Quickly fix the double to SkScalar issue
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2060823004

Review-Url: https://codereview.chromium.org/2060823004
2016-06-13 13:25:52 -07:00
liyuqian
6f163d2943 Display JPGs in Viewer with Split Screen and ColorSpaceXform
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058753002

Review-Url: https://codereview.chromium.org/2058753002
2016-06-13 12:26:45 -07:00
egdaniel
f533f116e6 Revert of Add samples to Viewer. (patchset #4 id:60001 of https://codereview.chromium.org/2056343004/ )
Reason for revert:
breaking on android compile

Original issue's description:
> 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
>
> Committed: https://skia.googlesource.com/skia/+/76963e73704a42a18c29d6fbdcccb566e5c67658

TBR=bsalomon@google.com,jvanverth@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/2063883002
2016-06-13 11:30:10 -07:00
ethannicholas
2ec06c9b1c 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
2016-06-13 10:20:52 -07:00
jvanverth
76963e7370 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
2016-06-13 09:31:27 -07:00
brianosman
25d57db234 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
2016-06-13 07:49:07 -07:00
kjlubick
a233620f9c 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
2016-06-10 12:54:37 -07:00
djsollen
9207caebbb Cleanup VulkanWindowContext for use on Android
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058763002

Review-Url: https://codereview.chromium.org/2058763002
2016-06-10 07:50:00 -07:00
bsalomon
ea406dde3c 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
2016-06-10 06:58:16 -07:00
egdaniel
5dfe7bbcfd 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
2016-06-10 06:42:45 -07:00
mtklein
c9b4ccd771 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
2016-06-09 18:57:21 -07:00
djsollen
7e73108a37 Cleanup needed to use WindowContext for Android
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055693003

Review-Url: https://codereview.chromium.org/2055693003
2016-06-09 13:07:13 -07:00
liyuqian
71491dc14c 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
2016-06-09 12:02:34 -07:00
mtklein
96e4e1ca5a 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
2016-06-09 10:38:08 -07:00
bungeman
06ca8ec87c 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
2016-06-09 08:01:03 -07:00
egdaniel
066df7ca91 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
2016-06-08 14:02:27 -07:00
liyuqian
2a437e6459 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
2016-06-08 11:17:09 -07:00
halcanary
4dbbd04314 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
2016-06-07 17:21:10 -07:00
liyuqian
d94ad5823b 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
2016-06-07 14:22:38 -07:00
liyuqian
1f508fd0fe Show FPS in UI state
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043793002

Review-Url: https://codereview.chromium.org/2043793002
2016-06-07 06:57:40 -07:00
jvanverth
814e38d5c1 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
2016-06-06 08:48:47 -07:00
liyuqian
38d1adf1f7 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
2016-06-06 07:53:24 -07:00
robertphillips
55fdcccf01 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
2016-06-06 06:16:21 -07:00
robertphillips
976f5f0dc5 Make GrClipMaskManager stateless and push GrPipelineBuilder construction downstack
This will be followed up with a CL to remove the GrRenderTarget from the GrPipelineBuilder.

Split out of:
https://codereview.chromium.org/1988923002/ (Declassify GrClipMaskManager and Remove GrRenderTarget and GrDrawTarget from GrPipelineBuilder)

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

Review-Url: https://codereview.chromium.org/2035823002
2016-06-03 10:59:20 -07:00
liyuqian
b73c24b01a Add Softkey UIState to Viewer
We can use this to simulate any key/command on Android UI.

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

Review-Url: https://codereview.chromium.org/2035923002
2016-06-03 08:47:24 -07:00
jcgregorio
34604046cf skiaserve: Add a flag to control hosted mode, i.e. when running on debugger.skia.org.
BUG=skia:
TBR=ethannicholas@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2036173002

Review-Url: https://codereview.chromium.org/2036173002
2016-06-03 07:26:22 -07:00
borenet
9d19cc6ca4 Add Android device type for NVIDIA Shield
BUG=skia:5185
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2036183003

Review-Url: https://codereview.chromium.org/2036183003
2016-06-03 07:01:32 -07:00
liyuqian
6cb7025182 Implement OpenGL backend in Android viewer app
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2032623002

Review-Url: https://codereview.chromium.org/2032623002
2016-06-02 12:16:25 -07:00
jvanverth
1e305ba0d6 Add offset to memory allocations
This is setting up for suballocations within one large
allocation

BUG=skia:5031
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2018933004
TBR=bsalomon@google.com

Review-Url: https://codereview.chromium.org/2018933004
2016-06-01 09:39:15 -07:00
kulshin
c4b091543b Implement support for rendering color emoji on Windows
This change adds support to the DirectWrite scaler context
for detection of color fonts. If it detects a color font and
the glyph is a color glyph, it will use DirectWrite's
TranslateColorGlyphRun API and generate an image of the
glyph that can then be rendered.

Chromium tests: https://codereview.chromium.org/2003853002

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

Review-Url: https://codereview.chromium.org/1984943002
2016-06-01 08:31:28 -07:00
jcgregorio
ce8ea4c55b skiaserve: Add /quitquitquit handler. Will be used in the hosted debugger.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2023023002
TBR=ethannicholas

Review-Url: https://codereview.chromium.org/2023023002
2016-05-31 12:51:31 -07:00
mboc
ee6a9919a3 SkTypeface::MakeFromName to take SkFontStyle.
SkTypeface::MakeFromName currently takes SkTypeface::Style,
which is quite limited. This starts the transition to this
function taking SkFontStyle instead.

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

TBR=reed
He said it sounded like a good idea.

Review-Url: https://codereview.chromium.org/1818043002
2016-05-31 11:42:37 -07:00
jvanverth
99eb6e2d5a Add missing files for GL unix viewer.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2023943004

Review-Url: https://codereview.chromium.org/2023943004
2016-05-31 09:39:20 -07:00
msarett
97205a4b41 Add interesting features to visualize_color_gamut
(1) Draw triangles onto a D50 color gamut so they are
    actually in the correct place.
(2) Add options to display canonical sRGB and Adobe RGB
    gamuts.
(3) Label the R, G, and B points of the color gamut.
(4) Decode and reencode the input image without color
    correction, so we can compare to the corrected version.

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

Review-Url: https://codereview.chromium.org/2017153002
2016-05-27 14:01:02 -07:00
herb
ca1ec03c5c Move forceSRGB to SkCommonFlags.
This fixes a duplicate symbol problem with the iOS build.

Add common forceSRGB flag.

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

Review-Url: https://codereview.chromium.org/2019073002
2016-05-27 10:57:58 -07:00
liyuqian
e5a6cd9832 Now we can use drawer to view the state information of the native app, and set its state using the spinner.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2004633002

Committed: https://skia.googlesource.com/skia/+/4e4e30823fba0047b93a56bfcf05c04ca57e82ec

Review-Url: https://codereview.chromium.org/2004633002
2016-05-27 08:52:52 -07:00
jvanverth
85f758c334 Add OpenGL support to Linux viewer
Also adds a command line option (--vulkan) to choose between
Vulkan and OpenGL.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2011473003

Committed: https://skia.googlesource.com/skia/+/10b3815a11c39b154ec7b74a2af43e019b50d48c

Review-Url: https://codereview.chromium.org/2011473003
2016-05-27 06:47:08 -07:00
kjlubick
9ad0949338 Revert of Add drawer with state information (patchset #8 id:140001 of https://codereview.chromium.org/2004633002/ )
Reason for revert:
Broke Build-Ubuntu-GCC-Arm7-Debug-Android_Vulkan.  See https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-Arm7-Debug-Android_Vulkan/builds/134/steps/compile_skia%20on%20Ubuntu/logs/stdio.

Original issue's description:
> Now we can use drawer to view the state information of the native app, and set its state using the spinner.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2004633002
>
> Committed: https://skia.googlesource.com/skia/+/4e4e30823fba0047b93a56bfcf05c04ca57e82ec

TBR=djsollen@google.com,jvanverth@google.com,liyuqian@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/2016343002
2016-05-27 06:22:01 -07:00
kjlubick
0248bfd8d2 Revert of Add OpenGL support to Linux viewer (patchset #5 id:80001 of https://codereview.chromium.org/2011473003/ )
Reason for revert:
Build-Ubuntu-GCC-Arm7-Debug-Android_Vulkan is broken and this patch prevents the revert of the culprit

Original issue's description:
> Add OpenGL support to Linux viewer
>
> Also adds a command line option (--vulkan) to choose between
> Vulkan and OpenGL.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2011473003
>
> Committed: https://skia.googlesource.com/skia/+/10b3815a11c39b154ec7b74a2af43e019b50d48c

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

Review-Url: https://codereview.chromium.org/2015213002
2016-05-27 06:20:10 -07:00
jvanverth
10b3815a11 Add OpenGL support to Linux viewer
Also adds a command line option (--vulkan) to choose between
Vulkan and OpenGL.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2011473003

Review-Url: https://codereview.chromium.org/2011473003
2016-05-27 05:47:00 -07:00
djsollen
4145792736 Remove VisualBench and its Android implementation.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2018603003

Review-Url: https://codereview.chromium.org/2018603003
2016-05-27 05:39:29 -07:00
liyuqian
4e4e30823f Now we can use drawer to view the state information of the native app, and set its state using the spinner.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2004633002

Review-Url: https://codereview.chromium.org/2004633002
2016-05-26 12:43:43 -07:00
borenet
649becde3b Temporarily change GalaxyS3 product.board
Swarming detects this as "m0" for some reason. Change our requested
dimension until this is fixed.

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

Review-Url: https://codereview.chromium.org/2018513004
2016-05-26 11:21:02 -07:00
caryclark
2bec26a716 fix security bug
This fix is a tradeoff. It changes intersection to
treat a case where one coincident run is intersected at one point
and the other edge is not as continuing to be a span.

The old code tried to treat this as a single point.
The old code is probably right, but this change alone
made the data structures inconsistent. Later, extending
the coincident runs would fail by incorrectly discarding
the single point intersection.

As a result, this fixes the security test and one other, but
makes a different test fail. Isolating the failure uncovered
a reduced case that fails with and without the change, so
there are more serious problems here. Those problems are
addressed in a separate CL.

Many of the test edits below remove ill-thought out debugging
messaging that fire off global state, which isn't usable
in a multi-threaded test environment.

In the end, with this fix, all existing tests (modulo one
new failure and one new non-failure) pass in debug and
in the extended release test suites.

TBR=reed@google.com
BUG=614248
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2018513003

Review-Url: https://codereview.chromium.org/2018513003
2016-05-26 09:01:47 -07:00
scroggo
23b80c402a Revert of Blacklist HTC.dng on 32-bit Win CPU bots (patchset #1 id:1 of https://codereview.chromium.org/1995703002/ )
Reason for revert:
We think we have independently fixed this problem by using a smaller image for HTC.dng

Original issue's description:
> Blacklist HTC.dng on 32-bit Win CPU bots
>
> BUG=skia:5318
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1995703002
>
> Committed: https://skia.googlesource.com/skia/+/62efdbde9987df3422f677a1a7c8f355791c1ae4

TBR=msarett@google.com,borenet@google.com,borenet@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:5318

Review-Url: https://codereview.chromium.org/2004203002
2016-05-23 14:35:52 -07:00
jvanverth
1d15596200 Add Xlib support to viewer
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=1999213002

Review-Url: https://codereview.chromium.org/1999213002
2016-05-23 13:13:36 -07:00
liyuqian
566c8e4a36 Move inval dedup to Window for wider usages.
It turns out that the inval dedup is not just useful for Android.  Hence
we move it up to the Window level so more OSes such as Linux, Windows
can also use it.

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

Review-Url: https://codereview.chromium.org/2001153002
2016-05-23 10:52:34 -07:00
brianosman
a56800a05d Add vksrgb config to dm (Vulkan sRGB). Fix help formatting of vk.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2005863002

Review-Url: https://codereview.chromium.org/2005863002
2016-05-23 10:11:07 -07:00
halcanary
f0270c32c1 fiddle: srand(0) before draw(canvas)
TBR=

Review-Url: https://codereview.chromium.org/2003043002
2016-05-23 09:02:38 -07:00
liyuqian
17b4a10921 Save comparisons for release.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=1997003003

Review-Url: https://codereview.chromium.org/1997003003
2016-05-20 12:41:49 -07:00
liyuqian
beb1c67c9d Use SkASSERTResult to avoid unused local variables
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2003653002

Review-Url: https://codereview.chromium.org/2003653002
2016-05-20 11:41:01 -07:00
robertphillips
87f15c8ff1 Retract GrRenderTarget from GrTestTarget
Split out of: https://codereview.chromium.org/1988923002/ (Declassify GrClipMaskManager and Remove GrRenderTarget and GrDrawTarget from GrPipelineBuilder)

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

Review-Url: https://codereview.chromium.org/2004433002
2016-05-20 11:14:33 -07:00
liyuqian
e46e4f075b Correct gesture scale and translation
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1996613002

Review-Url: https://codereview.chromium.org/1996613002
2016-05-20 07:32:19 -07:00
jvanverth
af236b5aa9 Add OpenGL context to Viewer.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978573003

Committed: https://skia.googlesource.com/skia/+/56a11e4d6f3d436a3c2497c9c9e71a117d78a93f

Review-Url: https://codereview.chromium.org/1978573003
2016-05-20 06:01:06 -07:00
borenet
62efdbde99 Blacklist HTC.dng on 32-bit Win CPU bots
BUG=skia:5318
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1995703002

Review-Url: https://codereview.chromium.org/1995703002
2016-05-18 12:23:58 -07:00
borenet
ac26aa630f Skip composeshader_bitmap GM on 64-bit Win CPU Test bots
Temporary measure to get the bots green while the real issue is sorted out.

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

Review-Url: https://codereview.chromium.org/1989323002
2016-05-18 08:12:51 -07:00
jvanverth
2884e9c0bd Revert of Add OpenGL context to Viewer. (patchset #7 id:120001 of https://codereview.chromium.org/1978573003/ )
Reason for revert:
sk_app/WindowContext.cpp is missing. Need to add file and resubmit.

Original issue's description:
> Add OpenGL context to Viewer.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978573003
>
> Committed: https://skia.googlesource.com/skia/+/56a11e4d6f3d436a3c2497c9c9e71a117d78a93f

TBR=brianosman@google.com,bsalomon@google.com,djsollen@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/1990893002
2016-05-18 07:01:16 -07:00
kkinnunen
4803f9715f Remove NVPR related env var from command buffer GL context creation
NVPR is now enabled by default for Chromium command buffer.

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

Review-Url: https://codereview.chromium.org/1975753005
2016-05-17 22:15:39 -07:00
liyuqian
d3cdbcad65 Implement touch control
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1982643004

Review-Url: https://codereview.chromium.org/1982643004
2016-05-17 12:44:20 -07:00
jvanverth
56a11e4d6f Add OpenGL context to Viewer.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978573003

Review-Url: https://codereview.chromium.org/1978573003
2016-05-17 12:15:48 -07:00
borenet
b55448b782 Make VisualBench bot build the visualbench target
Plus drive-by fixes for expectations/coverage.

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

Review-Url: https://codereview.chromium.org/1986273002
2016-05-17 10:26:15 -07:00
kkinnunen
aac0cb07ca Remove workarounds initializing command buffer EGL
The eglDisplay() of command buffer EGL implementation now does not
allocate a new EGL display per call, rather just returns the global.

The EGL implementation is fixed as part of bug 581634.

Removes eglTerminate call, as it's should not be used in Skia at the
moment. The call will terminate all of EGL, which is not intendend. The
previous usage was only due to incorrect implementation of the API.  Not
added back to anywhere else, leaking EGL globals is as
designed. Discussed in https://chromiumcodereview.appspot.com/1733323002.

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

Review-Url: https://codereview.chromium.org/1978733003
2016-05-17 06:01:40 -07:00
bsalomon
edea94c356 Implement vulkan fence syncs for nanobench
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974913003

Review-Url: https://codereview.chromium.org/1974913003
2016-05-16 14:09:56 -07:00
robertphillips
7761d61876 Rename GrDrawingMgr::abandon to wasAbandoned & add a matching entry point to GrDrawingContext
Since GrDrawingContext is generally replacing GrRenderTarget, this is to provide functionality similar to GrRenderTarget::wasDestroyed.

This is split out of https://codereview.chromium.org/1930013002/ ((Mostly) Retract GrRenderTarget from SkGpuDevice)

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

Review-Url: https://codereview.chromium.org/1979913002
2016-05-16 09:14:53 -07:00
fmalita
796e365999 SkPictureGpuAnalyzer
Stateful helper for gathering multi-picture GPU stats.

Exposes the existing SkPicture GPU veto semantics, while preserving
the SKP impl (which has some nice properties: lazy, hierarchical,
cached per pic).

R=reed@google.com,bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974833003

Review-Url: https://codereview.chromium.org/1974833003
2016-05-13 11:40:07 -07:00
egdaniel
b2df0c2702 Refactor Vulkan image, texture, RTs so that create and getter handles match.
This allows allows us to track and notify clients when either side changes
and image layout.

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

Review-Url: https://codereview.chromium.org/1974983002
2016-05-13 11:30:37 -07:00
cdalton
846c051a48 Convert GrClip to an abstract base class
Converts GrClip to an abstract base class and adds a "GrFixedClip"
implementation. GrFixedClip denotes a clip implemented with fixed-
function hardware. GrFixedClip allows us to remove the stateful
"fClipMode" member from GrClipMaskManager, and in the future will
be able to nicely encapsulate window rectangles.

After this change GrClipMaskManager is just a wrapper around
GrDrawTarget. We may want to consider removing it altogether.

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

Review-Url: https://codereview.chromium.org/1971343002
2016-05-13 10:25:00 -07:00
liyuqian
36632f46a6 Change Android activity title from JNI call
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978843002

Review-Url: https://codereview.chromium.org/1978843002
2016-05-13 09:57:44 -07:00
msarett
aabe15e206 Simple program for visualizing gamuts
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1972343002

Review-Url: https://codereview.chromium.org/1972343002
2016-05-13 07:32:59 -07:00
cdalton
862cff30ea Remove clip from GrPipelineBuilder
This eliminates a copy and will allow us to make the GrClip class
virutal.

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

Review-Url: https://codereview.chromium.org/1966903004
2016-05-12 15:09:48 -07:00
halcanary
dd05e2a96e using_skia_and_harfbuzz: compile w/ Android NDK
TBR=djsollen@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1977503002

Review-Url: https://codereview.chromium.org/1977503002
2016-05-12 10:09:58 -07:00
bungeman
13b9c95295 Move SkTypeface to sk_sp.
Committed: https://skia.googlesource.com/skia/+/6296da736fbf40aae881650c239420f64e576c3f
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1933393002

Review-Url: https://codereview.chromium.org/1933393002
2016-05-12 10:09:31 -07:00
liyuqian
40d21de8b6 Use swipe gesture to switch between slides on Android
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1965013007

Review-Url: https://codereview.chromium.org/1965013007
2016-05-12 09:17:04 -07:00
scroggo
9a9a7b29e5 Revert of Move SkTypeface to sk_sp. (patchset #5 id:80001 of https://codereview.chromium.org/1933393002/ )
Reason for revert:
fontmgr_iterAndroid failing to draw emoji. E.g. https://gold.skia.org/search2?blame=6296da736fbf40aae881650c239420f64e576c3f&unt=true&head=true&query=source_type%3Dgm

Original issue's description:
> Move SkTypeface to sk_sp.
>
> Committed: https://skia.googlesource.com/skia/+/6296da736fbf40aae881650c239420f64e576c3f

TBR=reed@google.com,fmalita@chromium.org,tomhudson@google.com,bungeman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1974783002
2016-05-12 06:22:30 -07:00
bungeman
6296da736f Move SkTypeface to sk_sp.
Review-Url: https://codereview.chromium.org/1933393002
2016-05-11 12:38:18 -07:00
bsalomon
c8699321b9 Nanobench running on Vulkan
This lets nanobench run but the timings are inaccurate because of missing
implementations of synchronization functions in VkTestContext.

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

Review-Url: https://codereview.chromium.org/1965273004
2016-05-11 11:55:36 -07:00
bsalomon
0fd3c81861 Make unit tests use generic testcontext rather than glcontext
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971613003

Review-Url: https://codereview.chromium.org/1971613003
2016-05-11 10:38:06 -07:00
bsalomon
18a2f9dff8 Add base class for GLTestContext and add new subclass VkTestContext.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1964243003

Review-Url: https://codereview.chromium.org/1964243003
2016-05-11 10:09:18 -07:00
bsalomon
8b7451aaf6 Turn ContextInfos returned by GrContextFactory into structs.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1966013002

Review-Url: https://codereview.chromium.org/1966013002
2016-05-11 06:33:06 -07:00
brianosman
622c8d5de1 Add flexible keybinding/command system to sk_app.
Viewer demonstrates use: Just create an instance of CommandSet,
register with the window, and add commands. Hopefully, we can keep
all commands in one place, and get some nice side-benefits. With
this framework, if you want to add a new command, you are only
required to add code in ONE place. And you get added to the help
screen, for free.

CommandSet automatically binds 'h' to cycle through the help modes.
(Functional grouping is most useful for general use, but the other
mode is nice to know what a key does, or to find an unused key for
a new feature).

Grouped by function: https://screenshot.googleplex.com/G5h3f52wFKu.png
Alphabetical by key: https://screenshot.googleplex.com/nZiopabLKJ6.png

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

Review-Url: https://codereview.chromium.org/1955293002
2016-05-10 06:50:49 -07:00
jvanverth
3622a17291 Set level count for wrapped backbuffer
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1965533002

Review-Url: https://codereview.chromium.org/1965533002
2016-05-10 06:42:18 -07:00
scroggo
00e9452791 Run RAW images serially on Win8-MSVC-ShuttleB
BUG=skia:5283
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1960153005

Review-Url: https://codereview.chromium.org/1960153005
2016-05-10 06:11:20 -07:00
liyuqian
796c5bb465 Initial commit of our new Android app to demo Skia.
Currently, there's only a simple Activity with a title bar and a surface view
that connects with Skia viewer native application.

Before integrating user action events, I want to make sure that the design and
implementation so far are good.  Note that the old NativeApplication-based
Activity (ViewerActivity) is still there for reference and test purposes. It
will be removed eventually.

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

Review-Url: https://codereview.chromium.org/1952323004
2016-05-09 08:49:29 -07:00
brianosman
05de216ffb Add sRGB mode toggle to Viewer.
Unlike SampleApp, this just switches out the format of the window
surface (and then adjusts the gamma-correct flag on the SkSurfaces).

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

Review-Url: https://codereview.chromium.org/1950983007
2016-05-06 13:28:57 -07:00
cdalton
3ccf2e75ed Remove hasMixedSamples() from GrPipelineBuilder
This info is unknown until after any clip has been applied to the
stencil settings, so it's misleading to include in the builder.

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

Review-Url: https://codereview.chromium.org/1952323002
2016-05-06 09:41:16 -07:00
benjaminwagner
31b8417b3c Disable skia_warnings_as_errors for Fast bot.
BUG=skia:5257
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1955923002

Review-Url: https://codereview.chromium.org/1955923002
2016-05-06 09:30:08 -07:00
jvanverth
a8d0d6c8ba More refactoring for Viewer
* Move support files into sk_app and main files up to top directory
* Rename VulkanTestContext and create WindowContext parent class
* Place VulkanWindowContext et al. in sk_app namespace.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1944413005

Review-Url: https://codereview.chromium.org/1944413005
2016-05-05 12:32:03 -07:00
brianosman
2d1ee7936e Added --deepColor option to SampleApp, triggers creation of a ten-bit/channel
buffer. (Only on Windows at the moment). Uses new effect to do the final
gamma adjustment

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

Review-Url: https://codereview.chromium.org/1919993002
2016-05-05 12:24:31 -07:00
reed
086eea93b1 Revert of SK_DECLARE_STATIC_MUTEX -> static SkMutex (patchset #1 id:1 of https://codereview.chromium.org/1948193002/ )
Reason for revert:
broken the Mac and Linux builders, e.g.:

https://build.chromium.org/p/chromium/builders/Mac/builds/15151
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/19052

Original issue's description:
> SK_DECLARE_STATIC_MUTEX -> static SkMutex
>
> There's no need to use a macro to declare static SkMutexes any more
> (and there's likewise no need to restrict them to global scope).
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1948193002
>
> Committed: https://skia.googlesource.com/skia/+/5e56cfd3fa1041dbb83899844fb92fa9a2ef1009

TBR=mtklein@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/1945353003
2016-05-04 17:12:46 -07:00
mtklein
5e56cfd3fa SK_DECLARE_STATIC_MUTEX -> static SkMutex
There's no need to use a macro to declare static SkMutexes any more
(and there's likewise no need to restrict them to global scope).

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

Review-Url: https://codereview.chromium.org/1948193002
2016-05-04 15:21:12 -07:00
jvanverth
3452426715 Rename VulkanViewer to Viewer, take 2.
Also puts Window and Application in sk_app namespace.

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

Review-Url: https://codereview.chromium.org/1945103003
2016-05-04 13:49:13 -07:00
benjaminwagner
9b92ebdf41 Remove executable bit from source code files.
TBR=reed
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1952773002

Review-Url: https://codereview.chromium.org/1952773002
2016-05-04 13:45:06 -07:00
brianosman
fad98562d8 Prototype code that turns any/every flattenable into JSON
This makes inspecting things in SkDebugger far more useful - any filter
or other complex object on the paint is ultimately visible. You still
have to do some guess work to figure out what the fields actually mean,
but you can at least cross-reference with the code in flatten().

Screenshots:
Before: https://screenshot.googleplex.com/a6JM5HBBe6G.png
After : https://screenshot.googleplex.com/XQfr4YJ6mnH.png

Changes to public API are just removals and changes to make
some functions virtual.

TBR=reed@google.com

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

Review-Url: https://codereview.chromium.org/1920423002
2016-05-04 11:06:28 -07:00
halcanary
85e38bcf9e tools/using_skia_and_harfbuzz: minor cleanup
TBR=aam@

Review-Url: https://codereview.chromium.org/1947903002
2016-05-04 09:34:25 -07:00
brianosman
419ca64f0f Fix type conversion compile errors
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1949553003

Review-Url: https://codereview.chromium.org/1949553003
2016-05-04 08:19:44 -07:00
benjaminwagner
ae5c01d52b Add XSAN suppression files to infrabots.isolate. Only compile 'dm' and 'nanobench' for XSAN flavors.
Needed for https://codereview.chromium.org/1920283002

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

Review-Url: https://codereview.chromium.org/1859413003
2016-05-04 06:35:50 -07:00
halcanary
00d44e014c Start building HarfBuzz+Skia example
(prevent bitrot in example code)

tools/using_skia_and_harfbuzz.cpp was written by aam@:
  https://github.com/aam/skiaex

update HarfBuzz to latest release: 1.2.7

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

Review-Url: https://codereview.chromium.org/1940393002
2016-05-03 15:09:52 -07:00
halcanary
676ab68b04 documentation: SkDocument::MakePDF()
also, update some tools.

DOCS_PREVIEW= https://skia.org/user/sample/pdf?cl=1936283003
DOCS_PREVIEW= https://skia.org/user/api/canvas?cl=1936283003

Review-Url: https://codereview.chromium.org/1936283003
2016-05-03 12:10:04 -07:00
bungeman
0265707c19 Clean up SkFontConfigInterface implementation.
Renames some classes to avoid confusion with FontConfig.

Removed direct calls to FontConfig instead of calling FCI.

Moves the globals and factory to one (optional) file.

Moves font management code from typeface to font manager.

Adds index to fonts created from streams.

Associates FCI typefaces with the FCI instance which provides its identity.

Simplifies the singleton initialization.

Review-Url: https://codereview.chromium.org/1936213002
2016-05-02 11:54:13 -07:00
borenet
43bf511ead Delete ChromeOS code
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1926163002

Review-Url: https://codereview.chromium.org/1926163002
2016-04-29 14:01:34 -07:00
liyuqian
b138fdc65f Fix Vulkan Build in Android
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1935523002

Review-Url: https://codereview.chromium.org/1935523002
2016-04-29 10:00:26 -07:00
msarett
69deca8d1e Add ColorCodecSrc for testing/comparison on color corrected decodes
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1933753002

Review-Url: https://codereview.chromium.org/1933753002
2016-04-29 09:38:40 -07:00
djsollen
affacce4c6 Require Android SDK copy of CMake to build Vulkan on Android.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1930423002

Review-Url: https://codereview.chromium.org/1930423002
2016-04-29 08:09:43 -07:00
djsollen
efe46d2094 Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.
The Release_Developer build type is now used to build Skia with
release level optimizations but still enable SK_DEBUG. This in turn
means that SkASSERTS and SkRTConf are available in this mode.

Further we can then remove SK_DEVELOPER as a define as it is true
iff SK_DEBUG is true.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1931903002
DOCS_PREVIEW= https://skia.org/?cl=1931903002

Review-Url: https://codereview.chromium.org/1931903002
2016-04-29 06:41:35 -07:00
robertphillips
175dd9b5e3 Clean up test drawContext usage
The general idea is to provide access to SkGpuDevice's drawContext rather than its GrRenderTarget. That is usually what the testing framework actually wants.

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

Review-Url: https://codereview.chromium.org/1930623003
2016-04-28 14:32:04 -07:00
egdaniel
dd97b8585a Fix vulkan build on linux and android
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1921963003

Review-Url: https://codereview.chromium.org/1921963003
2016-04-28 09:30:39 -07:00
reed
28d5bdd97e Revert of Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER. (patchset #2 id:20001 of https://codereview.chromium.org/1927583002/ )
Reason for revert:
still blocking DEPS roll

Original issue's description:
> Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.
>
> The Release_Developer build type is now used to build Skia with
> release level optimizations but still enable SK_DEBUG. This in turn
> means that SkASSERTS and SkRTConf are available in this mode.
>
> Further we can then remove SK_DEVELOPER as a define as it is true
> iff SK_DEBUG is true.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1927583002
> DOCS_PREVIEW= https://skia.org/?cl=1927583002
>
> Committed: https://skia.googlesource.com/skia/+/48d6f88479e72efaf9b9d8f9c0769acb1ba773db

TBR=bungeman@gmail.com,bungeman@google.com,benjaminwagner@google.com,djsollen@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1918253006
2016-04-28 08:12:55 -07:00
djsollen
48d6f88479 Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.
The Release_Developer build type is now used to build Skia with
release level optimizations but still enable SK_DEBUG. This in turn
means that SkASSERTS and SkRTConf are available in this mode.

Further we can then remove SK_DEVELOPER as a define as it is true
iff SK_DEBUG is true.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1927583002
DOCS_PREVIEW= https://skia.org/?cl=1927583002

Review-Url: https://codereview.chromium.org/1927583002
2016-04-27 13:37:23 -07:00
jvanverth
a4b0fed3b7 Remove AttachmentInfo from VulkanViewer setup
It's not necessary to pass this information back up to the client;
we can store it in the TestContext if needed for Surface creation.

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

Review-Url: https://codereview.chromium.org/1920163004
2016-04-27 11:42:21 -07:00
halcanary
d155607171 tools/pdf-comparison.sh: stop relying on /usr/bin/timeout
NOTRY=true
TBR=

Review URL: https://codereview.chromium.org/1921943006
2016-04-27 07:44:03 -07:00
rmistry
6f47dbaff5 Treat kIncompleteInput as successes in get_images_from_skps
Context:
https://bugs.chromium.org/p/skia/issues/detail?id=5226
and
https://codereview.chromium.org/1844713003/diff/160001/tools/get_images_from_skps.cpp#newcode83

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

Review URL: https://codereview.chromium.org/1917413003
2016-04-27 07:31:23 -07:00
stephana
338eaea602 Disable ReadWriteAlpha on TSAN
BUG=skia:
R=borenet
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1927573002

Review URL: https://codereview.chromium.org/1927573002
2016-04-27 06:50:03 -07:00
halcanary
dc09f131d4 pdf comparison tool
NOTRY=true

Review URL: https://codereview.chromium.org/1924513002
2016-04-26 12:43:59 -07:00
rmistry
cda08f8490 Return error code when get_images_from_skps has failures.
BUG=skia:4981
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1916183002

Review URL: https://codereview.chromium.org/1916183002
2016-04-26 08:27:49 -07:00
jvanverth
9d5e47f354 Fix animation with stats in VulkanViewer
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1918083003

Review URL: https://codereview.chromium.org/1918083003
2016-04-26 08:01:33 -07:00
borenet
7bedaf5606 build_command_buffer: Don't 'git checkout' when --no-sync
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1915063002

Review URL: https://codereview.chromium.org/1915063002
2016-04-25 11:22:41 -07:00
rmistry
8d965a612e Test decoding and output failures to JSON in get_images_from_skps.
Testing for decoding was copy pasted from msarett's CL https://codereview.chromium.org/1828323002/

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

Review URL: https://codereview.chromium.org/1844713003
2016-04-25 10:35:03 -07:00
kkinnunen
2e6055b3ea Refactor to separate backend object lifecycle and GpuResource budget decision
Refactor GrGpuResource to contain two different pieces of state:
 a) instance is budgeted or not budgeted
 b) instance references wrapped backend objects or not

The "object lifecycle" was also attached to backend object
handles (ids), which made the code a bit unclear. Backend objects
would be associated with GrGpuResource::LifeCycle, even though
GrGpuResource::LifeCycle refers to the GpuResource, and individual
backend objects in one GpuResource might be governed with different
"lifecycle".

Mark the budgeted/not budgeted with SkBudgeted::kYes, SkBudgeted::kNo.
This was previously GrGpuResource::kCached_LifeCycle,
GrGpuResource::kUncached_LifeCycle.

Mark the "references wrapped object" with boolean. This was previously
GrGpuResource::kBorrowed_LifeCycle,
GrGpuResource::kAdopted_LifeCycle for GrGpuResource.

Associate the backend object ownership status with
GrBackendObjectOwnership for the backend object handles.

The resource type leaf constuctors, such has GrGLTexture or
GrGLTextureRenderTarget take "budgeted" parameter. This parameter
is passed to GrGpuResource::registerWithCache().

The resource type intermediary constructors, such as GrGLTexture
constructors for class GrGLTextureRenderTarget do not take "budgeted"
parameters, intermediary construtors do not call registerWithCache.

Removes the need for tagging GrGpuResource -derived subclass
constructors with "Derived" parameter.

Makes instances that wrap backend objects be registered with
a new function GrGpuResource::registerWithCacheWrapped().

Removes "budgeted" parameter from classes such as StencilAttahment, as
they are always cached and never wrap any external backend objects.

Removes the use of concept "external" from the member function names.
The API refers to the objects as "wrapped", so make all related
functions use the term consistently.

No change in functionality. Resources referencing wrapped objects are
always inserted to the cache with budget decision kNo.

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

Review URL: https://codereview.chromium.org/1862043002
2016-04-22 01:48:29 -07:00
jvanverth
b0d4352ca6 Revise WSI setup.
- Set up present queue creation correctly.
- Move WSI functions to VulkanTestContext.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1899213002

Review URL: https://codereview.chromium.org/1899213002
2016-04-21 11:46:23 -07:00
robertphillips
da2cd8b1d9 Hide SkCanvas::LayerIter
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1897863008

Committed: https://skia.googlesource.com/skia/+/a814000cbb0e90624a410b4359fff7f3ec66f0e0

Review URL: https://codereview.chromium.org/1897863008
2016-04-21 11:05:33 -07:00
egdaniel
58a8d9214a Update min Vulkan version to 1.0.8.0, and fix various bugs
With updating the SDK, the debug layers also showed multiple bugs.
I have fixed those as well in this CL. These include:

1. Incorrectly tracking the allocated descriptor sets from the descriptor pools

2. Using MemoryBarriers inside render passes.

3. Correctly setting the Stencil Image layout anytime we are using a render pass with a stencil attachment

4. Setting the correct aspect mask for Depth/Stencil in a barrier.

TBR=bsalomon@google.com

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

Review URL: https://codereview.chromium.org/1906623002
2016-04-21 08:03:10 -07:00
djsollen
12d62a7d51 VulkanViewer on Android
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1903253003

Review URL: https://codereview.chromium.org/1903253003
2016-04-21 07:59:44 -07:00
fmalita
a1f4fa7230 Revert of Hide SkCanvas::LayerIter (patchset #2 id:20001 of https://codereview.chromium.org/1897863008/ )
Reason for revert:
Das roll ist gebusted: https://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/214775/steps/compile%20%28with%20patch%29/logs/stdio

FAILED: /b/build/slave/cache/cipd/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/WebKit/Source/platform/graphics/paint/blink_platform_unittests.PaintArtifactToSkCanvasTest.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=266460-1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_NOTIFICATIONS -DENABLE_TOPCHROME_MD=1 -DDCHECK_ALWAYS_ON=1 -DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DINSIDE_BLINK -DMOJO_USE_SYSTEM_IMPL -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=0 -DUNIT_TEST -DGTEST_HAS_RTTI=0 -DENABLE_LAYOUT_UNIT_IN_INLINE_BOXES=0 -DENABLE_OILPAN=1 -DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1 -DENABLE_INPUT_MULTIPLE_FIELDS_UI=1 -DWTF_USE_ICCJPEG=1 -DWTF_USE_QCMSLIB=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_NOEXCEPT= -DU_STATIC_IMPLEMENTATION -DSK_SUPPORT_GPU=1 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DCHROME_PNG_WRITE_SUPPORT -DPNG_USER_CONFIG -DUSE_LIBPCI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen -Igen/blink -I../.. -I../../skia/config -I../../third_party/WebKit/Source -I../../third_party/khronos -I../../gpu -Igen/angle -I../../third_party/WebKit -Igen/third_party/WebKit -I../../testing/gmock/include -I../../testing/gtest/include -I../../third_party/icu/source/i18n -I../../third_party/icu/source/common -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/include/utils/mac -I../../skia/ext -I../../third_party/harfbuzz-ng/src -I../../third_party/qcms/src -I../../third_party/libpng -I../../third_party/zlib -I../../third_party/libwebp -I../../third_party/ots/include -I../../v8/include -I../../third_party/iccjpeg -I../../third_party/libjpeg_turbo -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -O2 -fvisibility=hidden -Werror -mmacosx-version-min=10.7 -arch x86_64 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -Wno-shift-negative-value -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /b/build/slave/mac/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-templates -Xclang -plugin-arg-find-bad-constructs -Xclang follow-macro-expansion -Xclang -plugin-arg-find-bad-constructs -Xclang check-implicit-copy-ctors -fcolor-diagnostics -fno-strict-aliasing -Xclang -load -Xclang /b/build/slave/mac/build/src/third_party/llvm-build/Release+Asserts/lib/libBlinkGCPlugin.dylib -Xclang -add-plugin -Xclang blink-gc-plugin -Xclang -plugin-arg-blink-gc-plugin -Xclang enable-oilpan -Xclang -plugin-arg-blink-gc-plugin -Xclang warn-raw-ptr  -c ../../third_party/WebKit/Source/platform/graphics/paint/PaintArtifactToSkCanvasTest.cpp -o obj/third_party/WebKit/Source/platform/graphics/paint/blink_platform_unittests.PaintArtifactToSkCanvasTest.o
../../third_party/WebKit/Source/platform/graphics/paint/PaintArtifactToSkCanvasTest.cpp:201:22: error: 'LayerIter' is a protected member of 'SkCanvas'
    return SkCanvas::LayerIter(canvas, false).clip();
                     ^
../../third_party/skia/include/core/SkCanvas.h:1230:18: note: declared protected here
    class SK_API LayerIter /*: SkNoncopyable*/ {
                 ^
1 error generated.
ninja: build stopped: subcommand failed.

Original issue's description:
> Hide SkCanvas::LayerIter
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1897863008
>
> Committed: https://skia.googlesource.com/skia/+/a814000cbb0e90624a410b4359fff7f3ec66f0e0

TBR=reed@google.com,robertphillips@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1906573003
2016-04-20 17:03:38 -07:00
robertphillips
a814000cbb Hide SkCanvas::LayerIter
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1897863008

Review URL: https://codereview.chromium.org/1897863008
2016-04-20 15:57:27 -07:00
brianosman
82996b8200 Get skiaserve working on Windows.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1903203003

Review URL: https://codereview.chromium.org/1903203003
2016-04-20 10:52:54 -07:00
jvanverth
c3d706f7ce Revert of Use transfer buffer for BatchAtlas texture copies (patchset #9 id:160001 of https://codereview.chromium.org/1888473002/ )
Reason for revert:
Lots of sync issues with paths and text.

Original issue's description:
> Use transfer buffer for BatchAtlas texture copies.
>
> Sets up use of transfer buffer (if available) to do one-copy transfers.
> Get transfer buffers working properly in GL.
> Implement GrVkGpu::onTransferPixels.
> Check caps to ensure we can create a transfer buffer.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1888473002
>
> Committed: https://skia.googlesource.com/skia/+/b0ec9836dbf7f2304a3a29289b818719ca0a39bd

TBR=robertphillips@google.com,egdaniel@google.com,bsalomon@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/1904723003
2016-04-20 10:33:28 -07:00
jvanverth
b0ec9836db Use transfer buffer for BatchAtlas texture copies.
Sets up use of transfer buffer (if available) to do one-copy transfers.
Get transfer buffers working properly in GL.
Implement GrVkGpu::onTransferPixels.
Check caps to ensure we can create a transfer buffer.

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

Review URL: https://codereview.chromium.org/1888473002
2016-04-20 05:54:02 -07:00
robertphillips
5e3815b4d0 Rein in the use of SkDevice.h
Nothing interesting.

TBR=reed@google.com

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

Review URL: https://codereview.chromium.org/1904673003
2016-04-20 05:29:51 -07:00
svaisanen
b988ecf639 Enable NV_path_rendering in the Null GL.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1882563002

Review URL: https://codereview.chromium.org/1882563002
2016-04-20 00:36:53 -07:00
brianosman
312aa6a81e Adding support for controlling the global sRGB SkColor switch.
Frontend change: https://codereview.chromium.org/1900233002/

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

Review URL: https://codereview.chromium.org/1902143002
2016-04-19 12:47:54 -07:00
mtklein
05db63b5fc Remove static initializer for SkOpts::Init()
Static initializers run in a confusing unspecified order,
so it's best to have as few of them as possible.

Most tools and clients I can find already call SkGraphics::Init(),
(or equivalently create an SkAutoGraphics) which calls SkOpts::Init():
   - Chrome
   - Chrome renderer
   - Android
   - DM
   - nanobench
   - SampleApp
   - VisualBench
   - the old debugger

Seems like the only thing relying on this static initializer today is
the new debugger, fixed here.

TBR=reed@google.com

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

Review URL: https://codereview.chromium.org/1903503002
2016-04-19 12:42:24 -07:00
brianosman
7831295c63 Adding support for playback to L32/S32/F16 canvas.
Playback of my test GM works correctly on both raster and GPU, in all three modes.

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

Review URL: https://codereview.chromium.org/1893393002
2016-04-19 10:16:53 -07:00
cdalton
1bf3e71ad0 Add optional data parameter to createBuffer
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877073002

Review URL: https://codereview.chromium.org/1877073002
2016-04-19 10:00:02 -07:00
robertphillips
44583122ac Make skpinfo more human friendly
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1901713004

Review URL: https://codereview.chromium.org/1901713004
2016-04-19 09:29:01 -07:00
brianosman
3c579dcff8 Move DM png code to picture_utils, for use by other tools.
Planning to re-use this code in skiaserve in an upcoming change.

TBR=mtklein@google.com

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

Review URL: https://codereview.chromium.org/1901113002
2016-04-19 09:18:11 -07:00
halcanary
f0da138c95 experimental/fiddle -> tools/fiddle
also, test building fiddle_main.cpp & draw.cpp
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1895143002

Review URL: https://codereview.chromium.org/1895143002
2016-04-18 11:50:07 -07:00
mtklein
d9dd428211 Modernize and trim down SkOnce.
The API and implementation are very much simplified.
You may not want to bother reading the diff.

As is our trend, SkOnce now uses <atomic> directly.

Member initialization means we don't need SK_DECLARE_STATIC_ONCE.
SkSpinlock already works this same way.

All uses of the old API taking an external bool* and Lock* were pessimal,
so I have not carried this sort of API forward.  It's simpler, faster,
and more space-efficient to always use this single SkOnce class interface.

SkOnce weighs 2 bytes: a done bool and an SkSpinlock, also a bool internally.
This API refactoring opens up the opportunity to fuse those into a single
three-state byte if we'd like.

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

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

Review URL: https://codereview.chromium.org/1894893002
2016-04-18 08:09:11 -07:00
rmistry
5f80e8cb7c Walk through files in parse_llvm_coverage.py instead of using 'git ls-files'
The script will be executed on a swarming bot where we do not want to isolate .git directories.

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

NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1888423002
2016-04-18 04:18:56 -07:00
rmistry
43e8f67254 Do not do compile steps for Coverage
Coverage needs to do compilation in its test step. The primary reason is: the path to the out directory is compiled into the binary, which is why the compile and test steps need to be combined.

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

Review URL: https://codereview.chromium.org/1889183002
2016-04-18 04:14:17 -07:00
brianosman
1c9f9228e5 Fix skiaserve crash when displaying batch bounds
In my test case, the first actual batch would combine with the clear
issued before auditing had been enabled. After the successful combine,
we would try to inform the audit manager, but it didn't know about the
batch, triggering an assert (and subsequent crash). Fix is ijust to
ensure that no prior batches are pending when we turn on auditing.

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

Review URL: https://codereview.chromium.org/1894633002
2016-04-15 11:00:51 -07:00
bsalomon
3f21a2e9f3 Only eglTerminate command buffer displays when no displays are in use
This is a workaround for crbug.com/603223

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

Review URL: https://codereview.chromium.org/1878943008
2016-04-13 15:03:59 -07:00
brianosman
b461d34575 Rename lots of things from 'sRGB' to 'GammaCorrect', where appropriate
Trying to be much more explicit about where we really mean sRGB as a format,
and where we mean gamma-correct, as in: "not legacy behavior". Most of the
changes to rendering behavior are dependent on the latter, so let's be precise.

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

Review URL: https://codereview.chromium.org/1884873006
2016-04-13 13:10:14 -07:00
bsalomon
09e127bd38 Make build_shaderc.py blow away output dir and allow build_type arg to contain either Debug or Release
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1884963002

Review URL: https://codereview.chromium.org/1884963002
2016-04-13 08:02:43 -07:00
borenet
903ec3ce4d Fix CommandBuffer bot's DM config
BUG=skia:4957
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1880403002

Review URL: https://codereview.chromium.org/1880403002
2016-04-13 06:00:42 -07:00
bungeman
ed2edabd07 Remove SK_VERY_LEGACY_CREATE_TYPEFACE.
The flag and code it guards are no longer used.

TBR=reed
This just removes dead code.

Review URL: https://codereview.chromium.org/1882803002
2016-04-13 05:23:35 -07:00
bungeman
11a77c6e06 Begin switch to SkFontStyle for legacy calls.
This adds SK_VERY_LEGACY_CREATE_TYPEFACE which, when defined, provides
only the old interface.

Ideally, everyone would switch directly to SkFontMgr and use one of the
newer calls, but there is currently no path for current users to get
there. This updates all the internals to use SkFontStyle, after
switching these over the higher level APIs can be switched.

The Chromium follow on patch can be seen at https://crrev.com/1877673002

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

TBR=reed
This doesn't really change API, just modernizes it.

Review URL: https://codereview.chromium.org/1873923002
2016-04-12 13:45:06 -07:00
borenet
71e185c060 GYP_DEFINES and DM flags for Vulkan bot
BUG=skia:5186
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885563002

Review URL: https://codereview.chromium.org/1885563002
2016-04-12 08:13:57 -07:00
bsalomon
dc0fcd41e7 Vulkan config in dm
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1872283003

Review URL: https://codereview.chromium.org/1872283003
2016-04-11 14:21:33 -07:00
mtklein
ad6a1901d1 nullptr -> "sans-serif" fixes bold in gm/colorwheel
This was an odd case where 8888 drew wrong and serialize-8888 was correct.

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

Review URL: https://codereview.chromium.org/1880653002
2016-04-11 13:20:11 -07:00
borenet
48b88cc1f6 Fixes for CommandBuffer bot
BUG=skia:4957
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877883002

Review URL: https://codereview.chromium.org/1877883002
2016-04-11 10:16:01 -07:00
egdaniel
2a0bb0a665 Fix to zoom on Vulkan Viewer
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1876853003

Review URL: https://codereview.chromium.org/1876853003
2016-04-11 08:30:40 -07:00
jvanverth
c265a92741 More cleanup in the Vulkan viewer
* add animation support for GMs
* don't load all SkPictures at start, only as needed
* don't update constantly, only for animation or stats
* hide/show stats
* scale slides up/down

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

Review URL: https://codereview.chromium.org/1873733003
2016-04-08 12:51:45 -07:00
mtklein
0576aa9c07 Serialize invNormRotation in SkLightingShader.
This fixes a serialize-8888 / 8888 GM mismatch.

This requires a picture bump so we know not to bother trying to read the
invNormRotation vector from older .SKPs.   Any chance no one's ever made
one?

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

Just bumping the picture version.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1870443002
2016-04-08 12:19:50 -07:00
jvanverth
2bb3b6d2bb Add slides to VulkanViewer
Adds SKP loading, matching, and moving backwards as well as forwards
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1873543003

Review URL: https://codereview.chromium.org/1873543003
2016-04-08 07:24:09 -07:00