reed [Thu, 17 Sep 2015 20:27:44 +0000 (13:27 -0700)]
remove racy tests, as they assume the cache can't be purged behind their back
If I explicitly purge the resource-cache after every DM, these tests fail (sporadically)
.
BUG=skia:
Review URL: https://codereview.chromium.org/
1350143002
joshualitt [Thu, 17 Sep 2015 18:50:57 +0000 (11:50 -0700)]
add a ClassID function to GrBatch
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
4078d529e9e199eea13456db7bf3a63a104ab5b9
Review URL: https://codereview.chromium.org/
1352813003
joshualitt [Thu, 17 Sep 2015 18:43:01 +0000 (11:43 -0700)]
Revert of add a ClassID function to GrBatch (patchset #5 id:80001 of https://codereview.chromium.org/
1352813003/ )
Reason for revert:
breaks mac bot
Original issue's description:
> add a ClassID function to GrBatch
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
4078d529e9e199eea13456db7bf3a63a104ab5b9
TBR=robertphillips@google.com,bsalomon@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1345393003
joshualitt [Thu, 17 Sep 2015 18:21:17 +0000 (11:21 -0700)]
add a ClassID function to GrBatch
BUG=skia:
Review URL: https://codereview.chromium.org/
1352813003
robertphillips [Thu, 17 Sep 2015 18:21:06 +0000 (11:21 -0700)]
Fix Ganesh perspective projection bug
BUG=skia:3326
Review URL: https://codereview.chromium.org/
1352883002
tomhudson [Thu, 17 Sep 2015 15:28:15 +0000 (08:28 -0700)]
DOC: Mention install_dependencies in Android quickstart
Embeds #prerequisites anchor in Linux so we don't duplicate the details.
TBR=hcm,jcgregorio
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1342263004
Review URL: https://codereview.chromium.org/
1342263004
reed [Wed, 16 Sep 2015 20:18:41 +0000 (13:18 -0700)]
disable test for all quality levels, since it is driver dependent
BUG=skia:
TBR=robertphilips
Review URL: https://codereview.chromium.org/
1352543003
reed [Wed, 16 Sep 2015 19:53:29 +0000 (12:53 -0700)]
have raster-image return itself as a texture
This tickles skbug.com/4351, but we don't know how to fix that yet, so we think this CL is ok.
BUG=skia:
Review URL: https://codereview.chromium.org/
1348023004
reed [Wed, 16 Sep 2015 19:50:27 +0000 (12:50 -0700)]
add test for skbug.com/4351
BUG=skia:4351
Review URL: https://codereview.chromium.org/
1352613002
reed [Wed, 16 Sep 2015 17:09:24 +0000 (10:09 -0700)]
share code between SkGr and Cacherator
BUG=skia:
Review URL: https://codereview.chromium.org/
1351533004
joshualitt [Wed, 16 Sep 2015 15:55:21 +0000 (08:55 -0700)]
minor cleanup
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/
1348773003
herb [Wed, 16 Sep 2015 15:21:15 +0000 (08:21 -0700)]
Use atomic subtract in shared mutex.
BUG=skia:
Review URL: https://codereview.chromium.org/
1348173003
herb [Wed, 16 Sep 2015 14:46:17 +0000 (07:46 -0700)]
Add subtract to atomics.
BUG=skia:
Review URL: https://codereview.chromium.org/
1348113004
robertphillips [Wed, 16 Sep 2015 12:42:40 +0000 (05:42 -0700)]
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
bsalomon [Tue, 15 Sep 2015 22:33:27 +0000 (15:33 -0700)]
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
herb [Tue, 15 Sep 2015 22:15:40 +0000 (15:15 -0700)]
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
reed [Tue, 15 Sep 2015 21:46:27 +0000 (14:46 -0700)]
move SkBitmapProvider to its own file
BUG=skia:
Review URL: https://codereview.chromium.org/
1346713002
bsalomon [Tue, 15 Sep 2015 21:41:15 +0000 (14:41 -0700)]
Fix vs2015 build
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/
1344203002
ericrk [Tue, 15 Sep 2015 21:16:10 +0000 (14:16 -0700)]
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
joshualitt [Tue, 15 Sep 2015 21:12:22 +0000 (14:12 -0700)]
fix up GrGLProgrambuilder precision on varyings
TBR=
BUG=skia:4347
Review URL: https://codereview.chromium.org/
1344943002
hendrikw [Tue, 15 Sep 2015 20:47:25 +0000 (13:47 -0700)]
skia: ANGLE roll
Review URL: https://codereview.chromium.org/
1337943008
reed [Tue, 15 Sep 2015 20:33:58 +0000 (13:33 -0700)]
use SkBitmapProvider for shader-context
BUG=skia:
Review URL: https://codereview.chromium.org/
1343123005
mtklein [Tue, 15 Sep 2015 20:29:20 +0000 (13:29 -0700)]
vb: also thread --key through to .json
BUG=skia:
Review URL: https://codereview.chromium.org/
1342203002
egdaniel [Tue, 15 Sep 2015 20:13:50 +0000 (13:13 -0700)]
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
jvanverth [Tue, 15 Sep 2015 20:11:11 +0000 (13:11 -0700)]
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
halcanary [Tue, 15 Sep 2015 19:53:07 +0000 (12:53 -0700)]
Forward declare SkStrokeRec in SkPathEffect
Review URL: https://codereview.chromium.org/
1312163008
reed [Tue, 15 Sep 2015 19:38:12 +0000 (12:38 -0700)]
create SkBitmapProvider to abstract images and bitmaps
BUG=skia:
Review URL: https://codereview.chromium.org/
1340223003
fmalita [Tue, 15 Sep 2015 18:26:13 +0000 (11:26 -0700)]
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
robertphillips [Tue, 15 Sep 2015 17:20:55 +0000 (10:20 -0700)]
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
mtklein [Tue, 15 Sep 2015 17:17:08 +0000 (10:17 -0700)]
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
egdaniel [Tue, 15 Sep 2015 16:31:40 +0000 (09:31 -0700)]
Add support for blending of LCD for all blend modes.
BUG=skia:
Review URL: https://codereview.chromium.org/
1313623002
egdaniel [Tue, 15 Sep 2015 15:46:13 +0000 (08:46 -0700)]
Minor fix to attaching stencils
BUG=skia:
Review URL: https://codereview.chromium.org/
1344033002
jvanverth [Tue, 15 Sep 2015 14:40:56 +0000 (07:40 -0700)]
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
herb [Tue, 15 Sep 2015 14:03:03 +0000 (07:03 -0700)]
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
benjaminwagner [Tue, 15 Sep 2015 14:02:02 +0000 (07:02 -0700)]
Add documentation of cs.skia.org.
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1332303005
Review URL: https://codereview.chromium.org/
1332303005
fmalita [Tue, 15 Sep 2015 13:56:23 +0000 (06:56 -0700)]
Speculative fix for uninitialized bitmap mem in ImageFilterTest
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
1341923003
mtklein [Tue, 15 Sep 2015 13:07:47 +0000 (06:07 -0700)]
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
Mike Klein [Tue, 15 Sep 2015 12:29:02 +0000 (08:29 -0400)]
cmake_build is a bash script.
BUG=skia:4269
Review URL: https://codereview.chromium.org/
1334203003 .
fmalita [Mon, 14 Sep 2015 21:51:04 +0000 (14:51 -0700)]
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
reed [Mon, 14 Sep 2015 20:54:39 +0000 (13:54 -0700)]
remove code from SK_SUPPORT_LEGACY_NEWFROMGENERATOR, eliminates caller of deprecated SkInstallDiscardablePixelRef
BUG=skia:
Review URL: https://codereview.chromium.org/
1344663002
reed [Mon, 14 Sep 2015 20:41:23 +0000 (13:41 -0700)]
fix leaked generator
BUG=skia:4335
Review URL: https://codereview.chromium.org/
1336353003
fmalita [Mon, 14 Sep 2015 20:31:18 +0000 (13:31 -0700)]
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
bsalomon [Mon, 14 Sep 2015 20:16:26 +0000 (13:16 -0700)]
Add helper for creating leaf FPs inside GrFP::TestCreate functions
Review URL: https://codereview.chromium.org/
1334273003
mtklein [Mon, 14 Sep 2015 20:14:31 +0000 (13:14 -0700)]
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
egdaniel [Mon, 14 Sep 2015 19:56:10 +0000 (12:56 -0700)]
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
rmistry [Mon, 14 Sep 2015 19:50:22 +0000 (12:50 -0700)]
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
mtklein [Mon, 14 Sep 2015 19:43:20 +0000 (12:43 -0700)]
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
bsalomon [Mon, 14 Sep 2015 19:26:33 +0000 (12:26 -0700)]
Test that GrFragmentProcessors work without input colors.
Committed: https://skia.googlesource.com/skia/+/
72c58e7052af2a0855412ce4b249f977069db751
Review URL: https://codereview.chromium.org/
1341853002
mtklein [Mon, 14 Sep 2015 19:02:32 +0000 (12:02 -0700)]
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
bsalomon [Mon, 14 Sep 2015 19:01:42 +0000 (12:01 -0700)]
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
bsalomon [Mon, 14 Sep 2015 18:55:51 +0000 (11:55 -0700)]
Test that GrFragmentProcessors work without input colors.
Review URL: https://codereview.chromium.org/
1341853002
robertphillips [Mon, 14 Sep 2015 18:18:13 +0000 (11:18 -0700)]
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
reed [Mon, 14 Sep 2015 18:17:23 +0000 (11:17 -0700)]
impl preroll for all image backends
BUG=skia:
Review URL: https://codereview.chromium.org/
1341043002
mtklein [Mon, 14 Sep 2015 18:11:17 +0000 (11:11 -0700)]
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
mtklein [Mon, 14 Sep 2015 18:09:42 +0000 (11:09 -0700)]
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
reed [Mon, 14 Sep 2015 17:53:24 +0000 (10:53 -0700)]
fix leak in test
BUG=skia:4335
Review URL: https://codereview.chromium.org/
1336763007
reed [Mon, 14 Sep 2015 17:27:57 +0000 (10:27 -0700)]
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
mtklein [Mon, 14 Sep 2015 17:02:50 +0000 (10:02 -0700)]
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
reed [Mon, 14 Sep 2015 16:59:28 +0000 (09:59 -0700)]
we must own/free the generator, even if we fail to return a cacherator
BUG=skia:4332
Review URL: https://codereview.chromium.org/
1345523002
reed [Mon, 14 Sep 2015 16:09:00 +0000 (09:09 -0700)]
disable kIndex_8 gpu support for now -- seems to always be slower
BUG=skia:4333
Review URL: https://codereview.chromium.org/
1339103002
reed [Mon, 14 Sep 2015 15:52:12 +0000 (08:52 -0700)]
discardable pixelrefs are gone, update tests accordingly
BUG=skia:4328
Review URL: https://codereview.chromium.org/
1340803002
mtklein [Mon, 14 Sep 2015 13:33:47 +0000 (06:33 -0700)]
remove dead code not mentioned in any GYP
BUG=skia:
Review URL: https://codereview.chromium.org/
1340563003
update-skps [Sun, 13 Sep 2015 21:05:54 +0000 (14:05 -0700)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=
NO_MERGE_BUILDS
Review URL: https://codereview.chromium.org/
1338933002
reed [Sun, 13 Sep 2015 18:03:32 +0000 (11:03 -0700)]
formalize generate->bitmap
just move block of code to expose it
BUG=skia:4328
TBR=
Review URL: https://codereview.chromium.org/
1334033004
reed [Sat, 12 Sep 2015 16:55:30 +0000 (09:55 -0700)]
remove obsolete samples
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1340793002
Hal Canary [Sat, 12 Sep 2015 00:49:00 +0000 (20:49 -0400)]
sync-and-gyp: Update shell script to correct the syntax of functions
R=halcanary@gmail.com
Review URL: https://codereview.chromium.org/
1342543003 .
hendrikw [Fri, 11 Sep 2015 20:07:29 +0000 (13:07 -0700)]
skia: Add ANGLE with GL backend to nanobench/DM
This will allow us to test this without hacking it in, might be useful
for others too.
Review URL: https://codereview.chromium.org/
1338003002
joshualitt [Fri, 11 Sep 2015 18:52:17 +0000 (11:52 -0700)]
move GrGLPathProcessor back into GrPathProcessor
BUG=skia:
Review URL: https://codereview.chromium.org/
1333423003
reed [Fri, 11 Sep 2015 18:47:27 +0000 (11:47 -0700)]
support colortables in cacherator
BUG=skia:
TBR=scroggo
Review URL: https://codereview.chromium.org/
1339753002
joshualitt [Fri, 11 Sep 2015 18:45:01 +0000 (11:45 -0700)]
remove path specific program building classes
BUG=skia:
Review URL: https://codereview.chromium.org/
1336763003
benjaminwagner [Fri, 11 Sep 2015 17:56:24 +0000 (10:56 -0700)]
Provide link to worker logs.
BUG=skia:4063
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1338823002
Review URL: https://codereview.chromium.org/
1338823002
joshualitt [Fri, 11 Sep 2015 17:44:13 +0000 (10:44 -0700)]
Start trying to collapse path program stuff
BUG=skia:
Review URL: https://codereview.chromium.org/
1333273003
msarett [Fri, 11 Sep 2015 16:01:16 +0000 (09:01 -0700)]
Remove jpegs with uninitialized memory from Gold
BitmapRegionSampler (uses SkImageDecoder) will often scale
to a power of 2 regardless of the sampleSize requested.
This is skbug.com/4319.
Consider a 60x60 image.
To decode a subset with sample size 3, we might ask for the
following.
[x, y, w, h] = [-15, -15, 30, 30]
sampleSize = 3
Since w = 30 and h = 30, this should give us a 10x10
result. Only the bottom right 5x5 quadrant of this 10x10
subset will actually be in the image. We should get a 5
pixel border on the top and left because we ask for 15
extra pixels on the top and left.
Unfortunately, SkImageDecoder will take our requested
sample size of 3, and then decide to use a sample size of
2. Not only will it scale the image by 2, but it will also
scale the border by 2. So while we are expecting pixel
data to begin at offset (5, 5) of the result bitmap, it
actually begins at offset (7, 7). Making things worse,
the pixels between (5, 5) and (7, 7) are uninitialized,
causing problems on Gold.
Options for fixing this include:
(1) Not testing decodes with a border.
(2) Changing the test to check the size of the output
bitmap.
(3) Disable the tests.
I think it's best to just disable these tests. We know
they don't work, so why do we need to see the results on
Gold?
BUG=skia:4319
Review URL: https://codereview.chromium.org/
1313233007
joshualitt [Fri, 11 Sep 2015 15:19:35 +0000 (08:19 -0700)]
Remove batchtracker
BUG=skia:
Review URL: https://codereview.chromium.org/
1332923003
reed [Fri, 11 Sep 2015 15:19:23 +0000 (08:19 -0700)]
increase resource image-cache size to test perf
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1332393002
jyasskin [Fri, 11 Sep 2015 01:11:29 +0000 (18:11 -0700)]
Revert of Parallel cache - preliminary (patchset #23 id:440001 of https://codereview.chromium.org/
1264103003/ )
Also reverts https://codereview.chromium.org/
1333003002/ which was layered on top.
Reason for revert:
Appears to leak GDI handles: http://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Unit%20%28DrMemory%20full%29%20%282%29/builds/8247
~~Dr.M~~ Error #1: HANDLE LEAK: GDI handle 0x03050a84 and 3 similar handle(s) were opened but not closed:
~~Dr.M~~ # 0 system call NtGdiCreateDIBSection
~~Dr.M~~ # 1 GDI32.dll!CreateDIBSection +0xdc (0x768ead23 <GDI32.dll+0x1ad23>)
~~Dr.M~~ # 2 skia.dll!HDCOffscreen::draw [third_party\skia\src\ports\skfonthost_win.cpp:499]
~~Dr.M~~ # 3 skia.dll!SkScalerContext_GDI::generateImage [third_party\skia\src\ports\skfonthost_win.cpp:1233]
~~Dr.M~~ # 4 skia.dll!SkScalerContext::getImage [third_party\skia\src\core\skscalercontext.cpp:530]
~~Dr.M~~ # 5 skia.dll!SkGlyphCache::OnceFillInImage [third_party\skia\src\core\skglyphcache.cpp:252]
~~Dr.M~~ # 6 skia.dll!sk_once_slow<> [third_party\skia\include\core\skonce.h:76]
~~Dr.M~~ # 7 skia.dll!SkGlyphCache::findImage [third_party\skia\src\core\skglyphcache.cpp:260]
~~Dr.M~~ # 8 skia.dll!D1G_RectClip [third_party\skia\src\core\skdraw.cpp:1479]
~~Dr.M~~ # 9 skia.dll!SkDraw::drawPosText [third_party\skia\src\core\skdraw.cpp:1838]
~~Dr.M~~ #10 skia.dll!SkBitmapDevice::drawPosText [third_party\skia\src\core\skbitmapdevice.cpp:348]
~~Dr.M~~ #11 skia.dll!SkCanvas::onDrawPosText [third_party\skia\src\core\skcanvas.cpp:2433]
~~Dr.M~~ #12 skia.dll!SkCanvas::drawPosText [third_party\skia\src\core\skcanvas.cpp:2507]
~~Dr.M~~ #13 skia.dll!SkRecords::Draw::draw<> [third_party\skia\src\core\skrecorddraw.cpp:109]
~~Dr.M~~ #14 skia.dll!SkRecord::Record::visit<> [third_party\skia\src\core\skrecord.h:170]
~~Dr.M~~ #15 skia.dll!SkRecordDraw [third_party\skia\src\core\skrecorddraw.cpp:55]
~~Dr.M~~ #16 skia.dll!SkBigPicture::playback [third_party\skia\src\core\skbigpicture.cpp:43]
~~Dr.M~~ #17 skia.dll!SkCanvas::onDrawPicture [third_party\skia\src\core\skcanvas.cpp:2800]
~~Dr.M~~ #18 skia.dll!SkCanvas::drawPicture [third_party\skia\src\core\skcanvas.cpp:2770]
~~Dr.M~~ #19 cc.dll!cc::DrawingDisplayItem::Raster [cc\playback\drawing_display_item.cc:51]
~~Dr.M~~ #20 cc.dll!cc::DisplayItemList::Raster [cc\playback\display_item_list.cc:107]
~~Dr.M~~ #21 cc.dll!cc::DisplayListRasterSource::RasterCommon [cc\playback\display_list_raster_source.cc:122]
~~Dr.M~~ #22 cc.dll!cc::DisplayListRasterSource::PlaybackToCanvas [cc\playback\display_list_raster_source.cc:100]
~~Dr.M~~ #23 cc.dll!cc::TileTaskWorkerPool::PlaybackToMemory [cc\raster\tile_task_worker_pool.cc:208]
~~Dr.M~~ #24 cc.dll!cc::OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread [cc\raster\one_copy_tile_task_worker_pool.cc:413]
~~Dr.M~~ #25 cc.dll!cc::`anonymous namespace'::RasterBufferImpl::Playback [cc\raster\one_copy_tile_task_worker_pool.cc:53]
~~Dr.M~~ #26 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::Raster [cc\tiles\tile_manager.cc:131]
~~Dr.M~~ #27 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::RunOnWorkerThread [cc\tiles\tile_manager.cc:90]
~~Dr.M~~ #28 cc.dll!cc::TaskGraphRunner::RunTaskWithLockAcquired [cc\raster\task_graph_runner.cc:418]
~~Dr.M~~ #29 cc.dll!cc::TaskGraphRunner::Run [cc\raster\task_graph_runner.cc:361]
~~Dr.M~~ #30 base.dll!base::SimpleThread::ThreadMain [base\threading\simple_thread.cc:66]
~~Dr.M~~ #31 base.dll!base::`anonymous namespace'::ThreadFunc [base\threading\platform_thread_win.cc:82]
~~Dr.M~~ #32 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x7570337a <KERNEL32.dll+0x1337a>)
~~Dr.M~~ Note: @0:15:51.087 in thread 196
~~Dr.M~~ Note: handles created with the same callstack are closed here:
~~Dr.M~~ Note: # 0 system call NtGdiDeleteObjectApp
~~Dr.M~~ Note: # 1 GDI32.dll!DeleteObject +0x149 (0x768e57d3 <GDI32.dll+0x157d3>)
~~Dr.M~~ Note: # 2 skia.dll!HDCOffscreen::draw [third_party\skia\src\ports\skfonthost_win.cpp:471]
~~Dr.M~~ Note: # 3 skia.dll!SkScalerContext_GDI::generateImage [third_party\skia\src\ports\skfonthost_win.cpp:1233]
~~Dr.M~~ Note: # 4 skia.dll!SkScalerContext::getImage [third_party\skia\src\core\skscalercontext.cpp:530]
~~Dr.M~~ Note: # 5 skia.dll!SkGlyphCache::OnceFillInImage [third_party\skia\src\core\skglyphcache.cpp:252]
~~Dr.M~~ Note: # 6 skia.dll!sk_once_slow<> [third_party\skia\include\core\skonce.h:76]
~~Dr.M~~ Note: # 7 skia.dll!SkGlyphCache::findImage [third_party\skia\src\core\skglyphcache.cpp:260]
~~Dr.M~~ Note: # 8 skia.dll!D1G_RectClip [third_party\skia\src\core\skdraw.cpp:1479]
~~Dr.M~~ Note: # 9 skia.dll!SkDraw::drawPosText [third_party\skia\src\core\skdraw.cpp:1838]
~~Dr.M~~ Note: #10 skia.dll!SkBitmapDevice::drawPosText [third_party\skia\src\core\skbitmapdevice.cpp:348]
~~Dr.M~~ Note: #11 skia.dll!SkCanvas::onDrawPosText [third_party\skia\src\core\skcanvas.cpp:2433]
~~Dr.M~~ Note: #12 skia.dll!SkCanvas::drawPosText [third_party\skia\src\core\skcanvas.cpp:2507]
~~Dr.M~~ Note: #13 skia.dll!SkRecords::Draw::draw<> [third_party\skia\src\core\skrecorddraw.cpp:109]
~~Dr.M~~ Note: #14 skia.dll!SkRecord::Record::visit<> [third_party\skia\src\core\skrecord.h:170]
~~Dr.M~~ Note: #15 skia.dll!SkRecordDraw [third_party\skia\src\core\skrecorddraw.cpp:55]
~~Dr.M~~ Note: #16 skia.dll!SkBigPicture::playback [third_party\skia\src\core\skbigpicture.cpp:43]
~~Dr.M~~ Note: #17 skia.dll!SkCanvas::onDrawPicture [third_party\skia\src\core\skcanvas.cpp:2800]
~~Dr.M~~ Note: #18 skia.dll!SkCanvas::drawPicture [third_party\skia\src\core\skcanvas.cpp:2770]
~~Dr.M~~ Note: #19 cc.dll!cc::DrawingDisplayItem::Raster [cc\playback\drawing_display_item.cc:51]
~~Dr.M~~ Note: #20 cc.dll!cc::DisplayItemList::Raster [cc\playback\display_item_list.cc:107]
~~Dr.M~~ Note: #21 cc.dll!cc::DisplayListRasterSource::RasterCommon [cc\playback\display_list_raster_source.cc:122]
~~Dr.M~~ Note: #22 cc.dll!cc::DisplayListRasterSource::PlaybackToCanvas [cc\playback\display_list_raster_source.cc:100]
~~Dr.M~~ Note: #23 cc.dll!cc::TileTaskWorkerPool::PlaybackToMemory [cc\raster\tile_task_worker_pool.cc:208]
~~Dr.M~~ Note: #24 cc.dll!cc::OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread [cc\raster\one_copy_tile_task_worker_pool.cc:413]
~~Dr.M~~ Note: #25 cc.dll!cc::`anonymous namespace'::RasterBufferImpl::Playback [cc\raster\one_copy_tile_task_worker_pool.cc:53]
~~Dr.M~~ Note: #26 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::Raster [cc\tiles\tile_manager.cc:131]
~~Dr.M~~ Note: #27 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::RunOnWorkerThread [cc\tiles\tile_manager.cc:90]
~~Dr.M~~ Note: #28 cc.dll!cc::TaskGraphRunner::RunTaskWithLockAcquired [cc\raster\task_graph_runner.cc:418]
~~Dr.M~~ Note: #29 cc.dll!cc::TaskGraphRunner::Run [cc\raster\task_graph_runner.cc:361]
~~Dr.M~~ Note: #30 base.dll!base::SimpleThread::ThreadMain [base\threading\simple_thread.cc:66]
~~Dr.M~~ Note: #31 base.dll!base::`anonymous namespace'::ThreadFunc [base\threading\platform_thread_win.cc:82]
~~Dr.M~~ Note: #32 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x7570337a <KERNEL32.dll+0x1337a>)
Original issue's description:
> Parallel cache.
>
> TBR=reed@google.com
>
> BUG=skia:1330
>
> Committed: https://skia.googlesource.com/skia/+/
6f2a486040cb25465990196c229feb47e668e87f
>
> Committed: https://skia.googlesource.com/skia/+/
bf2988833e5a36c6b430da6fdd2cfebd0015adec
TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org,herb@google.com
BUG=skia:1330
[mtklein mucking around]
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
1339493002
mtklein [Thu, 10 Sep 2015 23:38:41 +0000 (16:38 -0700)]
Revert of use new shuffle to speed up affine matrix mappts (patchset #3 id:40001 of https://codereview.chromium.org/
1333983002/ )
Reason for revert:
Unexpected perf impact, and a whole bunch of new images in gold (mostly invisibly different).
Original issue's description:
> use new shuffle to speed up affine matrix mappts
>
> sse: 25 -> 18
> neon: 95 -> 86
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
e70afc9f48d00828ee6b707899a8ff542b0e8b98
TBR=reed@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1335003002
reed [Thu, 10 Sep 2015 21:33:38 +0000 (14:33 -0700)]
Use SkImageCacherator in SkImages
Possible follow-up changes to consider
1. Roll SkImage_Raster and _Gpu into _Generator, where the generator (or cacherator) is backed by a pre-existing texture or raster.
2. Evolve SkImageUsageType into a verb requiring stretching, and have the caller (common code) digest the caps() and usage, so that subclasses are just told what to do (stretch or not)
3. Common code/utility to convert an unstretched texture into a stretch one (and cache it) if the generator can only make an unstretched one.
BUG=skia:
Review URL: https://codereview.chromium.org/
1282363002
mtklein [Thu, 10 Sep 2015 21:32:32 +0000 (14:32 -0700)]
use new shuffle to speed up affine matrix mappts
sse: 25 -> 18
neon: 95 -> 86
BUG=skia:
Review URL: https://codereview.chromium.org/
1333983002
mtklein [Thu, 10 Sep 2015 21:21:12 +0000 (14:21 -0700)]
Add simd.md to document Skia SIMD code / plans.
BUG=skia:4117
NOTRY=true
DOCS_PREVIEW= https://skia.org/dev/contrib/simd?cl=
1330083002
Review URL: https://codereview.chromium.org/
1330083002
herb [Thu, 10 Sep 2015 21:16:12 +0000 (14:16 -0700)]
Correct a possible free after use.
This shows up in TSAN runs as a use-after-free warning.
BUG=skia:
Review URL: https://codereview.chromium.org/
1333003002
mtklein [Thu, 10 Sep 2015 21:16:07 +0000 (14:16 -0700)]
SkNx_shuffle
This allows us to express shuffles more directly in code while also giving us a
convenient point to platform-specify particular shuffles for particular types.
No specializations yet. Everyone just uses the (pretty good) default option.
BUG=skia:
Review URL: https://codereview.chromium.org/
1301413006
Brian Salomon [Thu, 10 Sep 2015 18:40:20 +0000 (14:40 -0400)]
fix missing clipmaskmanager
Review URL: https://codereview.chromium.org/
1330213004 .
reed [Thu, 10 Sep 2015 18:38:58 +0000 (11:38 -0700)]
make a shallow-copy so we don't get racy trying to lock/unlock our private bitmap
BUG= 529995
NOTREECHECKS=True
Review URL: https://codereview.chromium.org/
1327313002
egdaniel [Thu, 10 Sep 2015 18:28:22 +0000 (11:28 -0700)]
Fix texture creation on stencil format test code
BUG=skia:
Review URL: https://codereview.chromium.org/
1332853003
mtklein [Thu, 10 Sep 2015 18:18:31 +0000 (11:18 -0700)]
Port SkMatrix opts to SkOpts.
No changes to the code, just moved around.
This will have the effect of enabling vectorized code on ARMv7.
Should be no effect on ARMv8 or x86, which would have been vectorized already.
nanobench --match mappoints changes on Nexus 5 (ARMv7):
_affine: 132 -> 95
_scale: 118 -> 47
_trans: 60 -> 37
A teaser:
We should next look at the ABCD->BADC shuffle we've noted that we need in _affine. A quick hack showed doing that optimally is another ~35% speedup on x86. Got to figure out how to do it best on ARM though: that same quick hack was a 2x slowdown there. Good reason to resurrect that SkNx_shuffle() CL!
(I believe the answers are vrev64q_f32(v) and _mm_shuffle_ps(v,v, _MM_SHUFFLE(2,3,0,1), but we should probably find out in another CL.)
BUG=skia:4117
Review URL: https://codereview.chromium.org/
1320673014
bsalomon [Thu, 10 Sep 2015 18:16:35 +0000 (11:16 -0700)]
Remove GrClipTarget
Review URL: https://codereview.chromium.org/
1330353006
bsalomon [Thu, 10 Sep 2015 18:10:50 +0000 (11:10 -0700)]
Simplify installation of pipeling into GrDrawBatch in GrDrawTarget
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/
1333943002
joshualitt [Thu, 10 Sep 2015 18:00:51 +0000 (11:00 -0700)]
Late creation of GrPathProcessor
BUG=skia:
Review URL: https://codereview.chromium.org/
1337513002
bsalomon [Thu, 10 Sep 2015 17:42:55 +0000 (10:42 -0700)]
Cleanup GrDrawTarget now that all paths lead to GrBatch
Review URL: https://codereview.chromium.org/
1315513008
mtklein [Thu, 10 Sep 2015 17:38:02 +0000 (10:38 -0700)]
Port SkBlitRow::Color32 to SkOpts.
This was a pre-SkOpts attempt that we can bring under its wing now.
This should be a perf no-op, deo volente.
BUG=skia:4117
Review URL: https://codereview.chromium.org/
1314863006
mtklein [Thu, 10 Sep 2015 17:37:44 +0000 (10:37 -0700)]
DM: add --key and --properties to PNG description field.
This tags each image with the bot that created it.
BUG=skia:4322
Review URL: https://codereview.chromium.org/
1332903002
bsalomon [Thu, 10 Sep 2015 16:31:59 +0000 (09:31 -0700)]
Fix leak of path ranges
R=egdaniel@google.com
Review URL: https://codereview.chromium.org/
1334753002
egdaniel [Thu, 10 Sep 2015 15:37:20 +0000 (08:37 -0700)]
Calculate pixel config and stencil fmt pairs once per pixel config.
We use a temp FB and stencil buffer to test different stencil formats with
a given pixel config. We then keep a map from pixel config to desired stencil
format.
BUG=skia:
Review URL: https://codereview.chromium.org/
1317443004
bsalomon [Thu, 10 Sep 2015 15:12:46 +0000 (08:12 -0700)]
Add a mutex to GrContext::readSurfacePixels to protect against multiple CPU raster threads accessing the same GrContext to read back GPU input data
BUG=chromium:524717
TBR=reed@google.com
Committed: https://skia.googlesource.com/skia/+/
eb662bc407cec0585a821946fef123102cae64db
Review URL: https://codereview.chromium.org/
1329313002
wangyix [Thu, 10 Sep 2015 13:57:05 +0000 (06:57 -0700)]
There's a set probability that a linear pipeline of random procs will be created (old behavior), or a pipeline with a single proc tree (added behavior).
Had to move GrComposeEffect class definition from SkComposeShader.cpp to SkComposeShader.h so that GLProgramsTest can call GrComposeEffect::Create()
BUG=skia:4182
Review URL: https://codereview.chromium.org/
1314923002
jvanverth [Thu, 10 Sep 2015 13:31:38 +0000 (06:31 -0700)]
Initialize subrun variables to make Valgrind happy
The check at line 1259 was failing in Valgrind, and in
the default constructor subrun.fMaskFormat is never inited.
Also set some other variables to avoid future problems.
Review URL: https://codereview.chromium.org/
1315773005
bsalomon [Thu, 10 Sep 2015 01:57:49 +0000 (18:57 -0700)]
Revert of Add a mutex to GrContext::readSurfacePixels to protect against multiple CPU raster threads accessin… (patchset #1 id:1 of https://codereview.chromium.org/
1329313002/ )
Reason for revert:
breaking the bots
Original issue's description:
> Add a mutex to GrContext::readSurfacePixels to protect against multiple CPU raster threads accessing the same GrContext to read back GPU input data
>
> BUG=chromium:524717
>
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/
eb662bc407cec0585a821946fef123102cae64db
TBR=reed@google.com,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:524717
Review URL: https://codereview.chromium.org/
1334603002
bsalomon [Thu, 10 Sep 2015 01:05:03 +0000 (18:05 -0700)]
Add a mutex to GrContext::readSurfacePixels to protect against multiple CPU raster threads accessing the same GrContext to read back GPU input data
BUG=chromium:524717
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
1329313002
bsalomon [Wed, 9 Sep 2015 21:51:52 +0000 (14:51 -0700)]
SK_API on GrWrapTextureInBitmap
BUG=chromium:524717
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
1334563002