Commit Graph

19587 Commits

Author SHA1 Message Date
mtklein
988adddd48 Fix UB in SkDivBits
DIVBITS_ITER was shifting bits up into the sign bit, which is a no-no.
This turns numer into a uint32_t to make those defined, and adds a few notes.

x >= 0 is always true for unsigned x, so we needed a few small logic refactors.

BUG=skia:3562

Review URL: https://codereview.chromium.org/1455163004
2015-11-18 09:56:28 -08:00
mtklein
835c1b69a2 Clean up dead code: PictureRenderer
Doesn't appear to actually be used by anything.

BUG=skia:

Review URL: https://codereview.chromium.org/1457753002
2015-11-18 09:41:06 -08:00
egdaniel
4ca2e60343 Add ShaderBuilders to EmitArgs and remove gettings from ProgBuilder.
BUG=skia:

Review URL: https://codereview.chromium.org/1457543003
2015-11-18 08:01:26 -08:00
mtklein
accaf480c3 stifle Math test on Mac bot too
BUG=skia:3562

Review URL: https://codereview.chromium.org/1454093002
2015-11-18 07:56:30 -08:00
mtklein
f19385387d Clean up dead code: filter.
We haven't used this since at least landing the new SkPicture backend.

BUG=skia:

Review URL: https://codereview.chromium.org/1459583003
2015-11-18 07:45:09 -08:00
rmistry
7224ae9d51 Update all code site issue tracker links to point to bug.skia.org
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1461613002

Review URL: https://codereview.chromium.org/1461613002
2015-11-18 06:47:11 -08:00
mtklein
f970ad6ee1 Clean up dead code: render_pdfs.
DM can do this.

BUG=skia:

Review URL: https://codereview.chromium.org/1461633002
2015-11-18 06:39:01 -08:00
stephana
9c08b9d3f0 Revert of Parametric contour start GM (patchset #1 id:1 of https://codereview.chromium.org/1457503002/ )
Reason for revert:
Breaks unit test across various platforms:

../../../src/gpu/batches/GrStencilAndCoverPathRenderer.cpp:75: failed assertion "path->isEqualTo(skPath, stroke)"

Original issue's description:
> Parametric contour start GM
>
> A GM to capture the newly added SkPath API.
>
> BUG=chromium:315277
> R=caryclark@google.com,reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/56847a65648af4d06da9c26c55242949a1bf31ab

TBR=caryclark@google.com,reed@google.com,fmalita@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:315277

Review URL: https://codereview.chromium.org/1456973002
2015-11-18 06:21:35 -08:00
hcm
059dbe1a31 Update issue tracker in docs
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1462493002

Review URL: https://codereview.chromium.org/1462493002
2015-11-18 05:04:08 -08:00
kkinnunen
4e18413b78 Move SkImage tests from SurfaceTest to ImageTest
The general SkImage features seem to be tested in
ImageTest instead of SurfaceTest.

Helps in reviewing further reformatting of SurfaceTest.

BUG=skia:2992

Review URL: https://codereview.chromium.org/1452123002
2015-11-17 22:53:28 -08:00
mtklein
cbf4fba439 div255(x) as ((x+128)*257)>>16 with SSE
_mm_mulhi_epu16 makes the (...*257)>>16 part simple.
This seems to speed up every transfermode that uses div255(),
in the 7-25% range.

It even appears to obviate the need for approxMulDiv255() on SSE.
I'm not sure about NEON yet, so I'll keep approxMulDiv255() for now.

Should be no pixels change:
https://gold.skia.org/search2?issue=1452903004&unt=true&query=source_type%3Dgm&master=false

BUG=skia:
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1452903004
2015-11-17 14:19:52 -08:00
fmalita
56847a6564 Parametric contour start GM
A GM to capture the newly added SkPath API.

BUG=chromium:315277
R=caryclark@google.com,reed@google.com

Review URL: https://codereview.chromium.org/1457503002
2015-11-17 13:15:42 -08:00
joshualitt
3622d41703 fix ninepatch iter from generating invalid rects
BUG=skia:

Review URL: https://codereview.chromium.org/1451183004
2015-11-17 12:11:57 -08:00
mtklein
f769c1f80e trim some fat from SSE2 fixed point alpha code
- extract alpha from a pixel: 5 1-cycle ops to 4 1-cycle ops
  - load alphas: drop 4 unnecessary ops

Should be no pixel diffs.

BUG=skia:
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1447273004
2015-11-17 12:05:57 -08:00
fmalita
32d6b87616 SkTextBlob should store per-run text alignment
SkPaint::Align is only observed for kDefault_Positioning AFAICT, but
part of the run logical font nevertheless.

BUG=skia:4567
R=mtklein@google.com,halcanary@google.com

Review URL: https://codereview.chromium.org/1447403003
2015-11-17 11:39:32 -08:00
msarett
5af4e0bc8f Make SkAndroidCodec support gif
Involves a few bug fixes in SkCodec_libgif and a bit more
complexity in SkSwizzler.

BUG=skia:4405

Review URL: https://codereview.chromium.org/1445313002
2015-11-17 11:18:03 -08:00
fmalita
c08d53ee17 Parametric SkPath oval/rect/rrect starting point
Extend the SkPath API to allow specifying the contour starting point.

This will allow removing the explicit cubic code from Blink/Path.

BUG=chromium:315277
R=reed@google.com,caryclark@google.com

Review URL: https://codereview.chromium.org/1452203002
2015-11-17 09:53:29 -08:00
kkinnunen
83a5d424ae Fix skia_gpu=0 build (samplecode/SampleAnimatedText.cpp)
Fix skia_gpu=0 build (samplecode/SampleAnimatedText.cpp).

Review URL: https://codereview.chromium.org/1454653002
2015-11-17 09:38:05 -08:00
msarett
887e18e5f7 Make SkAndroidCodec support bmp
BUG=skia:

Review URL: https://codereview.chromium.org/1443783002
2015-11-17 08:46:02 -08:00
mtklein
195fe08421 simplify BlendTest.cpp
- streamline the testing down to just byte multiplies
    (that's always where the blend algorithms vary)
  - add another approximate multiply (x*y+255)>>8
  - add another variant of the perfect multiply, ((x*y+128)*257)>>16

I've realized ((x*y+128)*257)>>16 might be just as fast in SSE/NEON
as our current (x*y+x)>>8 approximation.  Good to be testing it here.

BUG=skia:

Review URL: https://codereview.chromium.org/1453043005
2015-11-17 08:39:01 -08:00
reed
f3182ebc72 Implement multi-color-stops in linear gradients using Sk4f
#define SK_SUPPORT_LEGACY_LINEAR_GRADIENT_TABLE to restore the old behavior

BUG=skia:517

Review URL: https://codereview.chromium.org/1436663003
2015-11-17 08:12:19 -08:00
msarett
44509faece Disable testcase7.bmp on SkImageDecoder and clean up dm_flags
testcase7.bmp leaves uninitialized memory.

Also remove "subset" dm flags.  The "subset" test no longer
exists.

BUG=skia:

Review URL: https://codereview.chromium.org/1446303002
2015-11-17 07:36:11 -08:00
scroggo
ee10a42a2a Add decodeYUV8Planes to SkImageDecoder_empty
BUG=skia:4562

Review URL: https://codereview.chromium.org/1456603002
2015-11-17 07:34:40 -08:00
djsollen
aa6f739c99 Respect SkPictureRecorder::kPlaybackDrawPicture_RecordFlag for SkDrawables
Review URL: https://codereview.chromium.org/1452193002
2015-11-17 06:18:31 -08:00
caryclark
1970358b6d Revert of Enable temporarily disabled GpuDrawPathTest (patchset #1 id:1 of https://codereview.chromium.org/1447973002/ )
Reason for revert:
broke windows builds

Original issue's description:
> Enable temporarily disabled GpuDrawPathTest
>
> Enable temporarily disabled GpuDrawPathTest.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d6346290c2ef59abee453a72f3e91b4e7b62f4fa

TBR=jvanverth@google.com,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1456463003
2015-11-17 04:28:15 -08:00
kkinnunen
d6346290c2 Enable temporarily disabled GpuDrawPathTest
Enable temporarily disabled GpuDrawPathTest.

BUG=skia:

Review URL: https://codereview.chromium.org/1447973002
2015-11-16 22:12:39 -08:00
reed
a5d120769b add caps option 'k' to FatBits
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1452973002
2015-11-16 18:57:19 -08:00
mtklein
ee9fe1e6f3 De-spam SkOpts.cpp
- stop printing when we detect sse4.2 and avx2
  - that TODO is pretty well done

BUG=skia:

Review URL: https://codereview.chromium.org/1445343002
2015-11-16 17:28:55 -08:00
mtklein
1e5cbf2af7 update iOS build flags
This makes it match OS X build more closely.
The most important change is that CLANG_CXX_LIBRARY sets -stdlib=libc++
for both the compiler and the linker.

BUG=skia:

Review URL: https://codereview.chromium.org/1451913002
2015-11-16 16:20:34 -08:00
mtklein
14102ca4cf __vectorcall needs SSE
We don't have builders in this mode, but Mozilla does.

BUG=skia:4563

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

Review URL: https://codereview.chromium.org/1445283002
2015-11-16 16:20:29 -08:00
msarett
33c7623324 Make SkAndroidCodec support wbmp
BUG=skia:

Review URL: https://codereview.chromium.org/1445643002
2015-11-16 13:43:40 -08:00
caryclark
3257c12220 runs some sample animations side by side in canvas and svg
TBR=fmalita@chromium.org

Review URL: https://codereview.chromium.org/1342523002
2015-11-16 13:36:08 -08:00
msarett
73d882e13f Only support jpeg, png, and webp for BRD
This a safety check to ensure that we don't accidentally ship subset
decoders for non-required formats.

BUG=skia:

Review URL: https://codereview.chromium.org/1446543002
2015-11-16 13:30:20 -08:00
reed
31b80a9dc6 increase pre-allocated MCRecs to match common android calling pattern
BUG=skia:

Review URL: https://codereview.chromium.org/1450093002
2015-11-16 13:22:24 -08:00
mtklein
566b23c571 Revert of skstd -> std for unique_ptr (patchset #9 id:160001 of https://codereview.chromium.org/1436033003/ )
Reason for revert:
10.9 bots are too old too.

Original issue's description:
> skstd -> std for unique_ptr
>
> TBR=reed@google.com
> No public API changes.
>
> BUG=skia:4564
>
> Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50

TBR=bungeman@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4564

Review URL: https://codereview.chromium.org/1446413002
2015-11-16 13:05:37 -08:00
mtklein
755c553c17 skstd -> std for unique_ptr
TBR=reed@google.com
No public API changes.

BUG=skia:4564

Review URL: https://codereview.chromium.org/1436033003
2015-11-16 12:57:52 -08:00
mtklein
56da025020 Switch uses of SkChecksum::Compute to Murmur3.
SkChecksum::Compute is a very, very poorly distributed hash function.
This replaces all remaining uses with Murmur3.

The only interesting stuff is in src/gpu.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/1d024a3c909ae5cefa5e8b339e2b52dc73ee85ac

Committed: https://skia.googlesource.com/skia/+/540e95483d285b555e9b1a73d18c16e7d7c0deba

Review URL: https://codereview.chromium.org/1436973003
2015-11-16 11:16:23 -08:00
robertphillips
504ce5dc77 Optionally pass rendertarget to getTestTarget
This shouldn't really make any difference but allocating and holding on to a GrRenderTarget for each test target generates image differences for Mali GPUs. This CL allows an existing render target to be used for the test target.

TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1447113002
2015-11-16 11:02:05 -08:00
mtklein
3c2d32b8e2 Revert of Switch uses of SkChecksum::Compute to Murmur3. (patchset #2 id:20001 of https://codereview.chromium.org/1436973003/ )
Reason for revert:
gotta put back *compute = 0.

Original issue's description:
> Switch uses of SkChecksum::Compute to Murmur3.
>
> SkChecksum::Compute is a very, very poorly distributed hash function.
> This replaces all remaining uses with Murmur3.
>
> The only interesting stuff is in src/gpu.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/1d024a3c909ae5cefa5e8b339e2b52dc73ee85ac
>
> Committed: https://skia.googlesource.com/skia/+/540e95483d285b555e9b1a73d18c16e7d7c0deba

TBR=bsalomon@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1448023005
2015-11-16 11:01:18 -08:00
halcanary
05b48e2a24 SkPDF: fix large-number bug
Example:
        https://fiddle.skia.org/c/db95a3f6c928017635c4f4ddf25f2a7b

BUG=skia:257

Review URL: https://codereview.chromium.org/1438503002
2015-11-16 10:51:21 -08:00
mtklein
540e95483d Switch uses of SkChecksum::Compute to Murmur3.
SkChecksum::Compute is a very, very poorly distributed hash function.
This replaces all remaining uses with Murmur3.

The only interesting stuff is in src/gpu.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/1d024a3c909ae5cefa5e8b339e2b52dc73ee85ac

Review URL: https://codereview.chromium.org/1436973003
2015-11-16 09:08:21 -08:00
robertphillips
e004bfc0a5 Increase the amount of debug information printed out by batches
Untangling MDB bugs requires more information. In particular the render targets.

BUG=skia:4094
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1443763002
2015-11-16 09:06:59 -08:00
msarett
a7a21cffe1 Disable incomplete image tests in nanobench
BUG=skia:

Review URL: https://codereview.chromium.org/1448893003
2015-11-16 08:43:23 -08:00
bsalomon
a779ef1677 Fix for chrome's skia gl bindings code.
TBR=egdaniel@google.com
NOTRY=true

Review URL: https://codereview.chromium.org/1451743002
2015-11-16 08:28:21 -08:00
halcanary
b5002394d1 Documentation: Further cleanup
*   /user/download: remove instruction to compile and run skia
    tests - moved to /user/quick/${OS}

*   /user/quick/desktop: move Gyp options to a section in the
    FAQ (distracts from quick start narritive).

*   /user/tips: reformat, rewrite.

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1443653002

Review URL: https://codereview.chromium.org/1443653002
2015-11-16 07:37:23 -08:00
bsalomon
b1a32ad517 Add support for EGLImage to GrGLInterface
BUG=skia:

Review URL: https://codereview.chromium.org/1434813002
2015-11-16 06:48:44 -08:00
robertphillips
0dfa62c977 Update testing frameworks/tests for MDB
This CL:

Fixes an ordering problem w.r.t. drawTarget clean up in GrContext::abandonContext (for text test that abandons context)
Fixes when the lastDrawTarget field is set on a RenderTarget (now in GrDrawTarget ctor) due to GrTestTarget use case
Updates the ProgramUnitTest to use multiple drawTargets
Adds renderTarget creation to GrTestTargets (in MDB drawTargets require them)

BUG=skia:4094

Committed: https://skia.googlesource.com/skia/+/9c8605144a0f15e3e69a4e1dcd5d3e63f339380e

Review URL: https://codereview.chromium.org/1441533003
2015-11-16 06:23:31 -08:00
update-skps
e4d1770e30 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

Review URL: https://codereview.chromium.org/1446043002
2015-11-16 05:20:53 -08:00
egdaniel
1d51273271 Revert of Update testing frameworks/tests for MDB (patchset #4 id:60001 of https://codereview.chromium.org/1441533003/ )
Reason for revert:
Speculative revert for leaks based on ASAN bot (and some local valgrind testing)

Original issue's description:
> Update testing frameworks/tests for MDB
>
> This CL:
>
> Fixes an ordering problem w.r.t. drawTarget clean up in GrContext::abandonContext (for text test that abandons context)
> Fixes when the lastDrawTarget field is set on a RenderTarget (now in GrDrawTarget ctor) due to GrTestTarget use case
> Updates the ProgramUnitTest to use multiple drawTargets
> Adds renderTarget creation to GrTestTargets (in MDB drawTargets require them)
>
> BUG=skia:4094
>
> Committed: https://skia.googlesource.com/skia/+/9c8605144a0f15e3e69a4e1dcd5d3e63f339380e

TBR=joshualitt@chromium.org,joshualitt@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4094

Review URL: https://codereview.chromium.org/1450513002
2015-11-13 13:42:55 -08:00
benjaminwagner
fa7e1a02a5 Fix BUILD.public INCLUDES after https://codereview.chromium.org/1438873002
BUG=skia:

Review URL: https://codereview.chromium.org/1445463003
2015-11-13 12:27:08 -08:00