Commit Graph

22754 Commits

Author SHA1 Message Date
msarett
085cad4abc Move SkColorSpace ICC parsing/writing code to its own file
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2101823003

Review-Url: https://codereview.chromium.org/2101823003
2016-06-28 07:16:40 -07:00
reed
0a8f40cbe6 remove SK_SUPPORT_LEGACY_COLORPROFILETYPE dead-code
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2101983003

TBR=

Review-Url: https://codereview.chromium.org/2101983003
2016-06-28 05:43:28 -07:00
robertphillips
7070a3c44b Fix mask applied to SkPath::fFillType in readFromMemory to fix fuzzer bug
The fFillType field only needs/uses 2 bits - not all 8

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

Review-Url: https://codereview.chromium.org/2099113004
2016-06-28 04:54:54 -07:00
borenet
f9bd9da14a Add CIPD support for bot assets
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085473002

Review-Url: https://codereview.chromium.org/2085473002
2016-06-28 04:41:49 -07:00
egdaniel
88e8aef391 Fix Vulkan readPixels
Fixed bug with setting up tempReadTexture from previous CL.

Also, previously we were not correctly handling the rowBytes during the read.

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

Review-Url: https://codereview.chromium.org/2102633003
2016-06-27 14:34:55 -07:00
csmartdalton
523a239e53 Check PremulType during GrGradientEffect::onIsEqual
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2100223003

Review-Url: https://codereview.chromium.org/2100223003
2016-06-27 14:02:10 -07:00
egdaniel
4583ec51d9 Add support for draws in vulkan read and write pixels
GL has a lot more optimizations checks here to make sure we do the most
effecient and correct draw here, but for now as long as the features
are support we just do basic draws for both reads and writes when we
need certain conversions.

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

Review-Url: https://codereview.chromium.org/2105433002
2016-06-27 12:57:00 -07:00
hcm
8e0a09c1a1 Update roadmap and remove highlights
Use new file hosted on skia.org for 16-17 roadmap
Remove aging published highlights in favor of release notes

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

Review-Url: https://codereview.chromium.org/2104563002
2016-06-27 12:54:07 -07:00
rmistry
6a3f07e985 Update documentation on how to download CT SKPs
BUG=skia:5465
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2103443003
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2103443003

Review-Url: https://codereview.chromium.org/2103443003
2016-06-27 12:51:47 -07:00
robertphillips
6a16fd33da Fix Perlin noise fuzz issue
The main "fix" here was that the assert was checking the un-clamped input value rather than the clamped value.

The SkValidatingReadBuffer.cpp change was required to get the reproducing fuzz test case to complete.

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

Review-Url: https://codereview.chromium.org/2107453002
2016-06-27 12:26:29 -07:00
robertphillips
5354e4a0c2 Address ASAN fuzzer complaint
This addresses a class of fuzzer failure where the paint index has been
made invalid but the calling code doesn't handle a null pointer return.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2099343002

Review-Url: https://codereview.chromium.org/2099343002
2016-06-27 12:05:39 -07:00
dvonbeck
12c4fc2579 SkLightingShader normal vector CPU computation refactor.
The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.

This CL's base was the CL for GPU handling: https://codereview.chromium.org/2043393002/

What this CL includes:

- A refactor of the SkLightingShader context's code that deals with reading normals off of a normal map. This is now abstracted out into a NormalSource::Provider class that the context uses.

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

Committed: https://skia.googlesource.com/skia/+/790a70118327a129cb6b48fabe80f4e184c1e67c
Review-Url: https://codereview.chromium.org/2050773002
2016-06-27 11:40:45 -07:00
robertphillips
8bad3acce5 Fix up flags to SkGpuBlurUtils::GaussianBlur
This fixes a bug introduced in: https://codereview.chromium.org/1961953002/ (Reland of Simplify SkGpuBlurUtils::GaussianBlur method)

Although the 'canOverwriteSrc' flag is/was being used I still believe we're better off re-adding it after the mask-blur refactoring finishes.

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

Review-Url: https://codereview.chromium.org/2100873002
2016-06-27 11:11:05 -07:00
bsalomon
db7979a24c Fix inverse test for GrDFAAPR::onCanDrawPath
TBR=egdaniel@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2105443002

Review-Url: https://codereview.chromium.org/2105443002
2016-06-27 11:08:43 -07:00
bsalomon
728b0f7505 Use a union inside GrShape to hold geometry
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2094023002

Review-Url: https://codereview.chromium.org/2094023002
2016-06-27 10:00:19 -07:00
dvonbeck
2c80711f90 Revert of Refactoring of CPU NormalMap handling out into its own class (patchset #13 id:240001 of https://codereview.chromium.org/2050773002/ )
Reason for revert:
GMs are crashing on Windows Test trybots

Original issue's description:
> SkLightingShader normal vector CPU computation refactor.
>
> The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
>
> This CL's base was the CL for GPU handling: https://codereview.chromium.org/2043393002/
>
> What this CL includes:
>
> - A refactor of the SkLightingShader context's code that deals with reading normals off of a normal map. This is now abstracted out into a NormalSource::Provider class that the context uses.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
>
> Committed: https://skia.googlesource.com/skia/+/790a70118327a129cb6b48fabe80f4e184c1e67c

TBR=egdaniel@google.com,reed@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/2101653002
2016-06-27 09:30:19 -07:00
csmartdalton
c411f2d963 Add a GL cap for instanced rendering to floating point
We have observed on OS X that instanced draws don't always behave
correctly when the framebuffer is floating point.

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

Review-Url: https://codereview.chromium.org/2095183002
2016-06-27 09:29:07 -07:00
dvonbeck
790a701183 SkLightingShader normal vector CPU computation refactor.
The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.

This CL's base was the CL for GPU handling: https://codereview.chromium.org/2043393002/

What this CL includes:

- A refactor of the SkLightingShader context's code that deals with reading normals off of a normal map. This is now abstracted out into a NormalSource::Provider class that the context uses.

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

Review-Url: https://codereview.chromium.org/2050773002
2016-06-27 08:43:58 -07:00
bsalomon
b85e63d6ec Make sure path computed from stroke-rec application using GrStyle is volatile.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2099313002

Review-Url: https://codereview.chromium.org/2099313002
2016-06-27 07:59:12 -07:00
bsalomon
ee43241d72 Remove style application from GrPathRenderer subclasses
Now that GrPathRenderer is using GrShape it is possible to get a key for a path that was computed by applying style to an original path.

This improves path renderer subclass selection, particularly when a post-styled path happens to work with a simpler path renderer (e.g. it is convex). Previously a more expensive path renderer may have applied the style and rendered it (e.g. the distance field PR)

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

Review-Url: https://codereview.chromium.org/2064753003
2016-06-27 07:18:18 -07:00
egdaniel
b05df0ff26 Fix check for maxVertexAttributes in GrVkPipeline
BUG=skia:5461
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2098933002

Review-Url: https://codereview.chromium.org/2098933002
2016-06-27 07:15:20 -07:00
reed
81700f69b0 remove DownSample imagefilter
was just created early on as a test filter

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

TBR=

Review-Url: https://codereview.chromium.org/2094083002
2016-06-25 14:30:44 -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
f8c2be3fbc Add Sleep on windows GrVkGpu dtor to avoid fence bug
BUG=skia:5458
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2099813002

Review-Url: https://codereview.chromium.org/2099813002
2016-06-24 13:18:27 -07:00
herb
3be72b0413 Add documention on SkBlitter for runs, and small cleanups.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054213002

Review-Url: https://codereview.chromium.org/2054213002
2016-06-24 13:02:31 -07:00
brianosman
a4535a34d1 GrColor4f is yet another 4f color type, unfortunately.
- Sk4f would be my choice, but it's not allowed in include/
- SkColor4f and SkPM4f are specified to be unpremultiplied/premultiplied, whereas GrColor (and GrColor4f) are either, depending on context.

This adds 12 bytes to GrPaint. Not sure if we want to pay that price. The precision loss for a single value (vs. in a gradient, etc...) may not justify changing the storage type here. Easy enough to back that part out, while still keeping the 4f intermediate type for the helper math that it adds, and for storage and parameter passing in other locations.

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

Review-Url: https://codereview.chromium.org/2088303002
2016-06-24 12:50:19 -07:00
brianosman
e2cddc5342 Fix incorrect swizzle on BGRA platforms in filterColor4f path
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2091923003

Review-Url: https://codereview.chromium.org/2091923003
2016-06-24 11:55:32 -07:00
tandrii
23e9f7c501 Make bucket names explicit in cq.cfg.
Don't assume bucket name to start with 'master.'.

NOTRY=True
BUG=chromium:617627
R=rmistry@google.com,sergiyb@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2096733005

Review-Url: https://codereview.chromium.org/2096733005
2016-06-24 11:27:29 -07:00
bsalomon
8acedde597 Use GrShape in GrPathRenderer.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2081383006

Review-Url: https://codereview.chromium.org/2081383006
2016-06-24 10:42:16 -07:00
egdaniel
c2fde8b227 Remove unnecessary srcAccessMask for preinitialized images in vulkan
This fixes a warning we were receiving while running tests in Vulkan.

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

Review-Url: https://codereview.chromium.org/2095923004
2016-06-24 10:29:02 -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
brianosman
e074d1fa6a Change SkColor4f to RGBA channel order
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2093763003

Review-Url: https://codereview.chromium.org/2093763003
2016-06-24 06:31:47 -07:00
rmistry
7bde5659d3 Revert of Remove Android SampleApp (patchset #5 id:80001 of https://codereview.chromium.org/2096683002/ )
Reason for revert:
Testing to see if this CL caused the failures in Build-Mac-Clang-Arm7-Debug-Android

Original issue's description:
> Remove Android SampleApp
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2096683002
>
> Committed: https://skia.googlesource.com/skia/+/41bb5b40e71411ee39538399ea125986ec760a90

TBR=djsollen@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/2099693002
2016-06-24 05:24:16 -07:00
msarett
0f83e0151f Add support for 3D colorLUTs to SkColorXform
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2097553002

Review-Url: https://codereview.chromium.org/2097553002
2016-06-23 15:12:52 -07:00
egdaniel
3fe0aabac1 Fix vulkan warning in RecordReplaceDrawTest
Vulkan debug layers complain that when we call readPixels on the texture
we are copying unitialized data from the image to a buffer.

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

Review-Url: https://codereview.chromium.org/2091823005
2016-06-23 15:06:29 -07:00
halcanary
ee41b7556d SkPDF: alloc less memory for strings
before:
        micros   	bench
        250.98  	WritePDFText	nonrendering
    after:
        micros   	bench
        107.10  	WritePDFText	nonrendering

Also, be slightly more space-efficient in encoding strings.

Also, add a bench.

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

Review-Url: https://codereview.chromium.org/2099463002
2016-06-23 14:08:11 -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
bsalomon
425c27fab9 Add some more getters to GrShape.
These will be used to deploy GrShape in GrPathRenderer subclasses.

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

Review-Url: https://codereview.chromium.org/2070643002
2016-06-23 13:18:45 -07:00
csmartdalton
d0e402f999 Make container classes in SkTemplates.h more consistent
Ensures that ".get()" always returns null when a container is empty.
Also ensures consistent assert behavior for array counts.

There are still differences in that the malloc variants take a size_t
and the arrays take an int, and that SkAutoSTMalloc defaults to the
stack-allocated buffer wheras the other containers default to null.

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

Review-Url: https://codereview.chromium.org/2084213003
2016-06-23 12:55:14 -07:00
msarett
4d602144a9 Revert of Potential fix for flaky TSAN (patchset #1 id:1 of https://codereview.chromium.org/2084243003/ )
Reason for revert:
I believe I've fixed SkMatrix44::I() to be thread safe, let's test it by reverting this CL.

Original issue's description:
> Potential fix for flaky TSAN
>
> TBR=mtklein@google.com
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2084243003
>
> Committed: https://skia.googlesource.com/skia/+/949999d0bbc247906995358a90c4e436e9152de2

TBR=mtklein@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/2091573004
2016-06-23 12:48:44 -07:00
msarett
c1a3e24918 SkMatrix44 clarifications and clean-ups
Fixed row/col major bug and added comments to the
header.

Made SkMatrix::I() thread safe using constexpr.

Added a test set3x3RowMajorf().

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

Review-Url: https://codereview.chromium.org/2098583002
2016-06-23 12:42:29 -07:00
bsalomon
ac5fcea9c3 Fix Rob's nits from https://codereview.chromium.org/2085913003
TBR=robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087393003

Review-Url: https://codereview.chromium.org/2087393003
2016-06-23 12:23:07 -07:00
liyuqian
41bb5b40e7 Remove Android SampleApp
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2096683002

Review-Url: https://codereview.chromium.org/2096683002
2016-06-23 12:08:06 -07:00
egdaniel
f7817aa454 Fix vulkan clears
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2096793002

Review-Url: https://codereview.chromium.org/2096793002
2016-06-23 11:56:36 -07:00
bsalomon
a4817afe50 Canonicalize path fill types for stroked paths in GrShape.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085913003

Review-Url: https://codereview.chromium.org/2085913003
2016-06-23 11:48:26 -07:00
brianosman
42a41499de Change loop bounds to be correct (and much less confusing)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2095693002

Review-Url: https://codereview.chromium.org/2095693002
2016-06-23 11:40:14 -07:00
brianosman
ff723af8b6 Fix bug in filterSpan4f - read the source, rather than the dest
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2091793003

Review-Url: https://codereview.chromium.org/2091793003
2016-06-23 11:33:21 -07:00
mtklein
9834696ed8 Work around missing __mulodi4() on ARMv7 + Clang builds.
__mulodi4() is roughly,

    int64_t __mulodi4(int64_t a, int64_t b, int* overflow) {
        int64_t result = a*b;
        *overflow = did_overflow(result);
        return result;
    }

It's used by Clang's __builtin_smulll_overflow(), which is basically the same
except it swaps the positions of the return value and the out parameter.

DNG SDK in turn uses __builtin_smulll_overflow().

When building ARMv7 binaries with Clang, __mulodi4() turns up as a missing symbol.
That's because it's defined in a separate compiler-rt library.  I have not been
able to link that.  Instead, I've provided our own trivial __builtin_smulll_overflow().

Before this patch both nanobench and DM failed dynamically linking __mulodi4().  After this patch nanobench runs for a while, eventually segfaulting.  DM immediately segfaults.

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

Review-Url: https://codereview.chromium.org/2011073002
2016-06-23 11:20:58 -07:00
kjlubick
3e3c1a5857 Add deserialize color space entry point for fuzzing
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2089783003

Review-Url: https://codereview.chromium.org/2089783003
2016-06-23 10:49:27 -07:00