platform/upstream/libSkiaSharp.git
10 years agoupdate Doxygen config file to include gpu directory in api generation
commit-bot@chromium.org [Fri, 7 Mar 2014 16:20:36 +0000 (16:20 +0000)]
update Doxygen config file to include gpu directory in api generation

BUG=skia:2263
R=epoger@google.com

Author: hcm@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13705 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoThis is just the first version and shows how I intend to orchestrate this. Future...
commit-bot@chromium.org [Fri, 7 Mar 2014 15:53:01 +0000 (15:53 +0000)]
This is just the first version and shows how I intend to orchestrate this. Future enhancements will:

track the portion of the bitmap required
track any resizing that might be required
actually preload something

R=bsalomon@google.com, mtklein@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13704 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoremove code disabled from writePixels change
commit-bot@chromium.org [Fri, 7 Mar 2014 14:52:22 +0000 (14:52 +0000)]
remove code disabled from writePixels change

These tests were asserting that particular, non-documented, optimizations were taking place
in the deferreddevice. Theese particualr short-cuts are no longer possible given the change
to canvas' writepixels to always require a raw-pointer.

R=junov@google.com
TBR=junov@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13703 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agogetFactory() must return a factory.
commit-bot@chromium.org [Fri, 7 Mar 2014 14:52:09 +0000 (14:52 +0000)]
getFactory() must return a factory.

BUG=348821
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13702 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix underlying issue causing crbug.com/348821.
commit-bot@chromium.org [Fri, 7 Mar 2014 14:43:00 +0000 (14:43 +0000)]
Fix underlying issue causing crbug.com/348821.

SkDashPathEffect refuses to flatten itself if it thinks it's a no-op.  This
messes with the assumption that flattening a non-NULL effect and then
unflattening from those bytes produces a non-NULL effect.  I'd rather make that
assumption always be true than save a few bytes for rare nonsense path effects.

BUG=348821
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13701 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agofix the build error of SkiaExample -- use setColorType, not setConfig
commit-bot@chromium.org [Fri, 7 Mar 2014 13:24:52 +0000 (13:24 +0000)]
fix the build error of SkiaExample -- use setColorType, not setConfig

BUG=skia:
R=reed@google.com, scroggo@google.com

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13700 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSSE2 implementation of S32A_D565_Opaque_Dither
commit-bot@chromium.org [Fri, 7 Mar 2014 13:24:42 +0000 (13:24 +0000)]
SSE2 implementation of S32A_D565_Opaque_Dither

Run benchmarks with command line option "--forceDither true --forceBlend
1", almost all the benchmarks exercised S32A_D565_Opaque_Dither can get
about 20%-70% performance improvement.
Here are the data on i7-3770:
                                                  before    after
verts                                            4314.81  3627.64  15.93%
constXTile_MM_filter_trans                       1434.22   432.82  69.82%
constXTile_CC_filter_trans_scale                 1440.17   437.00  69.66%
constXTile_RR_filter_trans                       1436.96   431.93  69.94%
constXTile_MM_trans_scale                        1436.33   435.77  69.66%
constXTile_CC_trans                              1433.12   431.36  69.90%
constXTile_RR_trans_scale                        1436.13   436.06  69.64%
constXTile_MM_filter                             1411.55   408.06  71.09%
constXTile_CC_filter_scale                       1416.68   414.18  70.76%
constXTile_RR_filter                             1429.46   409.81  71.33%
constXTile_MM_scale                              1415.00   412.56  70.84%
constXTile_CC                                    1410.32   408.36  71.04%
constXTile_RR_scale                              1413.26   413.16  70.77%
repeatTile_4444_A                                1922.01   879.03  54.27%
repeatTile_4444_A                                1430.68   818.34  42.80%
repeatTile_4444_X                                1817.43   816.63  55.07%
maskshader                                       5911.09  5895.46   0.26%
gradient_create_alpha                               4.41     4.41  -0.15%
gradient_conical_clamp_3color                   35298.71 27574.34  21.88%
gradient_conical_clamp_hicolor                  35262.15 27538.99  21.90%
gradient_conical_clamp                          35276.21 27599.80  21.76%
gradient_radial2_mirror                         20846.74 12969.39  37.79%
gradient_radial2_clamp_hicolor                  21848.12 13967.57  36.07%
gradient_radial2_clamp                          21829.95 13978.57  35.97%
bitmap_4444_A_scale_rotate_bicubic                105.31    87.13  17.26%
bitmap_4444_A_scale_bicubic                        73.69    47.76  35.20%
bitmap_4444_update_scale_rotate_bilerp            125.65    87.86  30.08%
bitmap_4444_update_volatile_scale_rotate_bilerp   125.50    87.65  30.16%
bitmap_4444_scale_rotate_bilerp                   124.46    87.91  29.37%
bitmap_4444_A_scale_rotate_bilerp                 105.09    87.27  16.96%
bitmap_4444_update_scale_bilerp                   106.78    63.28  40.74%
bitmap_4444_update_volatile_scale_bilerp          106.66    63.66  40.32%
bitmap_4444_scale_bilerp                          106.70    63.19  40.78%
bitmap_4444_A_scale_bilerp                         83.05    62.25  25.04%
bitmap_a8                                          98.11    52.76  46.22%
bitmap_a8_A                                        98.24    52.85  46.20%

BUG=
R=mtklein@google.com

Author: qiankun.miao@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13699 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSSE2 implementation of S32_D565_Opaque_Dither
commit-bot@chromium.org [Fri, 7 Mar 2014 03:25:32 +0000 (03:25 +0000)]
SSE2 implementation of S32_D565_Opaque_Dither

Run benchmarks with command line option "--forceDither true". The result
shows that all benchmarks exercised S32_D565_Opaque_Dither benefit from
this SSE2 optimization. Here are the data on i7-3770:
                                                  before    after
constXTile_MM_filter                              900.93   217.75  75.83%
constXTile_CC_filter_scale                        907.59   225.65  75.14%
constXTile_RR_filter                              903.33   219.41  75.71%
constXTile_MM_scale                               902.45   221.46  75.46%
constXTile_CC                                     898.55   218.37  75.70%
constXTile_RR_scale                               902.69   222.35  75.37%
repeatTile_4444_X                                 938.53   240.49  74.38%
gradient_radial2_mirror                         16999.49 11540.39  32.11%
gradient_radial2_clamp_hicolor                  17943.38 12501.71  30.33%
gradient_radial2_clamp                          17816.36 12492.04  29.88%
bitmaprect_FF_filter_trans                         47.81    10.98  77.03%
bitmaprect_FF_nofilter_trans                       47.79    10.91  77.18%
bitmaprect_FF_filter_identity                      47.74    10.89  77.18%
bitmaprect_FF_nofilter_identity                    47.83    10.89  77.24%
bitmap_4444_update_scale_rotate_bilerp            100.45    76.84  23.50%
bitmap_4444_update_volatile_scale_rotate_bilerp   100.80    76.70  23.91%
bitmap_4444_scale_rotate_bilerp                   100.43    77.18  23.15%
bitmap_4444_update_scale_bilerp                    79.00    49.03  37.93%
bitmap_4444_update_volatile_scale_bilerp           78.90    48.87  38.06%
bitmap_4444_scale_bilerp                           78.92    48.81  38.16%
bitmap_4444_update                                 42.19    11.53  72.68%
bitmap_4444_update_volatile                        42.28    11.49  72.82%
bitmap_a8                                          60.37    29.75  50.72%
bitmap_4444                                        42.19    11.52  72.69%

BUG=
R=mtklein@google.com

Author: qiankun.miao@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13698 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd SkCanvas::writePixels that takes info+pixels directly
commit-bot@chromium.org [Fri, 7 Mar 2014 03:25:16 +0000 (03:25 +0000)]
Add SkCanvas::writePixels that takes info+pixels directly

add corresponding methods to device (w/ diff name to avoid colliding with exising virtuals)

BUG=skia:
R=bsalomon@google.com, robertphillips@google.com, junov@google.com, junov@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13697 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd a class to allocate small objects w/o extra calls to new.
commit-bot@chromium.org [Fri, 7 Mar 2014 03:24:41 +0000 (03:24 +0000)]
Add a class to allocate small objects w/o extra calls to new.

Add SkSmallAllocator, a template for allocating small (as defined by the
instantiation) objects without extra calls to new. Add a helper macro to
make using it simple.

Remove SkTemplatesPriv.h, whose behavior is replaced by SkSmallAllocator.
The old SK_PLACEMENT_NEW had the following drawbacks:
- Easily confused with SkNEW_PLACEMENT.
- Requires passing around lots of void*s along with the storageSize.
- Requires using a separate class for deleting it.
- We had multiple ways Auto objects for deleting in different places.
- It always did a straight heap allocation on Windows, meaning Windows
  did not get any advantages from the confusing code.
The new SkSmallAllocator simplifies things:
- It is clear about what it does.
- It takes care of the deletion in one place that is automatically
  handled.

Further, the new class can be used to create more than one object. This
is in preparation for BUG=skia:1976, for which we would like to create
a new object without extra heap allocations. The plan is to create both
the blitter and the new object on the stack using the SkSmallAllocator.

Add a new test for SkSmallAllocator.

SkShader.h:
Move the private version of CreateBitmapShader to SkBitmapProcShader
(which already has the implementation) and remove the friend class
(which was only used to call this private function). This allows
SkSmallAllocator to reside in the private src/ directory.

SkBitmapProcShader:
Move CreateBitmapShader and the macro for the storage size here. With
the macro in a (private) header, the (private) headers with function
declarations (which now depend on the storage size used) can see the
macro.
Use SkSmallAllocator in CreateBitmapShader.
Change the macro to kBlitterStorageByteCount, since SkSmallAllocator
takes a byte count as its template parameter.

SkBlitter:
Use the SkSmallAllocator.
Remove Sk3DShader::fKillProc and SkAutoCallProc. Both of their
behaviors have been moved into SkSmallAllocator (SkAutoCallProc was
unnecessary anyway, because the only time we ever used it we also
called detach(), so its auto behavior never happened).
Create the Sk3DShader on the stack, if there's room.
Remove the helper version of Choose, which was unused.

SmallAllocatorTest:
Test for the new class.

The rest:
Use SkSmallAllocator.

BUG=skia:1976
R=reed@google.com, mtklein@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13696 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoYet another whitespace change to see if the bots are fixed
commit-bot@chromium.org [Thu, 6 Mar 2014 23:38:52 +0000 (23:38 +0000)]
Yet another whitespace change to see if the bots are fixed

NOTRY=true
NOTREECHECKS=true
R=epoger@google.com, rmistry@google.com
TBR=epoger, rmistry
BUG=skia:2264

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13695 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoWhitespace change to verify that the bots are fixed
commit-bot@chromium.org [Thu, 6 Mar 2014 23:08:33 +0000 (23:08 +0000)]
Whitespace change to verify that the bots are fixed

R=epoger@google.com, rmistry@google.com
TBR=epoger, rmistry
NOTREECHECKS=true
NOTRY=true
BUG=skia:2264

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13694 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoWhitespace change to test whether builders are fixed
commit-bot@chromium.org [Thu, 6 Mar 2014 21:48:57 +0000 (21:48 +0000)]
Whitespace change to test whether builders are fixed

R=epoger@google.com, rmistry@google.com
TBR=epoger, rmistry
NOTRY=true
NOTREECHECKS=true
BUG=skia:2264

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13693 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd debug check of chunk size written to skp
commit-bot@chromium.org [Thu, 6 Mar 2014 20:53:44 +0000 (20:53 +0000)]
Add debug check of chunk size written to skp

R=mtklein@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13692 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoMark mixed_xfermodes_gpu on Win7 perspective bot as ignore-failure
commit-bot@chromium.org [Thu, 6 Mar 2014 20:34:02 +0000 (20:34 +0000)]
Mark mixed_xfermodes_gpu on Win7 perspective bot as ignore-failure

BUG=skia:2262
NOTRY=true
R=epoger@google.com, bsalomon@google.com

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13691 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRemove MCRec.fNext
commit-bot@chromium.org [Thu, 6 Mar 2014 19:56:58 +0000 (19:56 +0000)]
Remove MCRec.fNext

No longer used.

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

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13690 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoManually add baseline for typeface_565
commit-bot@chromium.org [Thu, 6 Mar 2014 19:29:24 +0000 (19:29 +0000)]
Manually add baseline for typeface_565

BUG=skia:2146
NOTRY=true
R=epoger@google.com

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13689 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoActually, we wrote only size bytes.
commit-bot@chromium.org [Thu, 6 Mar 2014 19:23:51 +0000 (19:23 +0000)]
Actually, we wrote only size bytes.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13688 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAvoid recomputing two consecutive identical 1D filters.
commit-bot@chromium.org [Thu, 6 Mar 2014 19:10:44 +0000 (19:10 +0000)]
Avoid recomputing two consecutive identical 1D filters.

If the arguments to the X and Y filter computation are identical,
the results will be identical; copying is much faster than recomputing.

With a change like https://codereview.chromium.org/183763047/ applied
this speeds up BitmapScaleBench on Linux by around 10%.

BUG=skia:2236
R=humper@google.com, tomhudson@google.com

Author: tomhudson@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13687 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoMake arm64 test script more efficient with old versions of gsutil.
commit-bot@chromium.org [Thu, 6 Mar 2014 17:47:49 +0000 (17:47 +0000)]
Make arm64 test script more efficient with old versions of gsutil.

This continues the changes indtroduced in
<https://codereview.chromium.org/183883020>, and also simplifies the
script considerably.

R=borenet@google.com
TBR=borenet@google.com
NOTRY=true

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13686 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdding this call simulates seeing a *different* bitmap every time we scale, which...
commit-bot@chromium.org [Thu, 6 Mar 2014 17:16:37 +0000 (17:16 +0000)]
Adding this call simulates seeing a *different* bitmap every time we scale, which changes the code path (places much heavier load on constructing a new filter). This better emulates the kind of environment most embedders see us in, where they try to cache a scaled bitmap rather than frequently rescaling it.

This change will cause significant regressions in microbenchmark scores.

BUG=skia:2236
R=humper@google.com, reed@google.com, scroggo@google.com, tomhudson@google.com

Author: tomhudson@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13685 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd size_t bytesWritten() const to SkWStream.
commit-bot@chromium.org [Thu, 6 Mar 2014 17:16:26 +0000 (17:16 +0000)]
Add size_t bytesWritten() const to SkWStream.

BUG=skia:
R=reed@google.com, mtklein@google.com, robertphillips@google.com, bungeman@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13684 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRevert of Manually set fFilterValues in SkConvolutionFilter1D
rmistry@google.com [Thu, 6 Mar 2014 15:37:53 +0000 (15:37 +0000)]
Revert of Manually set fFilterValues in SkConvolutionFilter1D

Revert of https://codereview.chromium.org/184323003

Reason for revert:
Caused unexpected CompareGM failures-
http://108.170.217.252:10117/builders/Test-Win8-ShuttleA-GTX660-x86_64-Debug/builds/461/steps/CompareGMs/logs/stdio
http://108.170.217.252:10117/builders/Test-Win7-ShuttleA-HD2000-x86_64-Release/builds/2062/steps/CompareGMs/logs/stdio
http://108.170.217.252:10117/builders/Test-ChromeOS-Alex-GMA3150-x86-Release/builds/1400/steps/CompareGMs/logs/stdio

TBR=
NOTREECHECKS=True
NOTRY=True

git-svn-id: http://skia.googlecode.com/svn/trunk@13683 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoBegin making SkPerlinNoiseShader const.
commit-bot@chromium.org [Thu, 6 Mar 2014 15:13:53 +0000 (15:13 +0000)]
Begin making SkPerlinNoiseShader const.

The overall goal is to make SkShader itself immutable (BUG=skia:1976).
The fields cannot yet be made constant, due to the constructor which
takes an SkReadBuffer. Other than that constructor, the fields are now
unchanged.

Remove setTileSize and initPaint. Merge initPaint with the constructor
of PaintingData, since it is only ever used on a new PaintingData.
Merge setTileSize with the SkPerlinNoiseShader constructor, its only
call site.

BUG=skia:1976
R=reed@google.com, sugoi@google.com, dominikg@chromium.org, senorblanco@google.com, senorblanco@chromium.org

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13682 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoManually set fFilterValues in SkConvolutionFilter1D.
commit-bot@chromium.org [Thu, 6 Mar 2014 14:57:46 +0000 (14:57 +0000)]
Manually set fFilterValues in SkConvolutionFilter1D.

Using fFilterValues.reset() or a loop of fFilterValues.push_back() is about 5x slower than calling fFilterValues.resize_back() and then looping using primitive [] and =.

This is only going to show up if you apply https://codereview.chromium.org/183763047/, where it yields about 2.5% speedup in the bitmap resize microbenchmarks on a Linux desktop. Ceteris paribus, it should actually improve rasterization time of drawBitmapRectToRect() with a resize by about 5% in Chromium.

BUG=skia:2258
R=humper@google.com, tomhudson@google.com

Author: tomhudson@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13681 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoNow that the matching changes have landed in Chromium we can clean up the API on...
commit-bot@chromium.org [Thu, 6 Mar 2014 13:18:07 +0000 (13:18 +0000)]
Now that the matching changes have landed in Chromium we can clean up the API on our side.

R=reed@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13680 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Thu, 6 Mar 2014 03:02:32 +0000 (03:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@13679 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoGive PictureTest more verbose error messages.
commit-bot@chromium.org [Wed, 5 Mar 2014 20:59:45 +0000 (20:59 +0000)]
Give PictureTest more verbose error messages.

Motivation: On an odd build system I'm testing, we're triggering these
errors.  More verbose test output will help me diagnose the errors.

R=robertphillips@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13678 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoUpdate baselines for Win7 perspective and Nexus4
commit-bot@chromium.org [Wed, 5 Mar 2014 20:49:59 +0000 (20:49 +0000)]
Update baselines for Win7 perspective and Nexus4

BUG=skia:2146
NOTRY=true
R=epoger@google.com, bsalomon@google.com

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13677 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agorebaseline_server: add "show thumbnails" option, and skip display of nonexistent...
commit-bot@chromium.org [Wed, 5 Mar 2014 19:46:17 +0000 (19:46 +0000)]
rebaseline_server: add "show thumbnails" option, and skip display of nonexistent images

BUG=skia:2248,skia:2231
NOTRY=True
R=borenet@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13676 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix FontMgrTest to allow for unnamed fonts.
commit-bot@chromium.org [Wed, 5 Mar 2014 19:41:10 +0000 (19:41 +0000)]
Fix FontMgrTest to allow for unnamed fonts.

Motivation: we are testing on a system without fonts and are falling
back on SkTypeface_Empty.

R=bungeman@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13675 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoUnify edge type enums across GrEffect subclasses that clip rendering to a geometry.
commit-bot@chromium.org [Wed, 5 Mar 2014 18:27:43 +0000 (18:27 +0000)]
Unify edge type enums across GrEffect subclasses that clip rendering to a geometry.

BUG=skia:
R=egdaniel@google.com, robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13674 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoThis CL is motivated by the desire to make the skpinfo tool work a bit better. The...
commit-bot@chromium.org [Wed, 5 Mar 2014 18:25:20 +0000 (18:25 +0000)]
This CL is motivated by the desire to make the skpinfo tool work a bit better. The main concern is that the assumptions made w.r.t. written bytes may not be valid for all SkWStream sub-classes.

R=bungeman@gmail.com, bungeman@google.com, reed@google.com, mtklein@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13673 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRemove unused TimerData that generates errors
commit-bot@chromium.org [Wed, 5 Mar 2014 17:09:46 +0000 (17:09 +0000)]
Remove unused TimerData that generates errors

As far as I can tell all uses of TimerData::appendTimes were stripped out in https://chromiumcodereview.appspot.com/23121002 but the surrounding code was left in, causing it to print errors when there are none.

BUG=skia:2242
R=sglez@google.com, tomhudson@chromium.org, mtklein@google.com, tomhudson@google.com

Author: iancottrell@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13672 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoPrevent SkBlockMemoryStream::skip from writing to low memory.
bungeman@google.com [Wed, 5 Mar 2014 16:26:14 +0000 (16:26 +0000)]
Prevent SkBlockMemoryStream::skip from writing to low memory.

SkBlockMemoryStream::read was modeled on SkDynamicMemoryWStream::read.
However, SkDynamicMemoryWStream::read does not allow passing a NULL buffer
and SkBlockMemoryStream::read must correctly handle this case for skips.
In the current code, if a 'skip' crosses a block boundary, 'read' may
attempt to write to low memory.

R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13671 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoNew baselines for offsetimagefilter GM.
senorblanco@chromium.org [Wed, 5 Mar 2014 15:38:21 +0000 (15:38 +0000)]
New baselines for offsetimagefilter GM.

TBR=rmistry@google.com
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13670 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDM: read image files without an extra copy
commit-bot@chromium.org [Wed, 5 Mar 2014 15:37:11 +0000 (15:37 +0000)]
DM: read image files without an extra copy

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13669 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoMake arm64 test script comaptable with old versions of gsutil.
commit-bot@chromium.org [Wed, 5 Mar 2014 14:16:36 +0000 (14:16 +0000)]
Make arm64 test script comaptable with old versions of gsutil.

NOTRY=true
R=borenet@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13668 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoReplace scaled bitmap if entry already exist in cache.
commit-bot@chromium.org [Wed, 5 Mar 2014 13:44:18 +0000 (13:44 +0000)]
Replace scaled bitmap if entry already exist in cache.

BUG=skia:2251
R=reed@google.com

Author: reveman@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13667 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoremove deprecated use of bitmap config from tests
commit-bot@chromium.org [Wed, 5 Mar 2014 13:43:15 +0000 (13:43 +0000)]
remove deprecated use of bitmap config from tests

BUG=skia:
R=halcanary@google.com, reed@google.com

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13666 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Wed, 5 Mar 2014 03:02:06 +0000 (03:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@13665 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoremove SK_SUPPORT_DEEPCOPYTO_CONFIG code -- no longer used
commit-bot@chromium.org [Wed, 5 Mar 2014 02:34:58 +0000 (02:34 +0000)]
remove SK_SUPPORT_DEEPCOPYTO_CONFIG code -- no longer used

R=reed@google.com
TBR=bsalomon@google.com

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13664 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoCounterproposal to 182733007: Add iterator to SkTDynamicHash
commit-bot@chromium.org [Wed, 5 Mar 2014 01:00:50 +0000 (01:00 +0000)]
Counterproposal to 182733007: Add iterator to SkTDynamicHash

BUG=skia:
R=egdaniel@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13663 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoManual revert of https://code.google.com/p/skia/source/detail?r=13353 due to perf...
commit-bot@chromium.org [Tue, 4 Mar 2014 22:37:29 +0000 (22:37 +0000)]
Manual revert of https://code.google.com/p/skia/source/detail?r=13353 due to perf regression.

BUG=344020
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13662 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix error in barelinux_make build script
commit-bot@chromium.org [Tue, 4 Mar 2014 22:32:49 +0000 (22:32 +0000)]
Fix error in barelinux_make build script

R=borenet@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13661 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFactor out a BaseContext from JsContext.
commit-bot@chromium.org [Tue, 4 Mar 2014 20:44:32 +0000 (20:44 +0000)]
Factor out a BaseContext from JsContext.

BUG=skia:
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13660 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoNew baselines for imagefiltersclipped, imagefiltersscaled GMs.
senorblanco@chromium.org [Tue, 4 Mar 2014 19:22:43 +0000 (19:22 +0000)]
New baselines for imagefiltersclipped, imagefiltersscaled GMs.

Required after r13637.

TBR=rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13659 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoThe motivation for this CL is to de-clutter SkPicture's beginRecording method.
commit-bot@chromium.org [Tue, 4 Mar 2014 19:08:57 +0000 (19:08 +0000)]
The motivation for this CL is to de-clutter SkPicture's beginRecording method.

R=reed@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13658 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoStart prototyping what DisplayList support will look like.
commit-bot@chromium.org [Tue, 4 Mar 2014 19:05:50 +0000 (19:05 +0000)]
Start prototyping what DisplayList support will look like.

None of the new codepaths get executed yet since DisplayList doesn't exist, but that will happening in the new few CLs.

BUG=skia:
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13657 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoApply the CTM to the offset in the slow SkOffsetImageFilter path.
senorblanco@chromium.org [Tue, 4 Mar 2014 19:05:25 +0000 (19:05 +0000)]
Apply the CTM to the offset in the slow SkOffsetImageFilter path.

This was being done in the fast path, but not the slow path.

Since I had to rebaseline the offsetimagefilter GM anyway (to accomodate
the new test case), I added a red border around the intersection
of the (transformed) crop rect and clip rect in each sample, beyond
which no pixels should be drawn.

Chrome bug: https://code.google.com/p/chromium/issues/detail?id=346362

BUG=skia:
R=sugoi@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13656 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoMake rrects.cpp compile in no-gpu mode
bsalomon@google.com [Tue, 4 Mar 2014 16:52:20 +0000 (16:52 +0000)]
Make rrects.cpp compile in no-gpu mode
TBR=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13655 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agorebaseline_server: better reporting for bad URL fetch
commit-bot@chromium.org [Tue, 4 Mar 2014 16:46:22 +0000 (16:46 +0000)]
rebaseline_server: better reporting for bad URL fetch

context: https://codereview.chromium.org/183763025/ ('vm_run_skia_try/write_json_summary: run skpdiff within imagediffdb, not on its own')

NOTREECHECKS=True
NOTRY=True
R=rmistry@google.com
TBR=rmistry

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13654 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd GM that directly tests GrRRectEffect and add inverse fill version of effect.
commit-bot@chromium.org [Tue, 4 Mar 2014 16:25:34 +0000 (16:25 +0000)]
Add GM that directly tests GrRRectEffect and add inverse fill version of effect.

BUG=skia:
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13653 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoNew baselines for perspective switch
commit-bot@chromium.org [Tue, 4 Mar 2014 14:41:52 +0000 (14:41 +0000)]
New baselines for perspective switch

BUG=skia:2245
R=epoger@google.com, bsalomon@google.com

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13652 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Tue, 4 Mar 2014 03:02:32 +0000 (03:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@13651 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agorebaseline_server: keep going on exception in ImagePair.__init__()
commit-bot@chromium.org [Tue, 4 Mar 2014 00:58:21 +0000 (00:58 +0000)]
rebaseline_server: keep going on exception in ImagePair.__init__()

BUG=skia:2247
NOTREECHECKS=True
NOTRY=True
R=borenet@google.com
TBR=borenet

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13650 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoThis adds cull rect visualization to the debugger's "mega" visualization mode.
commit-bot@chromium.org [Mon, 3 Mar 2014 23:25:41 +0000 (23:25 +0000)]
This adds cull rect visualization to the debugger's "mega" visualization mode.

R=fmalita@google.com, fmalita@chromium.org

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13649 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDon't emit declaration of gl_FragPos unless also changing the origin.
commit-bot@chromium.org [Mon, 3 Mar 2014 23:25:26 +0000 (23:25 +0000)]
Don't emit declaration of gl_FragPos unless also changing the origin.

R=jvanverth@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13648 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agobench rebase after skp update.
commit-bot@chromium.org [Mon, 3 Mar 2014 22:50:13 +0000 (22:50 +0000)]
bench rebase after skp update.

BUG=skia:2163
NOTRY=true
R=rmistry@google.com
TBR=rmistry@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13647 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoCleanup patch to move all of SkImageFilterUtils into SkImageFilter.
senorblanco@chromium.org [Mon, 3 Mar 2014 22:13:56 +0000 (22:13 +0000)]
Cleanup patch to move all of SkImageFilterUtils into SkImageFilter.

This was a utility class that dates from before GPU code was allowed
in core. Now that it is, there's no reason not to have this
functionality in SkImageFilter.

Covered by existing tests.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13646 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoBaselines for skia:2146
commit-bot@chromium.org [Mon, 3 Mar 2014 19:31:08 +0000 (19:31 +0000)]
Baselines for skia:2146

BUG=skia:2146
R=epoger@google.com, bsalomon@google.com

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13645 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRename test files to end with Test.cpp.
commit-bot@chromium.org [Mon, 3 Mar 2014 19:23:28 +0000 (19:23 +0000)]
Rename test files to end with Test.cpp.

DM builds all of {bench,gm,test}/*.cpp.  A Windows build warned us that we were
trying to link typeface.obj twice.  This must have something to do with there
existing gm/typeface.cpp and tests/Typeface.cpp.  To be safe, make sure tests
have a Test.cpp suffix to disambiguate.

BUG=skia:
R=rmistry@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13644 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoGenerating the 1M skps frequently yields truncated skps. This tool is intended to...
commit-bot@chromium.org [Mon, 3 Mar 2014 19:18:39 +0000 (19:18 +0000)]
Generating the 1M skps frequently yields truncated skps. This tool is intended to help automate weeding these out.

Please see skbug:1057

rmistry for tools, gyp
mtklein for src\core & include\core

BUG=skia:1057
R=rmistry@google.com, mtklein@google.com, reed@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13643 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoroll_deps: Return a tuple even when returning early
commit-bot@chromium.org [Mon, 3 Mar 2014 17:57:41 +0000 (17:57 +0000)]
roll_deps: Return a tuple even when returning early

This fixes the bot going red when DEPS is already up-to-date.

BUG=skia:
R=halcanary@google.com

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13642 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd the ability to select bbh type, and include quadtree support.
commit-bot@chromium.org [Mon, 3 Mar 2014 17:51:12 +0000 (17:51 +0000)]
Add the ability to select bbh type, and include quadtree support.
This is a breaking change to tileGridSize flag added in 184543003, as it now defaults to a sensible value but does not implicitly turn on the tile grid bbh.

BUG=skia:2242
R=tomhudson@google.com, mtklein@google.com, skyostil@chromium.org, skyostil@google.com

Author: iancottrell@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13641 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoThe new "mega" viz mode both adds visualization and forces all drawing to the visible...
commit-bot@chromium.org [Mon, 3 Mar 2014 16:32:17 +0000 (16:32 +0000)]
The new "mega" viz mode both adds visualization and forces all drawing to the visible canvas (by replacing the active saveLayers with saves).

R=bsalomon@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13640 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDM: tweak output.
commit-bot@chromium.org [Mon, 3 Mar 2014 15:44:56 +0000 (15:44 +0000)]
DM: tweak output.
Show task name in verbose mode only, and add task runtime.

BUG=skia:
R=reed@google.com, bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13639 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDM: fix -w/-r problems stemming from PM/UPM conversions.
commit-bot@chromium.org [Mon, 3 Mar 2014 15:43:56 +0000 (15:43 +0000)]
DM: fix -w/-r problems stemming from PM/UPM conversions.

DM will now read and write a custom image format, which begins first with a
normal PNG, but also includes the bitmap's raw pixels.  Most tools (file
browser, Preview, Chrome, Skia image decoder) will read the file as PNG.  DM
skips the encoded PNG and reads the raw pixels instead.

This scheme allows perfect pixel comparisons that never go through PM -> UPM or
UPM -> PM conversions, as long as you compare on a machine with the same native
pixel format as the machine which generated the images.  Since we've only ever
used this to do same-machine comparisons, that's more than good enough for now.
We could convert as needed to a standardized PM pixel format if we find we want
these files to be portable.

DM -w output now does increase to ~1.3G.  If that turns out to be annoyingly
big, I'm sure I can come up with a simple pixelwise RLE instead of writing
uncompressed pixels.

BUG=skia:
R=reed@google.com, bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13638 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix CTM scaling and clipping of SkRectShaderImageFilter.
senorblanco@chromium.org [Mon, 3 Mar 2014 14:58:09 +0000 (14:58 +0000)]
Fix CTM scaling and clipping of SkRectShaderImageFilter.

Pass the CTM as part of the local matrix passed by
SkRectShaderImageFilter. Teach SkPerlinNoiseShader to respect the local
matrix. Embiggen imagefiltersscaled GM size to accommodate the new test
cases.

Note: will require rebaselines of imagefiltersscaled and imagefiltersclipped

R=sugoi@chromium.org
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13637 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoNew approach for GPU font atlas
commit-bot@chromium.org [Mon, 3 Mar 2014 14:30:25 +0000 (14:30 +0000)]
New approach for GPU font atlas

In the previous code, each GrTextStrike had exclusive access to one or more GrPlots in the texture atlas. This led to poor packing when only a few glyphs were used. This change allows GrTextStrikes to share GrPlots, thereby getting much better utilization of the entire texture.

BUG=skia:2224
R=robertphillips@google.com, bsalomon@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13636 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdding code to calculate Underline Thickness from Font Metrics, this will be useful...
commit-bot@chromium.org [Sat, 1 Mar 2014 20:12:26 +0000 (20:12 +0000)]
Adding code to calculate Underline Thickness from Font Metrics, this will be useful when Skia is used with Blink/Chrome. Blink changes are uploaded with code change in patch https://codereview.chromium.org/147703002/

BUG=skia:
R=reed@android.com, edisonn@google.com, reed@google.com, mtklein@google.com, mtklein@chromium.org, bungeman@google.com

Author: h.joshi@samsung.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13635 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Sat, 1 Mar 2014 03:02:09 +0000 (03:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@13634 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRebaseline convexclip2_aa gpu on win7
bsalomon@google.com [Fri, 28 Feb 2014 22:21:29 +0000 (22:21 +0000)]
Rebaseline convexclip2_aa gpu on win7

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13633 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDM: make GPU tasks multithreaded again. Big refactor.
commit-bot@chromium.org [Fri, 28 Feb 2014 20:31:31 +0000 (20:31 +0000)]
DM: make GPU tasks multithreaded again.  Big refactor.

The main meat of things is in SkThreadPool.  We can now give SkThreadPool a
type for each thread to create and destroy on its local stack.  It's TLS
without going through SkTLS.

I've split the DM tasks into CpuTasks that run on threads with no TLS, and
GpuTasks that run on threads with a thread local GrContextFactory.

The old CpuTask and GpuTask have been renamed to CpuGMTask and GpuGMTask.

Upshot: default run of out/Debug/dm goes from ~45 seconds to ~20 seconds.

BUG=skia:
R=bsalomon@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13632 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDM: don't crash on Mac.
commit-bot@chromium.org [Fri, 28 Feb 2014 20:28:59 +0000 (20:28 +0000)]
DM: don't crash on Mac.

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13631 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoCleanup GrGLInterface after Chromium changes
commit-bot@chromium.org [Fri, 28 Feb 2014 20:28:50 +0000 (20:28 +0000)]
Cleanup GrGLInterface after Chromium changes

Depends on landing https://codereview.chromium.org/143263014

R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13630 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoImage rebaselines for r13627 (add new onClip* methods to SkCanvas)
robertphillips@google.com [Fri, 28 Feb 2014 20:02:20 +0000 (20:02 +0000)]
Image rebaselines for r13627 (add new onClip* methods to SkCanvas)

https://codereview.chromium.org/179123006/

git-svn-id: http://skia.googlecode.com/svn/trunk@13629 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdding flag to switch bench_record into tilegrid mode
commit-bot@chromium.org [Fri, 28 Feb 2014 19:25:11 +0000 (19:25 +0000)]
Adding flag to switch bench_record into tilegrid mode

BUG=skia:
R=tomhudson@google.com, mtklein@google.com, skyostil@google.com, skyostil@chromium.org

Author: iancottrell@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13628 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoadd new onClip* methods to SkCanvas
robertphillips@google.com [Fri, 28 Feb 2014 18:19:39 +0000 (18:19 +0000)]
add new onClip* methods to SkCanvas

https://codereview.chromium.org/183453002/

git-svn-id: http://skia.googlecode.com/svn/trunk@13627 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoUpdates to the Android.mk writer.
commit-bot@chromium.org [Fri, 28 Feb 2014 17:24:32 +0000 (17:24 +0000)]
Updates to the Android.mk writer.

Keeping up with changes made to the Android.mk file that is
currently checked in.

R=djsollen@google.com, epoger@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13626 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoremove SK_SUPPORT_DEEPCOPYTO_CONFIG
reed@google.com [Fri, 28 Feb 2014 16:30:45 +0000 (16:30 +0000)]
remove SK_SUPPORT_DEEPCOPYTO_CONFIG

git-svn-id: http://skia.googlecode.com/svn/trunk@13625 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoUpdates to gyp files for building Android.mk
commit-bot@chromium.org [Fri, 28 Feb 2014 16:07:39 +0000 (16:07 +0000)]
Updates to gyp files for building Android.mk

R=djsollen@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13624 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoremove SK_SUPPORT_LEGACY_LAYERDRAWLOOPER_PAINTFLAGS -- not needed
reed@google.com [Fri, 28 Feb 2014 15:38:22 +0000 (15:38 +0000)]
remove SK_SUPPORT_LEGACY_LAYERDRAWLOOPER_PAINTFLAGS -- not needed

BUG=skia:
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13623 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRevert of r13620 (add new onClip* methods to SkCanvas - https://codereview.chromium...
robertphillips@google.com [Fri, 28 Feb 2014 15:28:02 +0000 (15:28 +0000)]
Revert of r13620 (add new onClip* methods to SkCanvas - https://codereview.chromium.org/183453002/) due to broken Chrome Canary and failing tests.

git-svn-id: http://skia.googlecode.com/svn/trunk@13622 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoMake GrConvexPolyEffect support inverse fills and non-AA rects
commit-bot@chromium.org [Fri, 28 Feb 2014 14:43:26 +0000 (14:43 +0000)]
Make GrConvexPolyEffect support inverse fills and non-AA rects

BUG=skia:2151
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13621 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoadd new onClip* methods to SkCanvas
robertphillips@google.com [Fri, 28 Feb 2014 14:35:45 +0000 (14:35 +0000)]
add new onClip* methods to SkCanvas

https://codereview.chromium.org/183453002/

git-svn-id: http://skia.googlecode.com/svn/trunk@13620 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Fri, 28 Feb 2014 03:02:05 +0000 (03:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@13619 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoModify how gpu.gyp includes angle.gyp.
commit-bot@chromium.org [Thu, 27 Feb 2014 20:40:31 +0000 (20:40 +0000)]
Modify how gpu.gyp includes angle.gyp.

Instead of including dependencies on angle.gyp and then removing
them if skia_angle is not true, only include angle.gyp to begin
with skia_angle is true.

This allows gyp_to_android.py to work when run in the Android tree,
where we don't have third_party/externals (since we do only a git
merge, and no gclient sync.

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

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13618 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoadd SkCanvas::NewRaster factory -- a very common use-case in chrome
commit-bot@chromium.org [Thu, 27 Feb 2014 20:32:51 +0000 (20:32 +0000)]
add SkCanvas::NewRaster factory -- a very common use-case in chrome

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13617 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd GrSet class built on top of RedBlackTree
commit-bot@chromium.org [Thu, 27 Feb 2014 20:23:22 +0000 (20:23 +0000)]
Add GrSet class built on top of RedBlackTree

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13616 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRename Path to Path2D
commit-bot@chromium.org [Thu, 27 Feb 2014 20:20:21 +0000 (20:20 +0000)]
Rename Path to Path2D

BUG=skia:
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13615 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoUse chromium's gyp if third_party is not available.
commit-bot@chromium.org [Thu, 27 Feb 2014 18:58:51 +0000 (18:58 +0000)]
Use chromium's gyp if third_party is not available.

This is for building Android.mk inside an Android tree where there
is no third_party directory.

R=djsollen@google.com, epoger@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13614 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoreplace gm_fprintf() calls with SkDebugf()
commit-bot@chromium.org [Thu, 27 Feb 2014 18:45:26 +0000 (18:45 +0000)]
replace gm_fprintf() calls with SkDebugf()

BUG=skia:1221
R=bsalomon@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13613 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agorebaseline_server: fix "Results current as of <timestamp>" banner
commit-bot@chromium.org [Thu, 27 Feb 2014 18:13:07 +0000 (18:13 +0000)]
rebaseline_server: fix "Results current as of <timestamp>" banner

(SkipBuildbotRuns)
BUG=skia:2232
NOTREECHECKS=True
NOTRY=True
R=rmistry@google.com
TBR=rmistry

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13612 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoCulling API
commit-bot@chromium.org [Thu, 27 Feb 2014 17:40:13 +0000 (17:40 +0000)]
Culling API

*** SKP format breaking change ***

Adding a couple of culling primitives: pushCull(SkRect) & popCull().

These are currently only plumbed for SKP playback quickreject.

At record time, we perform a couple of optimizations to trim down the
number of redundant culls:

  * collapse empty pushCull/popCull pairs
  * skip pushCull/popCull pairs nested within an identical cull rect

Things still missing/to consider:

  * use an inlineable, simplified quickreject (Mike's old prototype)
  * debugger visualization for cull boxes
  * BBH integration: the initial prototype had some minimal BBH support,
    but since the optimizations required expensive rewinds and culling
    is expected to be a BBH alternative, it got dropped.

R=bsalomon@google.com, reed@google.com, robertphillips@google.com, caryclark@google.com, tomhudson@google.com, iancottrell@google.com

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13611 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoUse SkTLazy to hold path in SkClipStack::Element
commit-bot@chromium.org [Thu, 27 Feb 2014 17:39:46 +0000 (17:39 +0000)]
Use SkTLazy to hold path in SkClipStack::Element

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

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13610 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoMove SkV8Example to SkSurface
commit-bot@chromium.org [Thu, 27 Feb 2014 17:39:40 +0000 (17:39 +0000)]
Move SkV8Example to SkSurface

BUG=skia:
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13609 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoWhitespace change to verify build fix
commit-bot@chromium.org [Thu, 27 Feb 2014 15:24:06 +0000 (15:24 +0000)]
Whitespace change to verify build fix

R=rmistry@google.com
TBR=rmistry
NOTREECHECKS=true
NOTRY=true

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13608 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agotry to deprecate fFlagsMask from SkLayerDrawLooper
reed@google.com [Thu, 27 Feb 2014 14:27:44 +0000 (14:27 +0000)]
try to deprecate fFlagsMask from SkLayerDrawLooper

We think we want to move around how flags/fields like linearText and strikeThru
are specified. SkPaint has helpers for nearly all of these, but LayerInfo in
the draw looper just exposes the raw bitfield.

On survey of chrome/android, it appears that no one uses those, so it may be
safe to just remove the feature entirely from the looper.

R=bungeman@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13607 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoWhitespace change to test CQ
commit-bot@chromium.org [Thu, 27 Feb 2014 12:29:36 +0000 (12:29 +0000)]
Whitespace change to test CQ

(SkipBuildbotRuns)
TBR=
BUG=skia:
NOTRY=true

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13606 2bbb7eff-a529-9590-31e7-b0007b416f81