Commit Graph

23760 Commits

Author SHA1 Message Date
mtklein
2f4114a246 32-bit fast hash, tidy up murmur3 a bit
Nothing too surprising in the new 32-bit x86 hash.  It's about half speed of the 64-bit variant, just as you'd expect.

Using unaligned_load like the others makes the may_alias parts of murmur3 moot.  I've updated some of the terms in the murmur hash to read consistently with the others.

The existing hashes are the same speed and produce the same hashes.  In case this is not obvious, all three hash functions produce different hashes.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2251773002
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/2251773002
2016-08-16 09:29:57 -07:00
bsalomon
af68fa11ed Improvements for circluar blurs in GPU backend.
Use half plane approximation for small blur of a large circle. This reduces
the number of textures used and also avoids numerical issues with large
circle radii.

Make GrCircleGradientEffect use fixed sized textures.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2242973002

Review-Url: https://codereview.chromium.org/2242973002
2016-08-16 09:24:57 -07:00
fmenozzi
af23ee538b Reducing number of calls to GLSL mix() from two to one reduces frame render time by 21%
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2247113003

Review-Url: https://codereview.chromium.org/2247113003
2016-08-16 09:24:52 -07:00
brianosman
80e96088bc Remove isOpaque from SkSpecialImage, just use alpha type
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246193002

Review-Url: https://codereview.chromium.org/2246193002
2016-08-16 07:09:47 -07:00
fmalita
b5b6de9b94 Disable Nebraska-StateSeal.svg on Win8 bots
Temporary suppression, pending bug fix.

BUG=skia:5636
R=robertphillips@google.com,senorblanco@chromium.org
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2249763002

Review-Url: https://codereview.chromium.org/2249763002
2016-08-16 07:08:48 -07:00
reed
c687448806 simplify GrTextureAdjuster given there is only one subclass
Intended as a pre-cl for https://codereview.chromium.org/2241353002#

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

Review-Url: https://codereview.chromium.org/2242373002
2016-08-16 06:39:39 -07:00
vjiaoblack
d707f2d1cf Moved "drawShadowedPicture" call outside of if cases in onDrawContent.
Bug description:
If you updated the view without changing frames (such as moving around the
cursor with 'z' (pixel zoom) on) the window would turn gray.

This was because I left the drawShadowedPicture call inside of the "if-updated"
case inside of SampleShadowing's onDrawContent handler.

If nothing changed and onDrawContent is called, we still need to update the
given canvas's fLights (there is no guarantee of whether the canvas (or its
fLights) has been updated or not), and then draw the shadowed picture.

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

Review-Url: https://codereview.chromium.org/2245923002
2016-08-16 05:38:45 -07:00
msarett
c5064d9c3d Revert of Add regression test (patchset #2 id:20001 of https://codereview.chromium.org/2243143002/ )
Reason for revert:
Nexus 9 and Nexus Player failures.

Original issue's description:
> Add regression test
>
> Original bug fix was in:
> https://codereview.chromium.org/2230163002
>
> BUG:636268
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2243143002
>
> Committed: https://skia.googlesource.com/skia/+/bcae9d3d15d34a59d279c34e187e6101975500c0

TBR=reed@google.com,gogil@stealien.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/2243403003
2016-08-16 04:54:19 -07:00
msarett
36c38cbb29 Fix WIC encoder to support kJPEG_Type
(1) Add support for kJPEG to WIC
(2) Add encoding test.
(3) Turn on WIC jpeg encoder on Windows and CG jpeg
    encoder on Mac.

A follow-up may make Skia's encoders the default on all
platforms.  But, in order to do that, I think we need
to write better encoding unit tests for CG and WIC.

BUG=skia:3969
BUG=skia:5632
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2245453002

Committed: https://skia.googlesource.com/skia/+/b3a7ef1fc0adc24859d2498aee54d3ec2cbcac3a
Review-Url: https://codereview.chromium.org/2245453002
2016-08-15 18:52:17 -07:00
halcanary
4ed2f01cf6 SkPDF: unify drawText and drawPosText
Motivation: a later CL will add drawTextBlob() (after
https://crrev.com/2084533004 lands).  This CL is designed
with that change in mind.  Also fewer redundant lines of
code.

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

Committed: https://skia.googlesource.com/skia/+/6059dc32fe36358175cb81541c91e74a2a7e771a
Review-Url: https://codereview.chromium.org/2241683005
2016-08-15 18:40:07 -07:00
robertphillips
5ba165ee9c Revert of SkPDF: unify drawText and drawPosText (patchset #2 id:40001 of https://codereview.chromium.org/2241683005/ )
Reason for revert:
I believe this is breaking the Google3 roll

Original issue's description:
> SkPDF: unify drawText and drawPosText
>
> Motivation: a later CL will add drawTextBlob() (after
> https://crrev.com/2084533004 lands).  This CL is designed
> with that change in mind.  Also fewer redundant lines of
> code.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241683005
>
> Committed: https://skia.googlesource.com/skia/+/6059dc32fe36358175cb81541c91e74a2a7e771a

TBR=bungeman@google.com,halcanary@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/2248923002
2016-08-15 15:36:58 -07:00
hstern
e6f8ff0013 Defined SkDEBUGFAILF on Release builds
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2244253003

Review-Url: https://codereview.chromium.org/2244253003
2016-08-15 15:26:31 -07:00
bsalomon
7f0d9f3920 Attempt to throw away rrect clips of rrects.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241273003

Review-Url: https://codereview.chromium.org/2241273003
2016-08-15 14:49:10 -07:00
brianosman
583bc2e98d Fix compile warning on MSVC-vulkan (VkDeviceSize -> size_t)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246183002

Review-Url: https://codereview.chromium.org/2246183002
2016-08-15 14:06:31 -07:00
msarett
93963ba84e Revert of Fix WIC encoder to support kJPEG_Type (patchset #3 id:140001 of https://codereview.chromium.org/2245453002/ )
Reason for revert:
Broken Windows bot.

Original issue's description:
> Fix WIC encoder to support kJPEG_Type
>
> (1) Add support for kJPEG to WIC
> (2) Add encoding test.
> (3) Turn on WIC jpeg encoder on Windows and CG jpeg
>     encoder on Mac.
>
> A follow-up may make Skia's encoders the default on all
> platforms.  But, in order to do that, I think we need
> to write better encoding unit tests for CG and WIC.
>
> BUG=skia:3969
> BUG=skia:5632
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2245453002
>
> Committed: https://skia.googlesource.com/skia/+/b3a7ef1fc0adc24859d2498aee54d3ec2cbcac3a

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:3969

Review-Url: https://codereview.chromium.org/2246203002
2016-08-15 13:52:31 -07:00
bsalomon
b424936267 Print error from driver when shader compiler fails
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248853002

Review-Url: https://codereview.chromium.org/2248853002
2016-08-15 13:49:32 -07:00
fmalita
9ea494afd0 Fix up infra bot change
Follow up to https://codereview.chromium.org/2246943002/.

R=mtklein@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2247903002

Review-Url: https://codereview.chromium.org/2247903002
2016-08-15 13:38:18 -07:00
msarett
b3a7ef1fc0 Fix WIC encoder to support kJPEG_Type
(1) Add support for kJPEG to WIC
(2) Add encoding test.
(3) Turn on WIC jpeg encoder on Windows and CG jpeg
    encoder on Mac.

A follow-up may make Skia's encoders the default on all
platforms.  But, in order to do that, I think we need
to write better encoding unit tests for CG and WIC.

BUG=skia:3969
BUG=skia:5632
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2245453002

Review-Url: https://codereview.chromium.org/2245453002
2016-08-15 13:19:20 -07:00
mtklein
8bbbb696cd Revert of add parallel public API for recording SkLiteDL. (patchset #1 id:1 of https://codereview.chromium.org/2246893002/ )
Reason for revert:
looking like we won't need this

Original issue's description:
> add parallel public API for recording SkLiteDL.
>
> The API is restricted to pretty much just what Derek calls,
> but it's enough that we can switch testing over to use it.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246893002
>
> Committed: https://skia.googlesource.com/skia/+/ced26a3d6b77d3a6744a8ccb8eff23eda45fc867

TBR=djsollen@google.com,reed@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/2243393002
2016-08-15 12:56:00 -07:00
fmalita
6fb0648c35 [SVGDom] Add opacity support
Group opacity support.  Unlike the other presentation attributes we
support thus far, group opacity is not inherited.

R=robertphillips@google.com,stephana@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246943002

Review-Url: https://codereview.chromium.org/2246943002
2016-08-15 12:45:11 -07:00
robertphillips
d39430d057 Update blurred rrect mask filter creation method to also handle caching
The caching of the mask will also be required for the vertex attribute path so I moved that into the helper. The parameters computed by ComputeBlurredRRectParams will be needed to construct the coverage geometry by the vertex attribute path so I moved that out of the helper.

This is split out of https://codereview.chromium.org/2245653002/ (Start using vertex attributes for nine-patch blurred rrect draws)

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

Review-Url: https://codereview.chromium.org/2249463002
2016-08-15 12:37:01 -07:00
caryclark
c2ad65e94d add gm that exercises compose shader allocations
This gm triggers the assert in SkSmallAllocator.h
commented out by this CL.

PDFium constructs shaders that resemble the GM.

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

Review-Url: https://codereview.chromium.org/2249703002
2016-08-15 12:03:33 -07:00
halcanary
6059dc32fe SkPDF: unify drawText and drawPosText
Motivation: a later CL will add drawTextBlob() (after
https://crrev.com/2084533004 lands).  This CL is designed
with that change in mind.  Also fewer redundant lines of
code.

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

Review-Url: https://codereview.chromium.org/2241683005
2016-08-15 11:45:36 -07:00
mtklein
2ae98b0afc just add SkLiteDL::empty()
TBR=djsollen@google.com

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

Review-Url: https://codereview.chromium.org/2249713002
2016-08-15 11:43:35 -07:00
dvonbeck
6ad75d10eb LightingFP now supports multiple directional lights
BUG=skia:5518
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2239933004

Review-Url: https://codereview.chromium.org/2239933004
2016-08-15 11:35:55 -07:00
csmartdalton
d211e7875d Convert GrAppliedClip interface to builder style
GrAppliedClip was about at its limit for how many "make" functions it
could have. Window rectangles would push it over the edge. This change
makes it so GrDrawTarget supplies the original draw bounds to the
constructor, and then GrClip adds the various required clipping
techniques.

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

Review-Url: https://codereview.chromium.org/2246113002
2016-08-15 11:17:19 -07:00
egdaniel
3fe0327585 Fix 4444 on Vulkan devices who don't support RGBA_4444
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2238563002

Committed: https://skia.googlesource.com/skia/+/637b3bf2b9c10398d823bd015a722842d4f2f971
Review-Url: https://codereview.chromium.org/2238563002
2016-08-15 10:59:17 -07:00
rmistry
ea246cd5fb Increase hard and io timeouts for CT builds.
BUG=skia:5641
TBR=borenet
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2249523004

Review-Url: https://codereview.chromium.org/2249523004
2016-08-15 09:54:56 -07:00
msarett
bcae9d3d15 Add regression test
Original bug fix was in:
https://codereview.chromium.org/2230163002

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

Review-Url: https://codereview.chromium.org/2243143002
2016-08-15 09:42:00 -07:00
robertphillips
0dafbde31f Pull handling of blurred circles out of GrRRectBlurEffect::Make
GrRRectBlurEffect is going away so this process can't live there anymore.

Split out of: https://codereview.chromium.org/2245653002/ (Start using vertex attributes for nine-patch blurred rrect draws)

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

Review-Url: https://codereview.chromium.org/2243133002
2016-08-15 09:04:45 -07:00
caryclark
8a65fc8c32 Revert of increase small allocator limit to encompass compose shader (patchset #1 id:1 of https://codereview.chromium.org/2234423005/ )
Reason for revert:
Increase in stack broke Google3

Original issue's description:
> increase small allocator limit to encompass compose shader
>
> R=reed@google.com
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234423005
>
> Committed: https://skia.googlesource.com/skia/+/8c200694f8eec5f623b3934b85c31dbb382be12c

TBR=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/2244293002
2016-08-15 08:44:46 -07:00
msarett
200877eeca Optimize color xforms when src and dst are matching
Useful when:
(1) Client does not realize src and dst match (calls color
    xform anyway).
(2) Client wants half floats, src and dst have matching
    gamuts
(3) Client wants premul (done correctly in linear space),
    src and dst have matching gamuts.

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

Review-Url: https://codereview.chromium.org/2206403003
2016-08-15 08:10:44 -07:00
egdaniel
a95d46b4ac Fix copying of data in vulkan testing texture
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248703002

Review-Url: https://codereview.chromium.org/2248703002
2016-08-15 08:06:29 -07:00
mtklein
ced26a3d6b add parallel public API for recording SkLiteDL.
The API is restricted to pretty much just what Derek calls,
but it's enough that we can switch testing over to use it.

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

Review-Url: https://codereview.chromium.org/2246893002
2016-08-15 08:05:39 -07:00
fmalita
851d68aa56 [SVGDom] Deferred SampleApp parsing
Parse SVG files in onOnceBeforeDraw() rather than ctor, to avoid
front-loading a bunch of work when passed a loarge number of SVGs.

R=stephana@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2245993002

Review-Url: https://codereview.chromium.org/2245993002
2016-08-15 07:48:47 -07:00
mtklein
d5d3287fe2 Skip CompressCheckerboard unit test on N6.
This is at least one of the failures making the bot red.
The particular signal indicates it's probably an alignment problem.

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

CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-GCC-Nexus6-CPU-NEON-Arm7-Debug-Trybot

TBR=robertphillips@google.com

Review-Url: https://codereview.chromium.org/2245063002
2016-08-15 07:47:57 -07:00
fmenozzi
cd9a1d0ec3 Add specialized code for hard stop gradients on GPU
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003

Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d
Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b
Committed: https://skia.googlesource.com/skia/+/2a4959181fc98d5d7ee862e7cd1c7993b3343be6
Review-Url: https://codereview.chromium.org/2223203003
2016-08-15 07:03:47 -07:00
halcanary
997d017eed Documentation: Important things on front page
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2112643003

Review-Url: https://codereview.chromium.org/2112643003
2016-08-15 06:56:18 -07:00
caryclark
8c200694f8 increase small allocator limit to encompass compose shader
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234423005

Review-Url: https://codereview.chromium.org/2234423005
2016-08-14 17:26:28 -07:00
msarett
de44222033 Webp has_alpha is a hint only
The has_alpha bit on webps is a hint only.  We are correct to always
assume that the image may have alpha.
https://groups.google.com/a/webmproject.org/forum/#!msg/webp-discuss/2rFPKOzxuSM/uabYhmSNJAAJ

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

Review-Url: https://codereview.chromium.org/2243153002
2016-08-14 15:31:28 -07:00
msarett
0c685ee188 Assert fDeviceClipBounds is always empty when clip is empty
I've fixed a few issues where this assert triggers.  The
nastiest case is when the client sets the clip to a strange
version of an empty rect (Ex: L,T,R,B=0,0,0,10).

I think I've made sufficient fixes so that
fDeviceClipBounds is always empty when clip is empty.

Let's test it though.

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

Review-Url: https://codereview.chromium.org/2246503003
2016-08-14 13:51:16 -07:00
gogil
40ff5fe59b Prevent overflows when using gamma_alloc_size
BUG=636268
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2230163002

Review-Url: https://codereview.chromium.org/2230163002
2016-08-14 02:12:40 -07:00
update-skps
1e4a389dbf Update SKP version
Automatic commit by the RecreateSKPs bot.

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

Review-Url: https://codereview.chromium.org/2249443002
2016-08-14 01:56:40 -07:00
csmartdalton
5c6fc4fbfd Remove stencil settings param from stencilPath()
stencilPath() picks its own user stencil settings. This argument
should not be there.

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

Review-Url: https://codereview.chromium.org/2241873002
2016-08-12 15:11:51 -07:00
fmalita
ca39d716f1 [SVGDom] SVGPong sample app
Shows off SVG dom-based animations.

R=robertphillips@google.com,stephana@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2243853003

Review-Url: https://codereview.chromium.org/2243853003
2016-08-12 13:17:11 -07:00
dvonbeck
09e12a6d4a Re-adding analytical GeoProc for rectangles
Adapted old GeoProc because its knowledge of the geometry is helpful for computing the distance vector: https://skia.googlesource.com/skia/+/6006d0f8c4f19d19a12de20826f731f52ac822a7/src/gpu/GrAARectRenderer.cpp

Added distance vector capabilities to this GeoProc.

Modified GrDrawContext to used this GeoProc when drawing anti-aliased vectors with a shader that requires distance vectors.

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

Review-Url: https://codereview.chromium.org/2230513004
2016-08-12 12:50:36 -07:00
halcanary
8a822ba4a3 Revert of Exact Ganesh Gradients for Special Cases (patchset #9 id:160001 of https://codereview.chromium.org/2223203003/ )
Reason for revert:
specualtive revert to fix valgrind bot
Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind

Original issue's description:
> Remove generalized gradient code
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003
>
> Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d
> Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b
> Committed: https://skia.googlesource.com/skia/+/2a4959181fc98d5d7ee862e7cd1c7993b3343be6

TBR=bsalomon@google.com,fmenozzi@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/2245533005
2016-08-12 12:35:51 -07:00
fmalita
5b31f321fc [SVGDom] <polygon> & <polyline> support
R=robertphillips@google.com,stephana@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235273003

Review-Url: https://codereview.chromium.org/2235273003
2016-08-12 12:15:33 -07:00
egdaniel
3602d4f16a Allow vulkan to upload data to testing textures with optimal layouts
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2242553002

Review-Url: https://codereview.chromium.org/2242553002
2016-08-12 11:58:53 -07:00
vjiaoblack
772b5ee446 Added PointLights to SkLights::Light
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237493002

Review-Url: https://codereview.chromium.org/2237493002
2016-08-12 11:38:47 -07:00