Commit Graph

23114 Commits

Author SHA1 Message Date
egdaniel
d66110f597 Fix vulkan onGetWritePixelsInfo
When the configs are the same in Vulkan we know we can do write pixels,
but the caller may need to do a draw, so make sure we set up the
tempDrawInfo before returning.

BUG=skia:5461, skia:5458
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108873003

Review-Url: https://codereview.chromium.org/2108873003
2016-06-28 13:38:26 -07:00
bsalomon
0a0f67ecec Make lines a special case in GrShape
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108523002

Committed: https://skia.googlesource.com/skia/+/c62318c748a1907649bd75382c4f4fd10533f2b3
Review-Url: https://codereview.chromium.org/2108523002
2016-06-28 11:56:42 -07:00
bsalomon
635df95a9a Revert of Make lines a special case in GrShape (patchset #5 id:120001 of https://codereview.chromium.org/2108523002/ )
Reason for revert:
Assertion failures

Original issue's description:
> Make lines a special case in GrShape
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108523002
>
> Committed: https://skia.googlesource.com/skia/+/c62318c748a1907649bd75382c4f4fd10533f2b3

TBR=robertphillips@google.com,egdaniel@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/2109613003
2016-06-28 11:18:47 -07:00
robertphillips
c31bb870f2 Tighten up masking of colorType & alphaType in SkImageInfo serialization (for fuzzer bug)
In this case the int that contains the color and alpha types is getting munged. We don't really case that the surplus bits are 0 just that the values we care about are reasonable.

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

Review-Url: https://codereview.chromium.org/2110493002
2016-06-28 11:02:30 -07:00
rmistry
d9114cb8f3 Update CT documentation on skia.org
BUG=skia:5465
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2103853002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2103853002

Review-Url: https://codereview.chromium.org/2103853002
2016-06-28 10:52:47 -07:00
bsalomon
c62318c748 Make lines a special case in GrShape
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108523002

Review-Url: https://codereview.chromium.org/2108523002
2016-06-28 10:41:35 -07:00
rmistry
0829e49af2 Add blacklist for the Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_IMG_DECODE_100k_SKPs bot
BUG=skia:5462
BUG=skia:5466
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2101403003

# Try bots do not run this code.
NOTRY=true

Review-Url: https://codereview.chromium.org/2101403003
2016-06-28 10:17:03 -07:00
caryclark
3f0753d3ec fix fuzz bugs
Detect more places where the pathops numerics cause numbers
to become nearly identical and subsequently fail. These tests
have extreme inputs and cannot succeed.

Also remove the expectSuccess parameter from PathOpsDebug
and check instead in the test framework.

R=mbarbella@chromium.org
TBR=reed@google.com
BUG=623072,623022
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2103513002

Review-Url: https://codereview.chromium.org/2103513002
2016-06-28 09:23:57 -07:00
robertphillips
74139f1b49 Address two fuzzer bugs:
SkImageInfos that were made invalid weren't being caught
Messing with the size of a SAVE record wasn't being caught

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

Review-Url: https://codereview.chromium.org/2104973003
2016-06-28 09:04:34 -07:00
egdaniel
ab527a5bbf Enable many more tests for Vulkan
BUG=skia:5461
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2103133002

Review-Url: https://codereview.chromium.org/2103133002
2016-06-28 08:07:26 -07:00
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