Commit Graph

18902 Commits

Author SHA1 Message Date
robertphillips
42bd6bfd0d Remove duplicate GrProcessorUnitTest.cpp from gpu.gypi
This appears to be blocking the roll.

TBR=tomhudson@chromium.org

Review URL: https://codereview.chromium.org/1349683003
2015-09-16 05:42:40 -07:00
bsalomon
ae4738f677 Create fragment processor for performing input color blend with child processor
The new FP is used to implement SkXM::Mode color filters and SkXM::Mode image filters. Also, these now support all advanced SkXM::Mode xfermodes.

Review URL: https://codereview.chromium.org/1334293003
2015-09-15 15:33:27 -07:00
herb
cd7f035974 Revert of Parallel cache - preliminary (patchset #24 id:460001 of https://codereview.chromium.org/1264103003/ )
Reason for revert:
Breaks DrMemory in the chrome roll.

Original issue's description:
> Parallel cache.
>
> TBR=reed@google.com
>
> BUG=skia:1330,528560
>
> Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f
>
> Committed: https://skia.googlesource.com/skia/+/bf2988833e5a36c6b430da6fdd2cfebd0015adec
>
> Committed: https://skia.googlesource.com/skia/+/014ffdb01ea5317614a1569efc30c50f06434222

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

Review URL: https://codereview.chromium.org/1345903002
2015-09-15 15:15:41 -07:00
reed
013e9e3bb0 move SkBitmapProvider to its own file
BUG=skia:

Review URL: https://codereview.chromium.org/1346713002
2015-09-15 14:46:27 -07:00
bsalomon
0d705a4873 Fix vs2015 build
TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/1344203002
2015-09-15 14:41:15 -07:00
ericrk
0a5fa484fd Add onMemoryDump to GrContext
Adds an entry point to GrContext to allow enumeration and tracing of GPU resources
via the newly added SkTraceMemoryDump.

Plan is for Chrome to call this on each of its GrContexts.

Dumps both the total size of GPU resources, as well as the total purgeable size.

BUG=526261

Review URL: https://codereview.chromium.org/1313743002
2015-09-15 14:16:10 -07:00
joshualitt
eb00eaba0c fix up GrGLProgrambuilder precision on varyings
TBR=
BUG=skia:4347

Review URL: https://codereview.chromium.org/1344943002
2015-09-15 14:12:22 -07:00
hendrikw
caf2df8608 skia: ANGLE roll
Review URL: https://codereview.chromium.org/1337943008
2015-09-15 13:47:25 -07:00
reed
7a4d847558 use SkBitmapProvider for shader-context
BUG=skia:

Review URL: https://codereview.chromium.org/1343123005
2015-09-15 13:33:58 -07:00
mtklein
ca6f43b6fd vb: also thread --key through to .json
BUG=skia:

Review URL: https://codereview.chromium.org/1342203002
2015-09-15 13:29:20 -07:00
egdaniel
27b6335c71 On gpu, use max(r,g,b) for coverage alpha in LCD and update lcd blend gm.
BUG=skia:

Review URL: https://codereview.chromium.org/1339213004
2015-09-15 13:13:50 -07:00
jvanverth
fb1e2fc8aa Update params to get better packing for DF path atlas
Gets about a 4x speedup on desk_chalkboard.skp.

Review URL: https://codereview.chromium.org/1345823002
2015-09-15 13:11:11 -07:00
halcanary
435657fd62 Forward declare SkStrokeRec in SkPathEffect
Review URL: https://codereview.chromium.org/1312163008
2015-09-15 12:53:07 -07:00
reed
98ed7b6d01 create SkBitmapProvider to abstract images and bitmaps
BUG=skia:

Review URL: https://codereview.chromium.org/1340223003
2015-09-15 12:38:12 -07:00
fmalita
5598b63cd2 Convert unit tests, GMs from SkBitmapSource to SkImagesource
This removes SkBitmapSource clients within Skia.

http://crrev.com/1334173004 does the same for Blink, so we should be
able to remove SkBitmapSource in a follow-up.

R=reed@google.com,robertphillips@google.com,mtklein@google.com

Review URL: https://codereview.chromium.org/1343123002
2015-09-15 11:26:14 -07:00
robertphillips
30c4cae7d3 Add special case circle blur for Ganesh
This makes the blurcircles bench go from ~33us to ~8us on Windows desktop.

It will require layout test suppressions

Review URL: https://codereview.chromium.org/1311583005
2015-09-15 10:20:55 -07:00
mtklein
de5973b05b small tweaks to cmake_build
- streamline how we define $here
  - only make `cmake` when bootstrapping; it's a little less to build

BUG=skia:4269
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1345663004
2015-09-15 10:17:08 -07:00
egdaniel
723b0501e2 Add support for blending of LCD for all blend modes.
BUG=skia:

Review URL: https://codereview.chromium.org/1313623002
2015-09-15 09:31:40 -07:00
egdaniel
79bd2aee8c Minor fix to attaching stencils
BUG=skia:

Review URL: https://codereview.chromium.org/1344033002
2015-09-15 08:46:14 -07:00
jvanverth
f5d1b2de03 Add viewer mode to VisualBench.
Displays each benchmark/skp with a graph showing a series of frame times.
Use the space bar to skip to the next benchmark.

Adds an option to hit ESC to quit VisualBench. Useful in fullscreen mode.

Review URL: https://codereview.chromium.org/1336043003
2015-09-15 07:40:56 -07:00
herb
014ffdb01e Parallel cache.
TBR=reed@google.com

BUG=skia:1330,528560

Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f

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

Review URL: https://codereview.chromium.org/1264103003
2015-09-15 07:03:03 -07:00
benjaminwagner
474df7fc03 Add documentation of cs.skia.org.
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1332303005

Review URL: https://codereview.chromium.org/1332303005
2015-09-15 07:02:02 -07:00
fmalita
23cb88c52c Speculative fix for uninitialized bitmap mem in ImageFilterTest
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1341923003
2015-09-15 06:56:23 -07:00
mtklein
935121bd41 Let's try building the example app on the bots too.
BUG=skia:4269

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1344843002
2015-09-15 06:07:47 -07:00
Mike Klein
5d2be0df43 cmake_build is a bash script.
BUG=skia:4269

Review URL: https://codereview.chromium.org/1334203003 .
2015-09-15 08:29:02 -04:00
fmalita
5dd918bb6f Suppress test_imagegenerator_factory
Temporarily disable the test while we figure what (if anything) to do
about the SkImageGenerator gFactory race.

BUG=skia:4339
TBR=reed@google.com,mtklein@google.com

Review URL: https://codereview.chromium.org/1344693002
2015-09-14 14:51:04 -07:00
reed
2bcab82787 remove code from SK_SUPPORT_LEGACY_NEWFROMGENERATOR, eliminates caller of deprecated SkInstallDiscardablePixelRef
BUG=skia:

Review URL: https://codereview.chromium.org/1344663002
2015-09-14 13:54:39 -07:00
reed
48392b7c63 fix leaked generator
BUG=skia:4335

Review URL: https://codereview.chromium.org/1336353003
2015-09-14 13:41:23 -07:00
fmalita
cd56f812e0 SkImageSource
Blink is migrating away from SkBitmaps, so we need an SkImage-based
SkImageFilter source.  This is pretty much a 1-1 equivalent of
SkBitmapSource.

To avoid duplication, relocate the SkImage deserialization logic
from SkPictureData to SkReadBuffer.

R=reed@google.com,robertphillips@google.com,senorblanco@chromium.org

Review URL: https://codereview.chromium.org/1343703005
2015-09-14 13:31:18 -07:00
bsalomon
506c802a3d Add helper for creating leaf FPs inside GrFP::TestCreate functions
Review URL: https://codereview.chromium.org/1334273003
2015-09-14 13:16:26 -07:00
mtklein
07344a5386 Revert of SkPx: new approach to fixed-point SIMD (patchset #9 id:160001 of https://codereview.chromium.org/1317233005/ )
Reason for revert:
http://build.chromium.org/p/client.skia.compile/builders/Build-Mac10.8-Clang-Arm7-Debug-Android/builds/4627

Original issue's description:
> SkPx: new approach to fixed-point SIMD
>
> SkPx is like Sk4px, except each platform implementation of SkPx can declare
> a different sweet spot of N pixels, with extra loads and stores to handle the
> ragged edge of 0<n<N pixels.
>
> In this case, _sse's sweet spot remains 4 pixels.   _neon jumps up to 8 so
> we can now use NEON's transposing loads and stores, and _none is just 1.
> This makes operations involving alpha considerably more efficient on NEON,
> as alpha is its own distinct 8x8 bit plane that's easy to toss around.
>
> This incorporates a few other improvements I've been wanting:
>   - no requirement that we're dealing with SkPMColor.  SkColor works too.
>   - no anonymous namespace hack to differentiate implementations.
>
> Codegen and perf look good on Clang/x86-64 and GCC/ARMv7.
> The NEON code looks very similar to the old NEON code, as intended.
> No .skp or GM diffs on my laptop.  Don't expect any.
>
> I intend this to replace Sk4px.  Plan after landing:
>   - port SkXfermode_opts.h
>   - port Color32 in SkBlitRow_D32.cpp (and move to SkBlitRow_opts.h like other
>     SkOpts code)
>   - delete all Sk4px-related code
>   - clean up evolutionary dead ends in SkNx (Sk16b, Sk16h, Sk4i, Sk4d, etc.)
>     leaving Sk2f, Sk4f (and Sk2s, Sk4s).
>   - find a machine with AVX2 to work on, write SkPx_avx2.h handling 8 pixels
>     at a time.
>
> In the end we'll have Sk4f for float pixels, SkPx for fixed-point pixels.
>
> BUG=skia:4117
>
> Committed: https://skia.googlesource.com/skia/+/82c93b45ed6ac0b628adb8375389c202d1f586f9

TBR=mtklein@google.com,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4117

Review URL: https://codereview.chromium.org/1336423002
2015-09-14 13:14:31 -07:00
egdaniel
ec00d94199 Move some of the adding stencil attachment logic of Gpu and into Render Target.
The new flow of calls for attaching a Stencil looks like:

Client
  rt->attachStencilAttachment()
    gpu->getStencilAttachment()
      glgpu->createStencilAttachment()
    glrt->completeStencilAttachment() //actually attaches

BUG=skia:

Review URL: https://codereview.chromium.org/1333383002
2015-09-14 12:56:10 -07:00
rmistry
37497dc9de Update SkWhitelistChecksums.cpp with the checksums of the fonts on the CT slave machines.
This file was generated using the whitelist_typefaces tool.
I tried out this file on 3 of the 100
CT slaves and './out/Debug/whitelist_typefaces --check' successfully returned 0.

BUG=skia:4336

Review URL: https://codereview.chromium.org/1344553004
2015-09-14 12:50:22 -07:00
mtklein
82c93b45ed SkPx: new approach to fixed-point SIMD
SkPx is like Sk4px, except each platform implementation of SkPx can declare
a different sweet spot of N pixels, with extra loads and stores to handle the
ragged edge of 0<n<N pixels.

In this case, _sse's sweet spot remains 4 pixels.   _neon jumps up to 8 so
we can now use NEON's transposing loads and stores, and _none is just 1.
This makes operations involving alpha considerably more efficient on NEON,
as alpha is its own distinct 8x8 bit plane that's easy to toss around.

This incorporates a few other improvements I've been wanting:
  - no requirement that we're dealing with SkPMColor.  SkColor works too.
  - no anonymous namespace hack to differentiate implementations.

Codegen and perf look good on Clang/x86-64 and GCC/ARMv7.
The NEON code looks very similar to the old NEON code, as intended.
No .skp or GM diffs on my laptop.  Don't expect any.

I intend this to replace Sk4px.  Plan after landing:
  - port SkXfermode_opts.h
  - port Color32 in SkBlitRow_D32.cpp (and move to SkBlitRow_opts.h like other
    SkOpts code)
  - delete all Sk4px-related code
  - clean up evolutionary dead ends in SkNx (Sk16b, Sk16h, Sk4i, Sk4d, etc.)
    leaving Sk2f, Sk4f (and Sk2s, Sk4s).
  - find a machine with AVX2 to work on, write SkPx_avx2.h handling 8 pixels
    at a time.

In the end we'll have Sk4f for float pixels, SkPx for fixed-point pixels.

BUG=skia:4117

Review URL: https://codereview.chromium.org/1317233005
2015-09-14 12:43:20 -07:00
bsalomon
b5b603241a Test that GrFragmentProcessors work without input colors.
Committed: https://skia.googlesource.com/skia/+/72c58e7052af2a0855412ce4b249f977069db751

Review URL: https://codereview.chromium.org/1341853002
2015-09-14 12:26:34 -07:00
mtklein
0faed58bc7 cmake_build: support SKIA_OUT and BUILDTYPE
And, fix BUILDTYPE=Debug build.
EQUAL is for numbers, STREQUAL for strings.

BUG=skia:

Review URL: https://codereview.chromium.org/1341763003
2015-09-14 12:02:32 -07:00
bsalomon
59ce45fe79 Revert of Test that GrFragmentProcessors work without input colors. (patchset #2 id:20001 of https://codereview.chromium.org/1341853002/ )
Reason for revert:
Need to fix up more processor subclasses.

Original issue's description:
> Test that GrFragmentProcessors work without input colors.
>
> Committed: https://skia.googlesource.com/skia/+/72c58e7052af2a0855412ce4b249f977069db751

TBR=joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1338403003
2015-09-14 12:01:42 -07:00
bsalomon
72c58e7052 Test that GrFragmentProcessors work without input colors.
Review URL: https://codereview.chromium.org/1341853002
2015-09-14 11:55:52 -07:00
robertphillips
3833daaa66 Fix GPU-only snapping bug in mask blur rendering
The existing mask effect code in Ganesh is subject to snapping issues (when the created mask is redrawn). This artifact can be seen by rendering the original geometry (w/o blurs) and comparing that result to a rendering of the unblurred masks. W/o this patch the results do not match up (they are arbitrarily shifted by a pixel).

This patch will require rebaselining and suppressions.

Chromium layout tests suppressions are here:
https://codereview.chromium.org/1342683003/ (Add layout test suppressions for upcoming Skia roll)

Review URL: https://codereview.chromium.org/1338183002
2015-09-14 11:18:13 -07:00
reed
efd50daa28 impl preroll for all image backends
BUG=skia:

Review URL: https://codereview.chromium.org/1341043002
2015-09-14 11:17:23 -07:00
mtklein
5a744b7801 Have SkVarAlloc::alloc() use sk_malloc_throw.
Very right, it's not prepared to handle return-NULL mallocs at all.

BUG=530759

Review URL: https://codereview.chromium.org/1339093002
2015-09-14 11:11:17 -07:00
mtklein
a46ada5635 SkValidatingReadBuffer: make sure we don't call readTypeface().
Add an assert to make sure we're not calling this unimplemented method.

BUG=skia:3978

Review URL: https://codereview.chromium.org/1341753003
2015-09-14 11:09:43 -07:00
reed
8725e5366b fix leak in test
BUG=skia:4335

Review URL: https://codereview.chromium.org/1336763007
2015-09-14 10:53:24 -07:00
reed
995b4bddd9 be sure to use cached bitmap when we need to upload something to make a texture
BUG=skia:4334

Review URL: https://codereview.chromium.org/1338373002
2015-09-14 10:27:57 -07:00
mtklein
a22eabedef CMake bot script
- Add CMake v3.3.1 (latest) to DEPS.
 - Add cmake/bot-cmake.sh to bootstrap CMake then build Skia using that.

Works on my Mac and Linux box, both with no system CMake installation.

CMake will be ~100M on disk.  The first bootstrap takes a couple minutes,
and a no-op re-run of bot-cmake.sh takes 15-20 seconds.  I thought about
having bot-cmake.sh fetch CMake instead of DEPS, but I'm not sure I can
handle updates, etc. as robustly as it can.

This will only work on Linux and Mac.  CMake requires an older CMake on
Windows.  It doesn't have an equivalent ./bootstrap there.  Will have to
think about how Windows bots will work!

BUG=skia:4269

Review URL: https://codereview.chromium.org/1339603003
2015-09-14 10:02:50 -07:00
reed
3a100d3e4d we must own/free the generator, even if we fail to return a cacherator
BUG=skia:4332

Review URL: https://codereview.chromium.org/1345523002
2015-09-14 09:59:28 -07:00
reed
56f38fb7a9 disable kIndex_8 gpu support for now -- seems to always be slower
BUG=skia:4333

Review URL: https://codereview.chromium.org/1339103002
2015-09-14 09:09:00 -07:00
reed
74bd953719 discardable pixelrefs are gone, update tests accordingly
BUG=skia:4328

Review URL: https://codereview.chromium.org/1340803002
2015-09-14 08:52:12 -07:00
mtklein
4c9281d103 remove dead code not mentioned in any GYP
BUG=skia:

Review URL: https://codereview.chromium.org/1340563003
2015-09-14 06:33:47 -07:00
update-skps
89bdca7532 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

Review URL: https://codereview.chromium.org/1338933002
2015-09-13 14:05:54 -07:00