Commit Graph

9468 Commits

Author SHA1 Message Date
commit-bot@chromium.org
6ee68583f8 SkThreadPool: allow for Runnables that add other Runnables to the pool.
There's a scenario that we're currently not allowing for, but I'd really like to use in DM:

1) client calls add(SomeRunnable*) several times
2) client calls wait()
3) any of the runnables added by the client _themselves_ call add(SomeOtherRunnable*)
4-inf) maybe those SomeOtherRunnables too call add(SomeCrazyThirdRunnable*), etc.

Right now in this scenario we'll assert in debug mode in step 3) when we call
add() and we're waiting to stop, and do strange unspecified things in release
mode.

The old threadpool had basically two states: running, and waiting to stop.  If
a thread saw we were waiting to stop and the queue was empty, that thread shut
down.  This wasn't accounting for any work that other threads might be doing;
potentially they were about to add to the queue.

So now we have three states: running, waiting, and halting.  When the client
calls wait() (or the destructor triggers), we move into waiting.  When a thread
notices we're _really_ done, that is, have an empty queue and there are no
active threads, we move into halting.  The halting state actually triggers the
threads to stop, which wait() is patiently join()ing on.

BUG=
R=bungeman@google.com, bsalomon@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/26389005

git-svn-id: http://skia.googlecode.com/svn/trunk@11852 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 14:19:19 +00:00
skia.committer@gmail.com
f84ad8f7fc Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11850 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 07:01:59 +00:00
senorblanco@chromium.org
1aa68723b8 Make SkImageFilter::asNewEffect() (and all derived-class overrides) protected.
R=bsalomon@google.com, bsalomon

Review URL: https://codereview.chromium.org/26937006

git-svn-id: http://skia.googlecode.com/svn/trunk@11847 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 19:35:09 +00:00
robertphillips@google.com
32bbcf828d Add texture filtering override to debugger
https://codereview.chromium.org/27716003/



git-svn-id: http://skia.googlecode.com/svn/trunk@11846 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 17:56:10 +00:00
robertphillips@google.com
c2cc1dbe81 Revert r11842 (call drawRect to try GrAARectRenderer if the path is a rect - https://codereview.chromium.org/23484007) due to changes to the following GM images:
inverse_paths
pathopsinverse




git-svn-id: http://skia.googlecode.com/svn/trunk@11845 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 17:34:20 +00:00
commit-bot@chromium.org
4256d2494e Add support for GL_CHROMIUM_renderbuffer_format_BGRA8888
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/27525006

git-svn-id: http://skia.googlecode.com/svn/trunk@11844 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:41 +00:00
commit-bot@chromium.org
cd7992ba55 ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs
Xfermode: NEON implementation of SIMD procs

This patch contains a NEON implementation for a number of Xfermodes.
It provides a big speedup on Xfermode benchmarks (currently up to 3x
with gcc4.7 but up to 10x when gcc produces optimal code for it).

Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

BUG=

Committed: http://code.google.com/p/skia/source/detail?r=11777

Committed: http://code.google.com/p/skia/source/detail?r=11813

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

Author: kevin.petit.arm@gmail.com

Review URL: https://codereview.chromium.org/26627004

git-svn-id: http://skia.googlecode.com/svn/trunk@11843 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:34 +00:00
commit-bot@chromium.org
521a46750d If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.
R=bsalomon@google.com, robertphillips@google.com, reed@google.com

Author: yunchao.he@intel.com

Review URL: https://codereview.chromium.org/23484007

git-svn-id: http://skia.googlecode.com/svn/trunk@11842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:21 +00:00
robertphillips@google.com
627f66283b Disable r11835 (Replace cubic round rect corners with quads) due to performance regression
git-svn-id: http://skia.googlecode.com/svn/trunk@11841 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:25 +00:00
robertphillips@google.com
e0d7277b59 Revert 11839 (rebaseline images after r11835) due to performance regression in 11835
git-svn-id: http://skia.googlecode.com/svn/trunk@11840 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:28:11 +00:00
robertphillips@google.com
01c51b76bf rebaseline images after r11835
https://codereview.chromium.org/27722002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11839 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 15:23:26 +00:00
robertphillips@google.com
3f1588482f Added nested_bw to suppression list
git-svn-id: http://skia.googlecode.com/svn/trunk@11838 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 13:17:04 +00:00
mtklein@google.com
e4b500b0bc rebaseline stragglers from repeated radial gradient tweak
BUG=

Review URL: https://codereview.chromium.org/27700002

git-svn-id: http://skia.googlecode.com/svn/trunk@11837 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 12:34:54 +00:00
robertphillips@google.com
6b1b248bbe Fix typo in ignored-tests file
git-svn-id: http://skia.googlecode.com/svn/trunk@11836 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 12:27:55 +00:00
robertphillips@google.com
1cc385b7a4 Replace cubic round rect corners with quads
https://codereview.chromium.org/26372006/



git-svn-id: http://skia.googlecode.com/svn/trunk@11835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 12:17:27 +00:00
skia.committer@gmail.com
4677acc759 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11834 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 07:02:33 +00:00
robertphillips@google.com
dfe0f43e11 Reverting r11813 (ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs - https://codereview.chromium.org/26627004) due to Chromium compilation faliures.
git-svn-id: http://skia.googlecode.com/svn/trunk@11833 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 00:09:17 +00:00
bsalomon@google.com
3ae71b6b2e Initial baselines for skbug1719
Review URL: https://codereview.chromium.org/27212004

git-svn-id: http://skia.googlecode.com/svn/trunk@11832 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 21:27:18 +00:00
mtklein@google.com
6065d36bb8 tools/rebaseline.py --tests xfermodes3 drawbitmaprect scaled_tilemode_gradient tilemode_gradient
BUG=

Review URL: https://codereview.chromium.org/26233006

git-svn-id: http://skia.googlecode.com/svn/trunk@11831 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 21:23:18 +00:00
edisonn@google.com
d117910239 update drawbitmap gm (part 2)
Review URL: https://codereview.chromium.org/26435005

git-svn-id: http://skia.googlecode.com/svn/trunk@11830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 20:45:00 +00:00
edisonn@google.com
29a2d35bd2 Updates to SkPDFDevice and SkDocument classes.
Update the SkDocument interface to allow for 1) abort won't emit pdf, 2) close can report success/failure, 3) SkCanvasSimplifier interface that will be used to simplify perspective for SkpDFDevice, 4) prepare to deprecate SkPDFDevice constructor, and route gm and render_pdfs to use SkDocument::Create pdf interface instead. 	modified:   gm/gmmain.cpp 	modified:   gyp/core.gyp 	modified:   gyp/core.gypi 	new file:   include/core/SkCanvasSimplifier.h 	modified:   include/core/SkDocument.h 	new file:   include/pdf/SkPDFCallbacks.h 	modified:   include/pdf/SkPDFDevice.h 	new file:   src/core/SkCanvasSimplifier.cpp 	modified:   src/doc/SkDocument.cpp 	modified:   src/doc/SkDocument_PDF.cpp 	modified:   src/pdf/SkPDFDevice.cpp 	modified:   src/pdf/SkPDFShader.cpp 	modified:   src/utils/SkLua.cpp 	modified:   tools/PdfRenderer.cpp 	modified:   tools/PdfRenderer.h 	modified:   tools/render_pdfs_main.cpp 	modified:   tools/skhello.cpp

BUG=

Review URL: https://codereview.chromium.org/24615006

git-svn-id: http://skia.googlecode.com/svn/trunk@11829 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 19:49:17 +00:00
sugoi@google.com
536dc83c58 Build fix fo windows only
Build fix

git-svn-id: http://skia.googlecode.com/svn/trunk@11828 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 19:34:27 +00:00
junov@google.com
0315ed8e5f Build fix for chromium shared component build
BUG=304265
TBR=reed@google.com

Review URL: https://codereview.chromium.org/27082003

git-svn-id: http://skia.googlecode.com/svn/trunk@11827 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 19:14:42 +00:00
commit-bot@chromium.org
66bb3d1f5e DM: duh, don't calculate digests unless we're going to look at them.
This doesn't cut the runtime significantly (~6s either way) but it does cut the CPU time down from ~10s to ~6s.

BUG=
R=bungeman@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/27476007

git-svn-id: http://skia.googlecode.com/svn/trunk@11826 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 19:13:38 +00:00
reed@google.com
4cc18156c2 catch the other case where we need to see if fScaledBitmap.lockPixels() might have failed
2nd-half clone of https://codereview.chromium.org/26273006/

BUG=chromium:295895

Review URL: https://codereview.chromium.org/26973006

git-svn-id: http://skia.googlecode.com/svn/trunk@11825 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 19:13:29 +00:00
commit-bot@chromium.org
34150b451d Clear out SK_SCALAR_IS_FLOAT from SkRadialGradient, and merge the logic for radial_mirror and radial_repeat.
New radial/repeated bench is 10-20x faster now using float instead of fixed; the rest are unaffected.

BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/26410003

git-svn-id: http://skia.googlecode.com/svn/trunk@11824 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:59:44 +00:00
djsollen@google.com
cbbf1ca304 add initial support ofr multi-threaded execution
Review URL: https://codereview.chromium.org/27541003

git-svn-id: http://skia.googlecode.com/svn/trunk@11823 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:36:49 +00:00
edisonn@google.com
9cf0cb169b Implement perspective for bitmaps in pdf.
R=vandebo@chromium.org

Review URL: https://codereview.chromium.org/27236007

git-svn-id: http://skia.googlecode.com/svn/trunk@11822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:32:35 +00:00
commit-bot@chromium.org
846872f75b Fix DM build failures:
- forgot tool_main;
  - skip building where skia_gpu is false;
  - lots of scalar -> int warnings;
  - stray return on a void method;
  - stifle warning about a uint32_t cast to bool

BUG=
R=bungeman@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/26468005

git-svn-id: http://skia.googlecode.com/svn/trunk@11821 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:21:03 +00:00
jvanverth@google.com
c7a40fad0b Split out GrBitmapTextContext from GrTextContext.
This is a stepping stone to having a variety of different text context types
(bitmaps, distance fields, NV path rendering).

R=bsalomon@google.com

Review URL: https://codereview.chromium.org/27199002

git-svn-id: http://skia.googlecode.com/svn/trunk@11820 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:15:34 +00:00
senorblanco@chromium.org
3f1f2a3a59 Make CropRect immutable after construction.
BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/27490005

git-svn-id: http://skia.googlecode.com/svn/trunk@11819 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:07:48 +00:00
robertphillips@google.com
3e7e992a8a Add display of filterLevel to debugger
https://codereview.chromium.org/27525002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11818 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 17:53:18 +00:00
robertphillips@google.com
e9cd27d4a3 Third wave of Win64 warning cleanup
https://codereview.chromium.org/27487003/



git-svn-id: http://skia.googlecode.com/svn/trunk@11817 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 17:48:11 +00:00
reed@google.com
1ae6c2b012 check of fScaledBitmap failed to lock
BUG=

Review URL: https://codereview.chromium.org/27530003

git-svn-id: http://skia.googlecode.com/svn/trunk@11816 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 17:34:17 +00:00
commit-bot@chromium.org
8f930ff33e Remove unused header SkImageTypes.h
R=reed@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/27281003

git-svn-id: http://skia.googlecode.com/svn/trunk@11815 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 17:02:28 +00:00
senorblanco@chromium.org
41345b6a4a More displacement GM rebaselines. Also remove displacement from ignored-tests.txt, since it should now be passing on all platforms.
TBR=

Review URL: https://codereview.chromium.org/27533003

git-svn-id: http://skia.googlecode.com/svn/trunk@11814 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 16:25:21 +00:00
commit-bot@chromium.org
b4c29c5363 ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs
Xfermode: NEON implementation of SIMD procs

This patch contains a NEON implementation for a number of Xfermodes.
It provides a big speedup on Xfermode benchmarks (currently up to 3x
with gcc4.7 but up to 10x when gcc produces optimal code for it).

Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

BUG=

Committed: http://code.google.com/p/skia/source/detail?r=11777

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

Author: kevin.petit.arm@gmail.com

Review URL: https://codereview.chromium.org/26627004

git-svn-id: http://skia.googlecode.com/svn/trunk@11813 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 16:24:08 +00:00
senorblanco@chromium.org
8b66abb9bc Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome.
BUG=
R=reed@google.com, reed

Review URL: https://codereview.chromium.org/27521002

git-svn-id: http://skia.googlecode.com/svn/trunk@11812 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 15:46:00 +00:00
commit-bot@chromium.org
6d2533ebd2 Add hooks for external run-time reference adoption checks to SkRefCnt.
The reference adoption checks are to help detect memory
leaks and bad usage when using SkRefCnt subclasses with
Blink's RefPtr.

BUG=crbug.com/304265
R=reed@google.com, bungeman@google.com

Author: junov@chromium.org

Review URL: https://codereview.chromium.org/25432003

git-svn-id: http://skia.googlecode.com/svn/trunk@11811 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 15:15:58 +00:00
reed@google.com
f32322b9ce add disabled tests, in pref for experimental isRect behavior
BUG=
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/27513003

git-svn-id: http://skia.googlecode.com/svn/trunk@11810 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 15:14:04 +00:00
bsalomon@google.com
46484ec5bf Add --add-ignored option to rebaseline.py
R=senorblanco@chromium.org, epoger@google.com
BUG=skia:1600

Review URL: https://codereview.chromium.org/27517002

git-svn-id: http://skia.googlecode.com/svn/trunk@11809 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 15:10:45 +00:00
djsollen@google.com
1e391b5870 Update skpdiff to include a name with each file.
R=caryclark@google.com

Review URL: https://codereview.chromium.org/27512002

git-svn-id: http://skia.googlecode.com/svn/trunk@11808 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 15:00:11 +00:00
commit-bot@chromium.org
fe070ba6d8 Make sure attribute indexes are correct after restoring vertex attributes
Fix an assert due to
GrDrawState::CommonState::fFixedFunctionVertexAttribIndices getting
out of sync.  The assertion in GrDrawState::CommonState::operator==
would fire after using AutoVertexAttribRestore.
AutoVertexAttribRestore would change GrDrawState::fCommon.fVAPtr and
fVACount without updating
GrDrawState::fCommon.fFixedFunctionVertexAttribIndices.

R=jvanverth@google.com, bsalomon@google.com, robertphillips@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/26922004

git-svn-id: http://skia.googlecode.com/svn/trunk@11807 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 14:43:12 +00:00
bsalomon@google.com
e4d3d7ca70 Rebaseline complexclip tests on GPU and remove them from ignored-tests
Review URL: https://codereview.chromium.org/27515002

git-svn-id: http://skia.googlecode.com/svn/trunk@11806 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 14:15:32 +00:00
commit-bot@chromium.org
6397217b30 detach blur result texture when it is the same texture used to render path mask
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/26968006

git-svn-id: http://skia.googlecode.com/svn/trunk@11805 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 13:53:54 +00:00
mtklein@google.com
6001ee3a34 remove dm from everything
git-svn-id: http://skia.googlecode.com/svn/trunk@11804 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 13:18:43 +00:00
reed@google.com
353482251e force readbuffer clients to use specialized readFoo for flattenables
BUG=
R=mtklein@google.com

Review URL: https://codereview.chromium.org/26702002

git-svn-id: http://skia.googlecode.com/svn/trunk@11803 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 13:05:06 +00:00
mtklein@google.com
d36522d12d dm is like gm, but faster and with fewer features.
This is sort of the near-minimal proof-of-concept skeleton.

  - It can run existing GMs.
  - It supports most configs (just not PDF).
  - --replay is the only "fancy" feature it currently supports

Hopefully you will be disturbed by its speed.

BUG=
R=epoger@google.com

Review URL: https://codereview.chromium.org/22839016

git-svn-id: http://skia.googlecode.com/svn/trunk@11802 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 13:02:15 +00:00
commit-bot@chromium.org
beede90eae texdata gm: allocate gTextureData on the heap.
This GM is triggering a stack overflow on my laptop when I run it with dm.  As
I understand it, the default stack size on a Mac is 64K, but this allocates 640K.

BUG=
R=bsalomon@google.com, robertphillips@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/26440006

git-svn-id: http://skia.googlecode.com/svn/trunk@11801 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 11:50:50 +00:00
skia.committer@gmail.com
472629190e Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11800 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 07:02:24 +00:00