senorblanco@chromium.org
c53f15c3bc
Nit to self: NULL is not false.
...
R=mtklein@google.com , mtklein
BUG=
Review URL: https://codereview.chromium.org/105423002
git-svn-id: http://skia.googlecode.com/svn/trunk@12493 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 20:55:24 +00:00
commit-bot@chromium.org
c84728d72a
Changed maxInputCount for exact inputCount
...
Processing still had issue when the number of inputs was 0, so I changed my previous fix from a maximum input count to an exact input count. -1 is used when the input count isn't fixed (but still has to be a non-negative number).
BUG=
R=senorblanco@chromium.org , reed@google.com , sugoi@google.com , bsalomon@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/100803004
git-svn-id: http://skia.googlecode.com/svn/trunk@12492 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 20:07:47 +00:00
scroggo@google.com
a0b266d817
Remove deprecated setPrefConfigTable.
...
Safe once its only caller (in Android) has been updated.
BUG=skia:1874
R=reed@google.com
Review URL: https://codereview.chromium.org/99473004
git-svn-id: http://skia.googlecode.com/svn/trunk@12491 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 19:56:31 +00:00
senorblanco@chromium.org
bdb677a277
Do proper NEON checking for SkBoxBlur procs.
...
TBR=mtklein
BUG=
Review URL: https://codereview.chromium.org/98373003
git-svn-id: http://skia.googlecode.com/svn/trunk@12490 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 19:53:41 +00:00
senorblanco@chromium.org
1d62f42e21
Implement a NEON version of the RGBA gaussian blur. This shows a 9-15% speedup on Nexus-10.
...
R=mtklein@google.com , mtklein
before:
running bench [640 480] blur_image_filter_large_10.00_10.00 8888: cmsecs = 33063.23
running bench [640 480] blur_image_filter_small_10.00_10.00 8888: cmsecs = 32800.25
running bench [640 480] blur_image_filter_large_1.00_1.00 8888: cmsecs = 33017.88
running bench [640 480] blur_image_filter_small_1.00_1.00 8888: cmsecs = 32743.35
running bench [640 480] blur_image_filter_large_0.00_1.00 8888: cmsecs = 21024.04
running bench [640 480] blur_image_filter_large_0.00_10.00 8888: cmsecs = 22904.15
running bench [640 480] blur_image_filter_large_1.00_0.00 8888: cmsecs = 18738.08
running bench [640 480] blur_image_filter_large_10.00_0.00 8888: cmsecs = 18798.98
after:
running bench [640 480] blur_image_filter_large_10.00_10.00 8888: cmsecs = 30180.96
running bench [640 480] blur_image_filter_small_10.00_10.00 8888: cmsecs = 29861.90
running bench [640 480] blur_image_filter_large_1.00_1.00 8888: cmsecs = 30178.98
running bench [640 480] blur_image_filter_small_1.00_1.00 8888: cmsecs = 29911.25
running bench [640 480] blur_image_filter_large_0.00_1.00 8888: cmsecs = 19344.35
running bench [640 480] blur_image_filter_large_0.00_10.00 8888: cmsecs = 19957.07
running bench [640 480] blur_image_filter_large_1.00_0.00 8888: cmsecs = 17158.84
running bench [640 480] blur_image_filter_large_10.00_0.00 8888: cmsecs = 17330.73
Review URL: https://codereview.chromium.org/99933004
git-svn-id: http://skia.googlecode.com/svn/trunk@12486 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 18:19:45 +00:00
commit-bot@chromium.org
db6f36e784
Remove problematic GrContext thread local instance counting
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/104893002
git-svn-id: http://skia.googlecode.com/svn/trunk@12485 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 17:55:15 +00:00
commit-bot@chromium.org
cd3b15ca63
Fixed bad bitmap size crashes
...
There were 2 issues :
1 ) If the size of an SkBitmap's underlying SkPixelRef's alocated memory is too small to fit the bitmap, then the deserialization will now check this and set an error appropriately.
2 ) If a device fails to allocate its pixels, the device will be deleted and NULL will be returned to avoid attempting to draw on a bad device.
BUG=
R=senorblanco@chromium.org , reed@google.com , sugoi@google.com , halcanary@google.com , mtklein@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/92793002
git-svn-id: http://skia.googlecode.com/svn/trunk@12484 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 17:06:49 +00:00
commit-bot@chromium.org
1735d6696e
Fix incremental visibility filter handling.
...
When drawing incrementally, SkDebugCanvas can end up applying the
visibility overlay multiple times (resulting in a fade-to-white effect).
The CL also includes a minor/unrelated SkDebugCanvas cleanup.
R=robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/103083004
git-svn-id: http://skia.googlecode.com/svn/trunk@12478 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 13:42:46 +00:00
skia.committer@gmail.com
6e515d67d2
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12477 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 07:02:26 +00:00
commit-bot@chromium.org
7542dc8897
[PDF] Fixes the cases where SkPDFDevice::finishContentEntry is called with empty content.
...
There are some cases (like drawing a completely transparent image) where the code tries to finish a content entry with no content and an xfermode other than clear. This makes those cases work correctly.
This is likely what was happening in chromium:316546, but it wasn't clear what the core problem was. desk_techcrunch.skp tripped a debug only assert that exposed the core issue.
BUG=skia:1868,chromium:316546
R=reed@google.com , bungeman@google.com
Author: vandebo@chromium.org
Review URL: https://codereview.chromium.org/92453002
git-svn-id: http://skia.googlecode.com/svn/trunk@12473 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 21:08:46 +00:00
robertphillips@google.com
11e055518a
Code cleanup following recapture of skps
...
https://codereview.chromium.org/88233003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12472 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 19:46:58 +00:00
commit-bot@chromium.org
f8cb184095
Add GPU support for color bitmap fonts
...
BUG=skia:1869
R=bungeman@google.com , robertphillips@google.com , bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/99993002
git-svn-id: http://skia.googlecode.com/svn/trunk@12471 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 19:45:22 +00:00
robertphillips@google.com
b06e88dc65
Fix for SkPathRef::CreateTransformedCopy bug
...
https://codereview.chromium.org/99423004/
git-svn-id: http://skia.googlecode.com/svn/trunk@12464 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 17:15:36 +00:00
robertphillips@google.com
466310dbd3
Move fIsOval from SkPath to SkPathRef
...
https://codereview.chromium.org/89123002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12463 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 16:43:54 +00:00
bungeman@google.com
0d9e3da8bb
Use lowercase windows.h in includes to fix Windows cross compilation using mingw.
...
While it doesn't matter on Windows, mingw on case-sensitive OSes uses all lower case filenames for platform include files. I found the problem in SkCondVar.h from Mozilla checkout of skia sources, but the patch contains a fix for the whole skia tree.
R=bungeman@google.com
Review URL: https://codereview.chromium.org/99173003
git-svn-id: http://skia.googlecode.com/svn/trunk@12461 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 15:23:37 +00:00
robertphillips@google.com
ca316f576e
Revert of r12450 (Move fIsOval from SkPath to SkPathRef)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12452 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 00:23:39 +00:00
robertphillips@google.com
31f0ffc9c3
Move fIsOval from SkPath to SkPathRef
...
https://codereview.chromium.org/89123002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12450 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 23:55:11 +00:00
commit-bot@chromium.org
46e266cdbe
ARM Skia NEON patches - 29 - Xfermode: SkFourByteInterp
...
Xfermode: add a NEON version of SkFourByteInterp
Brings a modest performance improvement on its own in
ProcXfermodes when aa is neither zero nor FF. Combined
with 1-pixel NEON modeprocs, it brings up to 35% speed
improvement on the aa case.
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
R=djsollen@google.com , mtklein@google.com , reed@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/23724013
git-svn-id: http://skia.googlecode.com/svn/trunk@12448 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:40:56 +00:00
commit-bot@chromium.org
845da77bc0
Delay setting initial memory block until it officially exists.
...
BUG=323017
R=robertphillips@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/99833002
git-svn-id: http://skia.googlecode.com/svn/trunk@12446 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:32:58 +00:00
commit-bot@chromium.org
dd59799cf8
SkDiscardablePixelRef objects are now marked immutable.
...
I also specifically mentioned in the SkImageGenerator documentation
that it should always return the same information on subsequent calls
to getInfo() and getPixels().
Motivation: When a bitmap is recorded into a SkPicture, it will choose
whether to shallow- or deep-copy itself into the SkBitmapHeap based on
the immutable flag. Failing to set it would make picture recording slow.
BUG=
R=fmalita@google.com , reed@google.com , scroggo@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/99303003
git-svn-id: http://skia.googlecode.com/svn/trunk@12445 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:32:54 +00:00
commit-bot@chromium.org
dec61503d0
HQ filtering for tiled/bleed drawBitmap
...
sample at pix center in bicubic
R=senorblanco@chromium.org , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/83153006
git-svn-id: http://skia.googlecode.com/svn/trunk@12440 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:22:35 +00:00
bungeman@google.com
a089f03944
Fix 'i-i' to 'i-1' in SkCanvasStack.
...
Pointed out in http://www.viva64.com/en/b/0225/ .
R=djsollen@google.com
Review URL: https://codereview.chromium.org/99753002
git-svn-id: http://skia.googlecode.com/svn/trunk@12439 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 21:34:36 +00:00
bungeman@google.com
4d71db8530
Actually mark other types of fonts as 'kOther' in FreeType port.
...
Without this, the fType is garbage and will most likely cause an assert
or unwanted behavior later.
Review URL: https://codereview.chromium.org/99453005
git-svn-id: http://skia.googlecode.com/svn/trunk@12431 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 19:10:02 +00:00
robertphillips@google.com
c932c9fd77
Fix truncation of glyphs in SkScalerContext.cpp
...
https://codereview.chromium.org/99323002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12430 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 15:43:39 +00:00
rmistry@google.com
d6bab02386
Reverting r12427
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12428 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 13:50:38 +00:00
skia.committer@gmail.com
5b39f5ba9c
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12427 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 13:36:22 +00:00
commit-bot@chromium.org
742058f0ca
Speed up GrResourceCache lookup by inlining GrBinHashKey comparisons
...
The GCC compilers for Android and Ubuntu do not seem to be able to
inline the memcmp operations on GrBinHashKey data. Write the comparisons
manually. Also shortcut GrBinHashKey::EQ to skip comparison when hashes
do not match.
Speeds up grresourcecache_find test on ARM and x86_64. Speeds up
grresourcecache_add on x86_64.
In order to test the change, moves ad hoc Gr unit tests from
src/gr_unittest.cpp to tests/GrUnitTests to be consistent with other
tests and enables GrUnitTests.
Fixes a regression from r2863 with where re-setting GrBinHashKey data
would not set the hash correctly. This should also improve the hash
function itself. The regression caused many of the hash operations be
no-ops. This is caught by the unit test.
Renames the comparison functions that GrHashTable needs from EQ, LT to
Equals, LessThan.
Renames GrTBinHashKey to GrBinHashKey. The GrTBinHashKey used to
forward comparison functions to an ENTRY template class, which would
extract the key and call back to the GrTBinHashKey. This would save
the user from writing one comparison function when comparison was done
with int ENTRY::compare(). There's no real benefit in this now. Also
this was used only for one class (GrTextureStripAtlas). The other use
in GrResourceKey was not actually using the provided "shortcut". The
new GrBinHashKey is not templated with the entry, rather just provides
== and < functions. The users of GrTHashTable provide the needed
functions now.
Adds explicit documentation of functions that are actually needed
GrTHashTable for the Key template. Adds SK_DEBUG guards according to
the contract.
R=bsalomon@google.com , mtklein@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/88113002
git-svn-id: http://skia.googlecode.com/svn/trunk@12426 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-28 08:24:29 +00:00
skia.committer@gmail.com
9c963520ea
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12425 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-28 07:02:25 +00:00
bungeman@google.com
cb4f77d89d
Document the SkScalerContext pure virtuals.
...
R=reed@google.com
Review URL: https://codereview.chromium.org/92623002
git-svn-id: http://skia.googlecode.com/svn/trunk@12423 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-27 20:53:45 +00:00
commit-bot@chromium.org
23d2cf9b07
Trying to add the same scaled image twice shouldn't assert.
...
This unbreaks bench_pictures --multi foo for me.
BUG=skia:1868
R=reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/89293002
git-svn-id: http://skia.googlecode.com/svn/trunk@12422 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-27 20:22:23 +00:00
commit-bot@chromium.org
a50418f65e
Don't check the framebuffer status every time we flush when we're on Chromium;
...
this reduces the number of unnecessary command buffer flushes by about 50%
for page loads when doing Ganesh rendering, since we do a flush on clear.
BUG=
R=bsalomon@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/92103002
git-svn-id: http://skia.googlecode.com/svn/trunk@12421 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-27 18:13:17 +00:00
commit-bot@chromium.org
dbe7f52412
ARM Skia NEON patches - 16/17 - Blitmask
...
Blitmask: NEON optimised version of the D32_A8 functions
Here are the microbenchmark results I got for the D32_A8
functions:
Cortex-A9:
==========
+-------+--------+--------+--------+
| count | Black | Opaque | Color |
+-------+--------+--------+--------+
| 1 | -14% | -39,5% | -37,5% |
+-------+--------+--------+--------+
| 2 | -3% | -29,9% | -25% |
+-------+--------+--------+--------+
| 4 | -11,3% | -22% | -14,5% |
+-------+--------+--------+--------+
| 8 | +128% | +66,6% | +105% |
+-------+--------+--------+--------+
| 16 | +159% | +102% | +149% |
+-------+--------+--------+--------+
| 64 | +189% | +136% | +189% |
+-------+--------+--------+--------+
| 256 | +126% | +102% | +149% |
+-------+--------+--------+--------+
| 1024 | +67,5% | +81,4% | +123% |
+-------+--------+--------+--------+
Cortex-A15:
===========
+-------+--------+--------+--------+
| count | Black | Opaque | Color |
+-------+--------+--------+--------+
| 1 | -24% | -46,5% | -37,5% |
+-------+--------+--------+--------+
| 2 | -18,5% | -35,5% | -28% |
+-------+--------+--------+--------+
| 4 | -5,2% | -17,5% | -15,5% |
+-------+--------+--------+--------+
| 8 | +72% | +65,8% | +84,7% |
+-------+--------+--------+--------+
| 16 | +168% | +117% | +149% |
+-------+--------+--------+--------+
| 64 | +165% | +110% | +145% |
+-------+--------+--------+--------+
| 256 | +106% | +99,6% | +141% |
+-------+--------+--------+--------+
| 1024 | +93,7% | +94,7% | +130% |
+-------+--------+--------+--------+
Blitmask: add NEON optimised PlatformBlitRowProcs16
Here are the microbenchmark results (speedup vs. C code):
+-------+-----------------+-----------------+
| | Cortex-A9 | Cortex-A15 |
| count +--------+--------+--------+--------+
| | Blend | Opaque | Blend | Opaque |
+-------+--------+--------+--------+--------+
| 1 | -19,2% | -36,7% | -33,6% | -44,7% |
+-------+--------+--------+--------+--------+
| 2 | -12,6% | -27,8% | -39% | -48% |
+-------+--------+--------+--------+--------+
| 4 | -11,5% | -21,6% | -37,7% | -44,3% |
+-------+--------+--------+--------+--------+
| 8 | +141% | +59,7% | +123% | +48,7% |
+-------+--------+--------+--------+--------+
| 16 | +213% | +119% | +214% | +121% |
+-------+--------+--------+--------+--------+
| 64 | +212% | +105% | +242% | +167% |
+-------+--------+--------+--------+--------+
| 256 | +289% | +167% | +249% | +207% |
+-------+--------+--------+--------+--------+
| 1024 | +273% | +169% | +146% | +220% |
+-------+--------+--------+--------+--------+
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
R=djsollen@google.com , mtklein@google.com , reed@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/23719002
git-svn-id: http://skia.googlecode.com/svn/trunk@12420 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-27 17:08:36 +00:00
reed@google.com
43c465f2bd
fix 8->1 bugs shown by removal of A1 config
...
BUG=
Review URL: https://codereview.chromium.org/91563003
git-svn-id: http://skia.googlecode.com/svn/trunk@12415 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-27 14:47:30 +00:00
commit-bot@chromium.org
72ca2654ef
Fixed bad memory access
...
BUG=323595
R=senorblanco@google.com , reed@google.com , sugoi@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/88643004
git-svn-id: http://skia.googlecode.com/svn/trunk@12410 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 23:52:20 +00:00
bungeman@google.com
49360dfa61
Remove unused fields from SkGlyphCache.
...
Review URL: https://codereview.chromium.org/89423003
git-svn-id: http://skia.googlecode.com/svn/trunk@12407 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 23:17:46 +00:00
mtklein@google.com
ca5bb87a31
DM: write failed comparison mode .pngs one more level deep in the tree.
...
E.g. instead of having to compare
/tmp/dm/565/optimizations.png
vs.
/tmp/dm/replay/optimizations_565.png
it's now
/tmp/dm/565/optimizations.png
vs.
/tmp/dm/replay/565/optimizations.png
This lets working with skdiff go a lot more smoothly.
BUG=
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/88773002
git-svn-id: http://skia.googlecode.com/svn/trunk@12402 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 22:06:12 +00:00
senorblanco@chromium.org
d8f82a4c44
Enhance SkDropShadowImageFilter to support separate X & Y sigmas, and crop rect. This required a new flavour of the constructor.
...
This is driven by the feDropShadow filter effect in SVG, which unlike the shorthand version accepts separate X & Y sigmas.
Covered by new GM dropshadowimagefilter.
R=reed@google.com
Review URL: https://codereview.chromium.org/88243004
git-svn-id: http://skia.googlecode.com/svn/trunk@12401 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 21:52:38 +00:00
bungeman@google.com
7435f34b47
Minimal changes to not crash GPU with color fonts.
...
Review URL: https://codereview.chromium.org/88993003
git-svn-id: http://skia.googlecode.com/svn/trunk@12400 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 20:43:27 +00:00
commit-bot@chromium.org
11f392ed53
Revert "Revert "remove kA1_Config, as it is no longer supported""
...
This reverts commit 36d712f2d4c5c79719280ad95523e6aaa88b068e.
BUG=
R=rmistry@google.com , mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/86483002
git-svn-id: http://skia.googlecode.com/svn/trunk@12392 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 12:51:57 +00:00
commit-bot@chromium.org
6300f4d1f3
Add 'skiapict' magic bytes to SkPicture format.
...
Testing: out/Debug/tests && out/Release/gm --replay --serialize
BUG=
R=fmalita@google.com , reed@google.com , fmalita@chromium.org
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/27408002
git-svn-id: http://skia.googlecode.com/svn/trunk@12391 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 12:46:59 +00:00
commit-bot@chromium.org
7f78611271
Clean up 4 old bytes per paint.
...
BUG=
R=reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/27370003
git-svn-id: http://skia.googlecode.com/svn/trunk@12390 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 12:46:52 +00:00
commit-bot@chromium.org
ce33d60187
Adding more validation
...
- Added a way to check that the number of inputs of a filter is not more than a filter expects
- Added validation of reftype in SkBitmap::unflatten()
- Added validation on fKD (diffuse lighting constant) and fKS (specular lighting constant) to make sure that they are always non-negative numbers
- Added validation of SkPerlinNoiseShader::fType and SkPerlinNoiseShader::fNumOctaves
BUG=
R=reed@google.com , senorblanco@google.com , mtklein@google.com , senorblanco@chromium.org , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/83343003
git-svn-id: http://skia.googlecode.com/svn/trunk@12388 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 21:46:31 +00:00
reed@google.com
72e7808d62
Revert "remove kA1_Config, as it is no longer supported"
...
This reverts commit 2d72d8b242eac6e9d30228f5b0a407236491c369.
git-svn-id: http://skia.googlecode.com/svn/trunk@12387 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 20:54:56 +00:00
commit-bot@chromium.org
4b413c8bb1
remove SkFloatToScalar macro
...
BUG=
R=reed@google.com , djsollen@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/85463005
git-svn-id: http://skia.googlecode.com/svn/trunk@12385 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 19:44:07 +00:00
reed@google.com
2a1f4464d1
remove kA1_Config, as it is no longer supported
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/83093005
git-svn-id: http://skia.googlecode.com/svn/trunk@12384 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 18:58:29 +00:00
caryclark@google.com
927b7028d4
remove unused reduce order code
...
BUG=
Review URL: https://codereview.chromium.org/85763002
git-svn-id: http://skia.googlecode.com/svn/trunk@12377 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 14:18:21 +00:00
caryclark@google.com
28d219c568
fix pathops quad line intersection
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12374 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 13:39:12 +00:00
mtklein@google.com
9b8c036eda
Inline performance-critical methods on SkAlphaRuns.
...
Clang needs to be forced to inline add, so we do that.
GCC on desktop
bench conf time old new diff diffP
draw_coverage_false 8888 c 236.08 212.01 +24.07 +10.2%
draw_coverage_true 8888 c 125.67 104.49 +21.18 +16.9%
GCC on N5
bench conf time old new diff diffP
draw_coverage_false 8888 c 566.33 529.96 +36.37 +6.4%
draw_coverage_true 8888 c 315.39 293.85 +21.54 +6.8%
Clang on desktop
bench conf time old new diff diffP
draw_coverage_false 8888 c 337.37 330.63 +6.74 +2.0%
draw_coverage_true 8888 c 126.87 119.32 +7.55 +6.0%
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/83243005
git-svn-id: http://skia.googlecode.com/svn/trunk@12370 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 21:25:55 +00:00
mtklein@google.com
6e223af090
I feel like my clang is especially sensitive to unused variables.
...
BUG=
Review URL: https://codereview.chromium.org/82913006
git-svn-id: http://skia.googlecode.com/svn/trunk@12369 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 20:43:54 +00:00
commit-bot@chromium.org
d6ca4ac1ee
[GPU] Use view matrix + rect to implement subrect for drawBitmap when there is a mask filter and bleed.
...
R=robertphillips@google.com , reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/65133003
git-svn-id: http://skia.googlecode.com/svn/trunk@12368 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 20:34:59 +00:00
commit-bot@chromium.org
44e86572eb
Disable the save/clip/restore peephole optimization when a bounding hierarchy is used
...
This optimization is redundant with the state traversal optimization that is
performed by SkPictureStateTree and it introduces significant record time
overhead. Therefore it is better not to perform this optimization when using
a BBoxHierarchy.
BUG=1852
R=tomhudson@google.com , robertphillips@google.com , reed@google.com
Author: junov@chromium.org
Review URL: https://codereview.chromium.org/79313003
git-svn-id: http://skia.googlecode.com/svn/trunk@12367 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 19:42:13 +00:00
commit-bot@chromium.org
46a9bb8d71
Fixing issues found by fuzzer
...
BUG=321802,321790
R=reed@google.com , senorblanco@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/83073005
git-svn-id: http://skia.googlecode.com/svn/trunk@12362 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 16:43:14 +00:00
skia.committer@gmail.com
f61ebc0927
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12358 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 07:02:24 +00:00
commit-bot@chromium.org
e0a868c84e
Apply hairline optimization only if the path renderer wants it
...
Make the decision to convert thin, non-hairline paths to hairline
paths at the renderer level.
The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.
Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by a renderer that
wants the optimization. Previously the optimization was applied only
when callgraph started with SkCanvas::drawPath.
Applies the optimization for GrAAHairLineRenderer and
GrDefaultPathRenderer.
This changes gm results for dashing3_{msaa4,gpu} and drawlooper_msaa4.
R=bsalomon@google.com , jvanverth@google.com , rmistry@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/38573007
git-svn-id: http://skia.googlecode.com/svn/trunk@12357 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 07:02:11 +00:00
reed@google.com
52314f82ba
move SkProcCoeffXfermode unflatten constructor into .cpp, and range-check its mode
...
BUG=
Review URL: https://codereview.chromium.org/79543009
git-svn-id: http://skia.googlecode.com/svn/trunk@12355 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 21:05:06 +00:00
bungeman@google.com
d4323325ca
Remove unwanted gFTMutex from DirectWrite port.
...
This mutex exists because this file started life as a copy of the
FreeType port. There is no global library state to protect here,
so there is no need for the mutex.
R=caryclark@google.com
Review URL: https://codereview.chromium.org/80983003
git-svn-id: http://skia.googlecode.com/svn/trunk@12353 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 18:47:01 +00:00
djsollen@google.com
9e59cb69e1
fix compiler error where SK_SCALAR_IS_FLOAT is not defined. (attempt 2)
...
R=reed@google.com
Review URL: https://codereview.chromium.org/81323002
git-svn-id: http://skia.googlecode.com/svn/trunk@12352 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 18:29:53 +00:00
djsollen@google.com
5df06a2fea
fix compiler error where SK_SCALAR_IS_FLOAT is not defined.
...
Review URL: https://codereview.chromium.org/80993004
git-svn-id: http://skia.googlecode.com/svn/trunk@12349 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 17:59:19 +00:00
fmalita@google.com
517dbe8bdc
Fix SkScalar conversion warning.
...
TBR=scroggo@google.com
Review URL: https://codereview.chromium.org/81293002
git-svn-id: http://skia.googlecode.com/svn/trunk@12348 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 17:50:15 +00:00
commit-bot@chromium.org
ce0e4efabd
Fix VC++ ptr-to-... and va_list confusion
...
R=bungeman@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/78903006
git-svn-id: http://skia.googlecode.com/svn/trunk@12346 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 17:20:17 +00:00
commit-bot@chromium.org
e898e9c65e
Show basic SkPicture details in debugger.
...
R=robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/80223003
git-svn-id: http://skia.googlecode.com/svn/trunk@12345 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 17:08:12 +00:00
commit-bot@chromium.org
866f4e34a9
optimize pathops coverage
...
Remove unused code from SkOpSegment.cpp and friends.
Add new tests exposed by coverage.
Fix a bug exposed by coverage -- removing the need to detect points that are nearby when intersecting.
Add gyp rule for building coverage flavor on Mac.
R=mtklein@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/75453003
git-svn-id: http://skia.googlecode.com/svn/trunk@12344 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 17:04:29 +00:00
commit-bot@chromium.org
8660783e19
Minor fix in Ganesh shader generation.
...
R=bsalomon@google.com
Author: skaslev@chromium.org
Review URL: https://codereview.chromium.org/78843006
git-svn-id: http://skia.googlecode.com/svn/trunk@12343 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:57:40 +00:00
halcanary@google.com
ad04eb49f5
Add SkImageGenerator Interface
...
- Add SkDiscardablePixelRef class that uses SkDiscardableMemory and
a SkImageGenerator.
- Add SkDecodingImageGenerator class as an example of a
SkImageGenerator.
- Add DecodingImageGenerator unit test.
- Add SkBasicDiscardableMemory implmentation for unit tests only.
R=reed@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/74793011
git-svn-id: http://skia.googlecode.com/svn/trunk@12341 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:32:08 +00:00
commit-bot@chromium.org
8b656c6db4
Avoid printing draw target info to stderr while running unit tests
...
Change draw target dump function to return a SkString. Clients can do
whatever they want with the string.
BUG=skia:1837
R=caryclark@google.com , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/72353003
git-svn-id: http://skia.googlecode.com/svn/trunk@12340 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:23:15 +00:00
commit-bot@chromium.org
75a2295445
Minor fixes for distance field fonts:
...
- Remove additional transform in drawpostext()
- Use bitmap fonts if rasterizer set in paint
- Correctly set scale ratio for drawtext()
R=bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/79283004
git-svn-id: http://skia.googlecode.com/svn/trunk@12338 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:09:33 +00:00
robertphillips@google.com
a4662865e3
More Windows 64b compilation warning fixes
...
https://codereview.chromium.org/47513017/
git-svn-id: http://skia.googlecode.com/svn/trunk@12337 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 14:24:16 +00:00
commit-bot@chromium.org
644629c1c7
Implement a benchmark for GrResourceCache
...
Adds "grresourcecache_add" and "grresourcecache_find" bench tests to test
GrResourceCache::add and GrResourceCache::find. The tests work only
with GPU backends, since GrResourceCache needs an GrGpu.
Modifies bench tests to override SkBenchmark::isSuitableFor(Backend)
function that specifies what kind of backend the test is inteded
for. This replaces the previous "fIsRendering" flag that would
indicate test that did no rendering.
Adds SkCanvas::getGrContext() call to get the GrContext that the
canvas ends up drawing to. The member function solves a common
use-case that is also used in the benchmark added here.
R=mtklein@google.com , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/73643005
git-svn-id: http://skia.googlecode.com/svn/trunk@12334 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 06:21:58 +00:00
bungeman@google.com
8f53d58622
Only SkFontMgr_New_DirectWrite should call GetSystemFontCollection.
...
Aside from the factory helper, there should be no calls to
IDWriteFactory::GetSystemFontCollection. All other code should work in
terms of IDWriteFontCollection for flexibility and correctness.
R=caryclark@google.com
Review URL: https://codereview.chromium.org/77023006
git-svn-id: http://skia.googlecode.com/svn/trunk@12331 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 22:42:13 +00:00
commit-bot@chromium.org
178acd25b0
Fix SkMatrix44::invert(...) for identity matrices and a NULL parameter
...
Currently, to check if an SkMatrix44 is singular, we call ::invert(NULL) and
check the result. Usually this does no more work than is necessary. One
case where we do far too much work is if |this| is an identity matrix. In
this case, we do not early out and compute a (partial) determinant (we don't
do the full shebang because there are no perspective components).
BUG=None
R=ajuma@chromium.org , reed@google.com
Author: vollick@chromium.org
Review URL: https://codereview.chromium.org/79333002
git-svn-id: http://skia.googlecode.com/svn/trunk@12327 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 21:32:27 +00:00
commit-bot@chromium.org
273104028c
Remove the SKIA_IGNORE_GPU_MIPMAPS now that Chrome sets glGenMipmap for
...
the skia GL interface.
R=bsalomon@google.com , humper@google.com
Author: skaslev@chromium.org
Review URL: https://codereview.chromium.org/74783011
git-svn-id: http://skia.googlecode.com/svn/trunk@12319 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 17:59:48 +00:00
robertphillips@google.com
8c99c9f4a6
Reverting r12315 (More Windows 64b compilation warning fixes) due to compilation failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12316 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:56:14 +00:00
robertphillips@google.com
80051d38a3
More Windows 64b compilation warning fixes
...
https://codereview.chromium.org/47513017/
git-svn-id: http://skia.googlecode.com/svn/trunk@12315 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:46:10 +00:00
mtklein@google.com
f1077f9164
Add extra warnings to match what Android uses.
...
R=mtklein@google.com
Committed: https://code.google.com/p/skia/source/detail?r=12310
Review URL: https://codereview.chromium.org/74193005
git-svn-id: http://skia.googlecode.com/svn/trunk@12314 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:13:49 +00:00
bungeman@google.com
f7159bba8e
De-generalize create_typeface on Windows.
...
The gdi and dw backends have a local create_typeface function.
This function is now called in only one place, onLegacyCreateTypeface.
Move the implementation into the caller.
R=caryclark@google.com
Review URL: https://codereview.chromium.org/76763002
git-svn-id: http://skia.googlecode.com/svn/trunk@12313 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:11:05 +00:00
scroggo@google.com
b60cdc8f4c
Revert "Add extra warnings to match what Android uses."
...
This reverts commit d234662df1ffeb1bf45b2ade16c4acfb94f89450.
This change broke the build. Will resubmit after fixing warnings.
git-svn-id: http://skia.googlecode.com/svn/trunk@12311 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 13:58:58 +00:00
djsollen@google.com
692f88c7f0
Add extra warnings to match what Android uses.
...
R=mtklein@google.com
Review URL: https://codereview.chromium.org/74193005
git-svn-id: http://skia.googlecode.com/svn/trunk@12310 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 13:16:47 +00:00
bungeman@google.com
10822c6daa
SkMemoryStream::setData should also set the current offset to 0.
...
R=scroggo@google.com
Review URL: https://codereview.chromium.org/73273004
git-svn-id: http://skia.googlecode.com/svn/trunk@12308 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 21:29:36 +00:00
mtklein@google.com
cf4d0fb8bb
Fix Windows build after the SkAutoFoo guard CL.
...
BUG=
Review URL: https://codereview.chromium.org/66593004
git-svn-id: http://skia.googlecode.com/svn/trunk@12303 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 16:33:08 +00:00
robertphillips@google.com
701b40543d
Fix DocumentTest/SkDocument memory leaks
...
https://codereview.chromium.org/72833002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12302 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 16:26:25 +00:00
commit-bot@chromium.org
e61a86cfa0
Guard against most unintentionally ephemeral SkAutoFoo instantiations.
...
I think I applied the trick everywhere possible. Limitations:
- can't be used with templated classes
- all constructors and destructors must be defined inline
A couple of the SkAutoFoo were unused in Skia, Chromium, and Android, so I
deleted them. This change caught the same bugs Cary found in SkPath, plus one
more in SampleApp.
BUG=
R=reed@google.com , caryclark@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/72603005
git-svn-id: http://skia.googlecode.com/svn/trunk@12301 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 16:03:59 +00:00
mike@reedtribe.org
139a2359ab
fix general-pespective for conical gradient bug=1744
...
BUG=
R=edisonn@google.com
Review URL: https://codereview.chromium.org/71303003
git-svn-id: http://skia.googlecode.com/svn/trunk@12299 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 20:15:51 +00:00
commit-bot@chromium.org
be65a4c9d6
Add missing functions to SkNWayCanvas
...
R=reed@google.com
BUG=none
Author: enne@chromium.org
Review URL: https://codereview.chromium.org/65513003
git-svn-id: http://skia.googlecode.com/svn/trunk@12295 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 19:02:41 +00:00
commit-bot@chromium.org
a1a097ee81
increase coverage of SkPath.cpp, remove unused code
...
Using Mike Klein's excellent coverage tool, increase the
unit testing of SkPath.cpp from 70% to 95%.
Along the way, determined that these functions were not
maintained or used:
SkPath::pathTo
SkPath::contains
as well as a large block of SkPath::cheapGetDirection().
Changed SkPath::validate() to permit infinities in
the path data points.
Fixed errors in preserving direction.
Fixed error setting direction when convexity is unknown.
Added missing conic to moveTo only detector.
BUG=
R=bsalomon@google.com , reed@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/65493004
git-svn-id: http://skia.googlecode.com/svn/trunk@12291 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 16:53:22 +00:00
reed@google.com
3443fd8886
move SkImageInfo into its own header
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/71813002
git-svn-id: http://skia.googlecode.com/svn/trunk@12273 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 19:09:13 +00:00
reed@google.com
ec3ca87d33
Revert "Revert "switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice""
...
This reverts commit ff0152ec5e2a0faf38ae1a317c5d77df08139104.
BUG=
Review URL: https://codereview.chromium.org/68203018
git-svn-id: http://skia.googlecode.com/svn/trunk@12271 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 16:02:18 +00:00
reed@google.com
5308c83a36
drawPosTextOnPath is now deprecated, removing all overrides and impls
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/61743017
git-svn-id: http://skia.googlecode.com/svn/trunk@12270 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 15:22:15 +00:00
skia.committer@gmail.com
44a95d768d
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12261 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 07:02:17 +00:00
reed@google.com
4d16470973
Revert "switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice"
...
This reverts commit 72958c374bdb9457419beeba7de1387da3293882.
BUG=
Review URL: https://codereview.chromium.org/58933007
git-svn-id: http://skia.googlecode.com/svn/trunk@12260 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 22:27:30 +00:00
reed@google.com
3f4bf51edd
switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice
...
BUG=
R=robertphillips@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/70473003
git-svn-id: http://skia.googlecode.com/svn/trunk@12259 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 22:14:08 +00:00
scroggo@google.com
09a5383adc
Hide implementation details: SkFrontBufferedStream
...
R=reed@google.com
Review URL: https://codereview.chromium.org/25581002
git-svn-id: http://skia.googlecode.com/svn/trunk@12256 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 20:53:05 +00:00
commit-bot@chromium.org
30b1aafab0
[PDF] Speculative fix for chrome crash w/ SRC xfer mode.
...
BUG=chromium:316546
R=edisonn@google.com , reed@google.com
Author: vandebo@chromium.org
Review URL: https://codereview.chromium.org/61153003
git-svn-id: http://skia.googlecode.com/svn/trunk@12253 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 19:36:14 +00:00
commit-bot@chromium.org
23a9121961
pdfviewer: compile pdfviewer in gm, only if the flag is set (currently we compile pdfviewer, even if it is not used)
...
R=scroggo@google.com , jvanverth@google.com
Author: edisonn@google.com
Review URL: https://codereview.chromium.org/68533003
git-svn-id: http://skia.googlecode.com/svn/trunk@12249 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 17:44:28 +00:00
scroggo@google.com
cac8d01eab
Override drawRRect in fake SkBitmapDevices.
...
Recent changes to SkBitmapDevice modified ::drawRRect() to take
an optimized drawing case. Some subclasses of SkBitmapDevice were
depending on the old behavior of calling ::drawPath(). Since they
do not draw, attempting to take the drawing path can cause problems.
For these subclasses, call drawPath() in the subclass.
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/70443002
git-svn-id: http://skia.googlecode.com/svn/trunk@12247 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 17:10:02 +00:00
senorblanco@chromium.org
f14bcd25e5
Remove some now-unused #ifdefs.
...
R=mtklein@google.com , mtklein, reed@google.com
Review URL: https://codereview.chromium.org/68473003
git-svn-id: http://skia.googlecode.com/svn/trunk@12246 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 16:46:43 +00:00
reed@google.com
23be7a58d9
add colortable enum to SkImage to ease interop between it and SkBitmap::Config
...
BUG=
R=halcanary@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/68853003
git-svn-id: http://skia.googlecode.com/svn/trunk@12245 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 16:11:07 +00:00
scroggo@google.com
5401cd019b
Clean up after longjmp in SkImageDecoder_libpng.
...
In onDecodeInit, if longjmp sends us back to setjmp, destroy the
png_struct and info_ptr before returning false. Since the
PNGAutoClean has not been created yet, we were previously
leaking resources.
R=djsollen@google.com
Review URL: https://codereview.chromium.org/68453006
git-svn-id: http://skia.googlecode.com/svn/trunk@12244 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 15:30:06 +00:00
scroggo@google.com
feeca3c7c2
Create nonPOD before setjmp.
...
With PNGAutoClean created after setjmp, when longjmp is called its destructor
is never called. Create it before setjmp, ensuring that its destructor is
called.
R=mtklein@google.com
Review URL: https://codereview.chromium.org/65283002
git-svn-id: http://skia.googlecode.com/svn/trunk@12238 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 14:38:41 +00:00
scroggo@google.com
59c3ab637b
Fix a memory leak in SkGPipeCanvas.
...
In cross process mode (currently unused but tested on the bots),
SkGPipeCanvas has a tangle of circular references, which prevents
it from being deleted. Break the chain of references.
R=junov@chromium.org
Review URL: https://codereview.chromium.org/69633003
git-svn-id: http://skia.googlecode.com/svn/trunk@12237 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 14:32:38 +00:00
skia.committer@gmail.com
11a253b686
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12232 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 07:02:05 +00:00
robertphillips@google.com
50a7600d05
Disable Blurred RR optimization in Chrome
...
https://codereview.chromium.org/68773005/
git-svn-id: http://skia.googlecode.com/svn/trunk@12231 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 01:16:56 +00:00
edisonn@google.com
73a7ea3ae0
Implement DPI for perspective bitmaps in PDF - we save the bitmap at the resolution requested.
...
R=reed@google.com , vandebo@chromium.org
Review URL: https://codereview.chromium.org/54913004
git-svn-id: http://skia.googlecode.com/svn/trunk@12230 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:55:15 +00:00
jvanverth@google.com
d830d13c27
Hook in rough distance field support for fonts
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/41213003
git-svn-id: http://skia.googlecode.com/svn/trunk@12229 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:54:09 +00:00
senorblanco@chromium.org
05edd02a7c
Implement a speedup for Y-only blurs by transposing.
...
R=mtklein@google.com , mtklein, reed@google.com
BUG=
Review URL: https://codereview.chromium.org/66413007
git-svn-id: http://skia.googlecode.com/svn/trunk@12227 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:12:34 +00:00
bungeman@google.com
0cd74ad38a
Make onCreateFromStream check that the stream looks like a font.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12224 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 19:52:29 +00:00
robertphillips@google.com
ad99358bdd
Fix memory leak in filterRRectToNine
...
https://codereview.chromium.org/65723005/
git-svn-id: http://skia.googlecode.com/svn/trunk@12222 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 18:45:18 +00:00
bungeman@google.com
451b5962c9
Android FontHost cannot use FontMgr yet.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12221 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 18:36:46 +00:00
bungeman@google.com
e0f04689c8
Give Android a SkFontMgr::Factory which was missing as of r12217.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12220 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 17:49:42 +00:00
senorblanco@chromium.org
f376f5de93
Implement a NEON version of morphology. This is good for ~2.2X speedup on Tegra3.
...
R=mtklein@google.com , mtklein, reed@google.com
Review URL: https://codereview.chromium.org/68123003
git-svn-id: http://skia.googlecode.com/svn/trunk@12219 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 16:48:51 +00:00
bungeman@google.com
13f9e0e4b2
Re-add NULL FontMgr::Factory hadnling code removed in r12217.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12218 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 16:26:55 +00:00
bungeman@google.com
b3d154de5e
Remove SK_FONTHOST_USES_FONTMGR.
...
Review URL: https://codereview.chromium.org/66783003
git-svn-id: http://skia.googlecode.com/svn/trunk@12217 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 15:53:29 +00:00
commit-bot@chromium.org
ffd178c84d
Initial draft code to run pdfviewer withg gms
...
draft cl to run pdfviewer with gms modified: gm/gmmain.cpp modified: gyp/gm.gyp modified: src/utils/SkPDFRasterizer.cpp modified: src/utils/SkPDFRasterizer.h
R=scroggo@google.com , borenet@google.com
Author: edisonn@google.com
Review URL: https://codereview.chromium.org/26269002
git-svn-id: http://skia.googlecode.com/svn/trunk@12214 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 15:10:47 +00:00
robertphillips@google.com
6c1e49af8d
Removed deprecated API calls that have crept in
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12210 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-10 15:08:45 +00:00
senorblanco@chromium.org
27eec46d69
SSE2 implementation of RGBA box blurs. This yields ~2X perf improvement on Xeon ES-2690.
...
R=mtklein@google.com
Review URL: https://codereview.chromium.org/61643011
git-svn-id: http://skia.googlecode.com/svn/trunk@12204 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 20:49:04 +00:00
commit-bot@chromium.org
11e5b972a9
Add sk_float_rsqrt with SSE + NEON fast paths.
...
Current numbers:
N4:
running bench [640 480] math_fastIsqrt NONRENDERING: cmsecs = 3.12
running bench [640 480] math_slowIsqrt NONRENDERING: cmsecs = 4.82
running bench [640 480] math_sk_float_rsqrt NONRENDERING: cmsecs = 1.99
Desktop:
running bench [640 480] math_fastIsqrt NONRENDERING: cmsecs = 0.89
running bench [640 480] math_slowIsqrt NONRENDERING: cmsecs = 0.94
running bench [640 480] math_sk_float_rsqrt NONRENDERING: cmsecs = 0.09
Haven't found any other benches where this is a significant effect yet.
BUG=
R=reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/60083014
git-svn-id: http://skia.googlecode.com/svn/trunk@12203 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 20:14:16 +00:00
commit-bot@chromium.org
8f457e3230
Adding error checks to SkRBuffer
...
BUG=
R=robertphillips@google.com , bsalomon@google.com , reed@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/61913002
git-svn-id: http://skia.googlecode.com/svn/trunk@12202 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 19:22:57 +00:00
commit-bot@chromium.org
9901727f21
Fix stale assert in GrDrawTarget::print
...
Fix stale assert in GrDrawTarget::print.
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/66333002
git-svn-id: http://skia.googlecode.com/svn/trunk@12201 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:45:27 +00:00
caryclark@google.com
2e1b99e61f
optimize floating pt, save a few instructions
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12199 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:05:02 +00:00
scroggo@google.com
a8e33a92e2
Add ability to ninepatch blurred rounded rectangle
...
Speed up drawing large blurry round rectangles by converting them to
nine patches.
SkDraw:
Add drawRRect.
SkBitmapDevice:
Call SkDraw::drawRRect instead of converting SkRRect to an SkPath.
SkMaskFilter/SkBlurMaskFilter:
Create a nine patch of a blurred round rect and draw it instead of
drawing the entire thing.
SkPDFDevice:
Override drawRRect to perform the old behavior in
SkBitmapDevice::drawRect.
Depends on https://codereview.chromium.org/52703003
Tests are in https://codereview.chromium.org/52793005
BUG=https://b.corp.google.com/issue?id=11174385
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/48623006
git-svn-id: http://skia.googlecode.com/svn/trunk@12198 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:02:53 +00:00
caryclark@google.com
1510726d60
fix line intersection
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12197 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:00:01 +00:00
reed@google.com
b95d9f566b
remove bogus assert, and remove outdated #ifdef
...
BUG=
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/66923002
git-svn-id: http://skia.googlecode.com/svn/trunk@12196 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 17:50:14 +00:00
commit-bot@chromium.org
bc25dfc798
ARM Skia NEON patches - 31 - Xfermode: xfer16
...
Xfermode: xfer16
This adds support for 16bit Xfermodes. It also tunes the gcc test
macros in xfer32() to add compatibility for gcc > 4.
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
R=djsollen@google.com , mtklein@google.com , reed@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/33063002
git-svn-id: http://skia.googlecode.com/svn/trunk@12192 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 16:16:05 +00:00
commit-bot@chromium.org
42feaaf0a5
use quads for mixed radius rrects
...
Create a specialized version of adding a pair of corner quads
that avoids the overhead of the full arc machinery.
This is on the way to changing Chrome to calling Skia directly to create fully general round rects rather than rolling their own.
R=robertphillips@google.com , reed@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/60203002
git-svn-id: http://skia.googlecode.com/svn/trunk@12190 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 15:51:12 +00:00
bsalomon@google.com
1b20a10f02
Revert "Do not apply hairline optimization for paths if nv_path_rendering is used"
...
This reverts commit r12185.
Review URL: https://codereview.chromium.org/66813002
git-svn-id: http://skia.googlecode.com/svn/trunk@12187 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 14:42:56 +00:00
skia.committer@gmail.com
ab7442c8d7
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12186 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 07:01:56 +00:00
commit-bot@chromium.org
44fb865e81
Do not apply hairline optimization for paths if nv_path_rendering is used
...
Do not convert thin, non-hairline paths to hairline paths if
nv_path_rendering is used.
The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.
Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by the
path-drawing code (GrContext::drawPathInternal). Previously the
optimization was applied only when callgraph started with
SkCanvas::drawPath. This changes drawlooper_msaa4, dashing3_msaa4 and
dashing3_gpu
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/38573007
git-svn-id: http://skia.googlecode.com/svn/trunk@12185 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 06:19:34 +00:00
robertphillips@google.com
96ac2f693b
Add GM to verify removal of 32767 limit in SkBlurMaskFilter::filterRectsToNine is okay
...
https://codereview.chromium.org/60513013/
git-svn-id: http://skia.googlecode.com/svn/trunk@12181 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:25:21 +00:00
robertphillips@google.com
8b15717bb0
"Fix" bug in debug canvas
...
https://codereview.chromium.org/59073008/
git-svn-id: http://skia.googlecode.com/svn/trunk@12180 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:20:31 +00:00
commit-bot@chromium.org
d3baf20dd1
Added support for Chrome's gpu command buffer extension BindUniformLocation.
...
R=bsalomon@google.com , bsalomon
Author: skaslev@chromium.org
Review URL: https://codereview.chromium.org/62163004
git-svn-id: http://skia.googlecode.com/svn/trunk@12178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:06:08 +00:00
senorblanco@chromium.org
0cc00c273d
Implement the y-transpose optimization in image (RGBA) blurs. This gives ~38% performance improvement on my Linux box. Also unify the box blur functions with a template.
...
R=mtklein@google.com , mtklein, reed@google.com
Review URL: https://codereview.chromium.org/59133006
git-svn-id: http://skia.googlecode.com/svn/trunk@12171 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 18:35:12 +00:00
commit-bot@chromium.org
eacc48978e
Fix for thin filled and hairline roundrects.
...
The roundrect renderer was dropping into the
ConvexPathRenderer when it didn't need to -- if a stroke is
just on the edge of being acceptable it will now use the
roundrect renderer.
BUG=Skia:1802
R=robertphillips@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/59903005
git-svn-id: http://skia.googlecode.com/svn/trunk@12168 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 16:34:53 +00:00
reed@google.com
126f7f5244
Revert "Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.""
...
This reverts commit 3c77887b3eb2d32ab668ab4e5f2f9e79103956e8.
BUG=
Review URL: https://codereview.chromium.org/50673005
git-svn-id: http://skia.googlecode.com/svn/trunk@12167 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 16:06:53 +00:00
commit-bot@chromium.org
c51808445f
ARM Skia NEON patches - 33 - Convolution filter
...
NEON version of the convolutionProcs
The bitmap_scale benchmark is now twice as fast on ARM.
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
Committed: http://code.google.com/p/skia/source/detail?r=12154
R=djsollen@google.com , mtklein@google.com , humper@google.com , epoger@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/27533004
git-svn-id: http://skia.googlecode.com/svn/trunk@12166 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 15:57:32 +00:00
skia.committer@gmail.com
2614418aee
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12161 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 07:02:19 +00:00
epoger@google.com
23ed4b307f
Revert r12154
...
BUG=skia:1807
git-svn-id: http://skia.googlecode.com/svn/trunk@12156 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 15:49:04 +00:00
halcanary@google.com
1f0121af49
New SkRTConf macro SK_CONF_TRY_SET: no complaint on missing configuration
...
SK_CONF_TRY_SET() is like SK_CONF_SET(), but doesn't complain if
confname can't be found. This is useful if the SK_CONF_DECLARE is
inside a source file whose linkage is dependent on the system.
Internally to the SkRTConf system, SkRTConfRegistry::set() was given
an additional parameter controling wanrings.
A new RuntimeConfig unit test was introduced. It should run silently.
In the future, it should be expanded to cover all of the SkRTConf
functionality.
(For example, the images.jpeg.suppressDecoderWarnings variable is
defined and used only in SkImageDecoder_libjpeg.cpp, but on MacOS, we
use Core Graphics via SkImageDecoder_CG.cpp - SkImageDecoder_libjpeg
is never linked in. The same is true of the Windows Imaging Component
on Windows.)
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/54503007
git-svn-id: http://skia.googlecode.com/svn/trunk@12155 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 15:07:44 +00:00
commit-bot@chromium.org
137577861d
ARM Skia NEON patches - 33 - Convolution filter
...
NEON version of the convolutionProcs
The bitmap_scale benchmark is now twice as fast on ARM.
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
R=djsollen@google.com , mtklein@google.com , humper@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/27533004
git-svn-id: http://skia.googlecode.com/svn/trunk@12154 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 15:02:46 +00:00
halcanary@google.com
7a2269ea73
Fix a bug which caused crash in SkRTConfig whith string values in environment variables
...
A minor change to SkRTConfRegistry::parse() fixes this
BUG=skia:1717
R=scroggo@google.com
Review URL: https://codereview.chromium.org/26373008
git-svn-id: http://skia.googlecode.com/svn/trunk@12152 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 14:18:46 +00:00
commit-bot@chromium.org
c2a0ea6418
Perlin issue fixed
...
BUG=skia:1799
R=sugoi@chromium.org , sugoi@google.com , senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/59173005
git-svn-id: http://skia.googlecode.com/svn/trunk@12150 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:38 +00:00
commit-bot@chromium.org
6e3e42296b
Break up SkLazyPixelRef functionally into class hierarchy.
...
The reason for this CL is to allow greater decoder flexibility.
Chrome currently uses its own decoding functions. These allow for
greater flexibility in dealing with images with multiple frames or
partial data. The DecodeProc function was not flexible enough to
handle these. Instead of asking the decoder to squeeze everything
into the DecodeProc, we now ask the downstream library to inherit from
SkCachingPixelRef. If WebKit's LazyDecodingPixelRef is re-tooled to
inherit from SkCachingPixelRef, then it can make use of Skia's caching
ability while still allowing it to deal with multiple frames, scaling,
subsetting, and partial data.
- The abstract SkCachingPixelRef class handles caching the decoded
data in a SkScaledImageCache. This class relies on the virtual
functions onDecodeInfo() and onDecode() to do the actual decoding
of data.
- The SkLazyCachingPixelRef class is derived from SkCachingPixelRef.
It provides an implementation of onDecodeInfo() and onDecode() in
terms of calls to a SkBitmapFactory::DecodeProc function. It also
provides an Install() static method which installs a new
SkLazyCachingPixelRef into a SkBitmap.
SkLazyCachingPixelRef exists for two reasons: to test
SkCachingPixelRef within Skia and as an example for downstream
developers to make their own classes that inherit from
SkCachingPixelRef.
- The CachedDecodingPixelRefTest was updated to test the
SkLazyCachingPixelRef class and indirectly the SkCachingPixelRef
class.
BUG=
R=reed@google.com , scroggo@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/54203006
git-svn-id: http://skia.googlecode.com/svn/trunk@12149 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:30 +00:00
commit-bot@chromium.org
6006d0f8c4
Add bevel-stroke support in GrAARectRenderer
...
Committed: http://code.google.com/p/skia/source/detail?r=12082
R=robertphillips@google.com , bsalomon@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23712005
git-svn-id: http://skia.googlecode.com/svn/trunk@12148 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:21 +00:00
skia.committer@gmail.com
382fde3a3c
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12147 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 07:02:11 +00:00
scroggo@google.com
20e3cd2c9f
Add SkRRect::transform.
...
Much like SkPath::transform, it transforms an SkRRect based on an
SkMatrix. Unlike SkPath::transform, it will fail for matrices that
contain perspective or skewing.
Required by a future change (https://codereview.chromium.org/48623006 )
to speed up drawing large blurry rounded rectangles by using ninepatches.
TODO: This could easily support 90 degree rotations, if desired.
BUG=https://b.corp.google.com/issue?id=11174385
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/52703003
git-svn-id: http://skia.googlecode.com/svn/trunk@12132 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:54:42 +00:00
commit-bot@chromium.org
a93f4e770f
Check that Mode is valid for ModeColorFilterEffect
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/53983005
git-svn-id: http://skia.googlecode.com/svn/trunk@12131 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:47:48 +00:00
commit-bot@chromium.org
4faa869cda
Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream.
...
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@chromium.org
Committed: https://code.google.com/p/skia/source/detail?r=12114
Committed: https://code.google.com/p/skia/source/detail?r=12119
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/41253002
git-svn-id: http://skia.googlecode.com/svn/trunk@12130 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:46:56 +00:00
commit-bot@chromium.org
fedf13d73a
Add SK_PREFETCH and use in SkBlurImageFilter.
...
Relative speed is 1.2-1.6x on desktop, 1.0-1.2x on Nexus 4.
(Division remains the bottleneck, now more so.)
BUG=
R=senorblanco@google.com , reed@google.com , senorblanco@chromium.org
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/57823003
git-svn-id: http://skia.googlecode.com/svn/trunk@12129 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:03:26 +00:00
commit-bot@chromium.org
d3e5842db0
Avoid re-rendering stencil clip for every draw with reducable clip stack
...
Fixes the cases where clip stack reduction would cause clip to be
re-rendered to stencil for each draw call. This causes unneeded
slowdown.
Stencil cache would not be used because the clip stack generation id communicated
by the clip stack element list would be invalid. This happended due to
a) clip stack reduction creating new elements in the element list.
b) purging logic removing the generation id, but reduction logic
selecting already purged element, and thus the generation id, as
the representative state of the clip.
Cases of a) where reduction would flatten the stack to a single new
element were fixed by assigning the generation id of the top-most
element of the clip stack as the generation id of the new
element. This is not strictly minimal, but enables more caching than
using invalid id.
Cases of a) where reduction would substitute a stack element with a
new element the generation id of the substituted element is used.
The b) part was fixed by removing the purging logic. It was not
exactly correct, as the previously purged states were actually
used. The purging was not used for anything.
Changes SkClipStack API to highlight that invalid generation id is
never returned by SkClipStack. Empty stacks are wide open. Changes the
clients to reflect this.
Fixes a crash when not passing anti-alias out parameter to
GrReducedClip::ReduceClipStack. The crash is not exercised in the
current code.
Committed: http://code.google.com/p/skia/source/detail?r=12084
R=bsalomon@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/48593003
git-svn-id: http://skia.googlecode.com/svn/trunk@12127 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:03:08 +00:00
reed@google.com
12a23866fe
Revert "Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream."
...
This reverts commit 6bc22e8ef1ea70a1b58409aa21254358c50f149a.
git-svn-id: http://skia.googlecode.com/svn/trunk@12124 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 21:35:55 +00:00
mtklein@google.com
1e4c4fea11
We always read out of bounds here. Fix that.
...
Turns out the comment wasn't lying!
BUG=
R=bungeman@google.com
Review URL: https://codereview.chromium.org/58473002
git-svn-id: http://skia.googlecode.com/svn/trunk@12123 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 21:22:45 +00:00
reed@google.com
84e922bfb3
Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values."
...
This reverts commit d615e839b71f75df895de6850b774a9e1c28ad2a.
Revert "must initialize SkDraw.fClip"
This reverts commit 108e46d29b5f57927fc8b8c403bb52019d8cb16d.
BUG=
Review URL: https://codereview.chromium.org/57883006
git-svn-id: http://skia.googlecode.com/svn/trunk@12122 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:57:36 +00:00
sugoi@google.com
b48a59ae81
Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream.
...
BUG=
R=reed@google.com
Committed: https://code.google.com/p/skia/source/detail?r=12114
Review URL: https://codereview.chromium.org/41253002
git-svn-id: http://skia.googlecode.com/svn/trunk@12119 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:28:23 +00:00
reed@google.com
ac9d306a92
speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.
...
R=bsalomon@google.com , mtklein@google.com
Review URL: https://codereview.chromium.org/56453002
git-svn-id: http://skia.googlecode.com/svn/trunk@12118 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:10:33 +00:00
epoger@google.com
eb221268ab
Revert r12114 due to https://code.google.com/p/skia/issues/detail?id=1794 ('Assertion failures on various buildbots as of r12114')
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12115 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 18:06:12 +00:00
sugoi@google.com
305f78e8c1
Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream.
...
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/41253002
git-svn-id: http://skia.googlecode.com/svn/trunk@12114 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 16:18:15 +00:00
senorblanco@chromium.org
fe2faa8b16
Change SkBlurImageFilter to use fixed-point division. Yields ~1.8X speedup on
...
MacBookPro.
Note: this will require defining SK_DISABLE_BLUR_DIVISION_OPTIMIZATION in
Chrome, a la https://codereview.chromium.org/49973005 .
R=mtklein@google.com
Review URL: https://codereview.chromium.org/57513002
git-svn-id: http://skia.googlecode.com/svn/trunk@12113 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 16:07:33 +00:00
robertphillips@google.com
d998bec918
Fix for Chromium-side compilation complaint:
...
src/pathops/SkIntersectionHelper.h:10:13: error: #if with no expression
git-svn-id: http://skia.googlecode.com/svn/trunk@12108 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-03 13:40:34 +00:00
skia.committer@gmail.com
f54ad6f488
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12101 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-02 07:02:02 +00:00
robertphillips@google.com
32700ace30
Reverting r12082 (Add bevel-stroke support in GrAARectRenderer) due to GM failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12091 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 19:22:42 +00:00
caryclark@google.com
a2bbc6e19d
pathops work in progress
...
BUG=
Review URL: https://codereview.chromium.org/52653002
git-svn-id: http://skia.googlecode.com/svn/trunk@12089 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 17:36:03 +00:00
reed@google.com
f0784bde75
Revert "Avoid re-rendering stencil clip for every draw with reducable clip stack"
...
This reverts commit 92a7d4bf6a371f1f864154be902e8d86938e560b.
Revert "fix mac 10.6 build"
This reverts commit 114cd1a9f2734aaed6914718814364811b78bd7f.
BUG=
Review URL: https://codereview.chromium.org/54543008
git-svn-id: http://skia.googlecode.com/svn/trunk@12087 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 16:25:59 +00:00
commit-bot@chromium.org
f91aaecbe9
Construct round rects with perpendicular tangents.
...
The round rects are constructed as before out of quadratics,
but without fudging the control points. Instead, the mid on-
curve point is nudged slightly outward to prevent the
convexity test from failing.
The convexity test now includes an error term for sign
inequality after computing the cross product of the control
lines. When the control points are represented as vectors,
the number of bits of precision may be greatly reduced.
Account for this by passing the number of bits available
from the original control point values into the equality
check.
Making round rect construction lines perpendicular improves
the chances of success when path ops encounters clips.
No new tests are needed -- this change is exercised by the
convex Path unit tests and the gm tests arcofzorro and
hairlines.
R=robertphillips@google.com , reed@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/48783002
git-svn-id: http://skia.googlecode.com/svn/trunk@12085 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:24:55 +00:00
commit-bot@chromium.org
679eb674fc
Avoid re-rendering stencil clip for every draw with reducable clip stack
...
Fixes the cases where clip stack reduction would cause clip to be
re-rendered to stencil for each draw call. This causes unneeded
slowdown.
Stencil cache would not be used because the clip stack generation id communicated
by the clip stack element list would be invalid. This happended due to
a) clip stack reduction creating new elements in the element list.
b) purging logic removing the generation id, but reduction logic
selecting already purged element, and thus the generation id, as
the representative state of the clip.
Cases of a) where reduction would flatten the stack to a single new
element were fixed by assigning the generation id of the top-most
element of the clip stack as the generation id of the new
element. This is not strictly minimal, but enables more caching than
using invalid id.
Cases of a) where reduction would substitute a stack element with a
new element the generation id of the substituted element is used.
The b) part was fixed by removing the purging logic. It was not
exactly correct, as the previously purged states were actually
used. The purging was not used for anything.
Changes SkClipStack API to highlight that invalid generation id is
never returned by SkClipStack. Empty stacks are wide open. Changes the
clients to reflect this.
Fixes a crash when not passing anti-alias out parameter to
GrReducedClip::ReduceClipStack. The crash is not exercised in the
current code.
R=bsalomon@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/48593003
git-svn-id: http://skia.googlecode.com/svn/trunk@12084 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:24:20 +00:00
commit-bot@chromium.org
5c8ee2539b
Make GrContext cache the gpu paths
...
Creating paths for nv_path_rendering is costly. Try to reduce this
cost by caching paths based on the SkPath "hash" (i.e. SkPathRef
generation id) and stroke properties.
Adds the paths to GrContext::fTextureCache instance. Later this should
be renamed and the GrContext API should reflect the nature of the cache
better.
R=bsalomon@google.com , mtklein@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/26557003
git-svn-id: http://skia.googlecode.com/svn/trunk@12083 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:23:44 +00:00
commit-bot@chromium.org
e1e99ef0af
Add bevel-stroke support in GrAARectRenderer
...
R=robertphillips@google.com , bsalomon@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23712005
git-svn-id: http://skia.googlecode.com/svn/trunk@12082 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:23:17 +00:00
robertphillips@google.com
8995b7b626
Only disable scratch texture reuse on the N10 and N4
...
https://codereview.chromium.org/48903017/
git-svn-id: http://skia.googlecode.com/svn/trunk@12080 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:03:34 +00:00
reed@google.com
2bd8b81005
move SkImage::ColorType into SkColorType
...
objective -- move clients over to SkImage
tasks
- use SkImageInfo instead of SkBitmap::Config
- add support for colortables to SkImage
- add drawImage to SkCanvas
- return SkImage from readPixels
This CL works towards the first task
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/54363008
git-svn-id: http://skia.googlecode.com/svn/trunk@12077 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 13:46:54 +00:00
commit-bot@chromium.org
f2f8f3a43c
Adding a way to disable SkOffsetImageFilter's optimized path in blink/chrome
...
BUG=
R=senorblanco@chromium.org , reed@google.com , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/54543005
git-svn-id: http://skia.googlecode.com/svn/trunk@12075 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 11:55:06 +00:00
commit-bot@chromium.org
2080722493
Fix two inconsistencies in handling fixed-function texture coordinate set generation
...
Prevent off-by-one bug leaving the texture coordinate set 0 always enabled if
it ever was used. This makes the code consistent with its apparent purpose.
When enabling / disabling texture coordinate sets, call glPathTexGen
only if path rendering is applicable. This makes the functions
consistent with GrGpuGL::resetContext.
R=cdalton@nvidia.com , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/54403003
git-svn-id: http://skia.googlecode.com/svn/trunk@12074 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 11:54:54 +00:00
skia.committer@gmail.com
18bb41e956
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12071 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 07:02:15 +00:00
robertphillips@google.com
3b60c14e66
Fix for r12069 (actually turn on don't-reuse-scratch-textures feature)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12070 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 01:55:40 +00:00
robertphillips@google.com
f7ee05fa9d
Turn on don't-reuse-scratch-textures for all Android devices
...
https://codereview.chromium.org/54493005/
git-svn-id: http://skia.googlecode.com/svn/trunk@12069 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 00:40:47 +00:00
robertphillips@google.com
56ce48ade3
Add can-ignore-rect hint to clear call
...
https://codereview.chromium.org/53823003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12064 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 21:44:25 +00:00
commit-bot@chromium.org
3843f3fc89
Partial fix for Skia issue 1769: GenerateGMs crashing (out of memory)
...
GenerateGMs was crashing because we were adding genID listeners for
textures even when creation failed -- in this case the key generated
is not valid, so when it comes time to purge it, it triggers an
assert and then an apparent crash. The solution is to not add
a genID listener in this case.
This doesn't solve the problem of running out of memory, it just prevents it
from causing a crash in Debug builds.
BUG=
R=bsalomon@google.com , robertphillips@google.com , mtklein@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/55023005
git-svn-id: http://skia.googlecode.com/svn/trunk@12062 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 20:22:47 +00:00
commit-bot@chromium.org
0251288112
Adding size parameter to read array functions
...
In some cases, the allocated array into which the data will be read is using getArrayCount() to allocate itself, which should be safe, but some cases use fixed length arrays or compute the array size before reading, which could overflow if the stream is compromised.
To prevent that from happening, I added a check that will verify that the number of bytes to read will not exceed the capacity of the input buffer argument passed to all the read...Array() functions.
I chose to use the byte array for this initial version, so that "size" represents the same value across all read...Array() functions, but I could also use the element count, if it is preferred.
Note : readPointArray and writePointArray are unused, so I could also remove them
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/37803002
git-svn-id: http://skia.googlecode.com/svn/trunk@12058 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 18:37:50 +00:00
reed@google.com
4469938e92
Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning""
...
This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d.
BUG=
Review URL: https://codereview.chromium.org/54603004
git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 17:28:30 +00:00
reed@google.com
6fcbfcead5
Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"
...
This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497.
git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:31:11 +00:00
reed@google.com
081560e3ab
add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning
...
BUG=
R=robertphillips@google.com , senorblanco@chromium.org , vandebo@chromium.org
Review URL: https://codereview.chromium.org/51033004
git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:24:08 +00:00
robertphillips@google.com
94bdd7e3fc
Fix bug in don't-reuse-scratch-textures path
...
https://codereview.chromium.org/50853003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12054 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 15:50:43 +00:00
skia.committer@gmail.com
7ed98df9ba
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12043 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 07:01:53 +00:00
robertphillips@google.com
cb505101a2
No longer use scratch textures on ARM devices
...
https://codereview.chromium.org/50643003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12042 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 00:51:18 +00:00
senorblanco@chromium.org
f49a0955e2
Mac build fix.
...
TBR=robertphillips
Review URL: https://codereview.chromium.org/45963007
git-svn-id: http://skia.googlecode.com/svn/trunk@12039 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 22:14:24 +00:00
senorblanco@chromium.org
7a47ad3bac
Implement SSE2-based implementations of the morphology filters (dilate & erode). This gives a 3-5X speedup over the naive implementation, and also mitigates a timing-based security attack in Chrome ( https://code.google.com/p/chromium/issues/detail?id=251711 ).
...
NOTE: this will require a corresponding GYP change on the Skia roll into Chrome: https://codereview.chromium.org/52453004/
R=mtklein@google.com , reed@google.com
Review URL: https://codereview.chromium.org/52603004
git-svn-id: http://skia.googlecode.com/svn/trunk@12038 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 21:57:04 +00:00
robertphillips@google.com
2d2e5c4e24
Make not-reusing-scratch-textures only apply to texture uploads
...
https://codereview.chromium.org/53133002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12037 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 21:30:43 +00:00
vandebo@chromium.org
fd3c8c243a
Fix int/SkScalar mismatch.
...
Review URL: https://codereview.chromium.org/51043005
git-svn-id: http://skia.googlecode.com/svn/trunk@12035 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 21:00:47 +00:00
vandebo@chromium.org
3b416216d1
[PDF] Improve complex xfer mode support.
...
Xfer mode applies only to the shape of the source drawing, not everything in the clip as in currently implemented. It's just that the current gm examples draw a shape that fills the visible layer.
R=edisonn@google.com , reed@google.com
Review URL: https://codereview.appspot.com/4631078
git-svn-id: http://skia.googlecode.com/svn/trunk@12034 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 20:48:05 +00:00
commit-bot@chromium.org
c9424b8e6d
Don't check if shaders compile or program links in release Chromium
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/52843003
git-svn-id: http://skia.googlecode.com/svn/trunk@12032 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 20:03:16 +00:00
commit-bot@chromium.org
1ab9f737f0
Use SkPathRef gen id for SkPath::getGenerationID
...
R=mtklein@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/49693002
git-svn-id: http://skia.googlecode.com/svn/trunk@12029 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 18:57:55 +00:00
reed@google.com
4db592c408
remove contains(x,y) for rects and rrects ... not well defined, and unused
...
BUG=
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/51953003
git-svn-id: http://skia.googlecode.com/svn/trunk@12022 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 17:39:43 +00:00
robertphillips@google.com
4e5559af89
Allow specifying the max texture count on the bots
...
https://codereview.chromium.org/50413011/
git-svn-id: http://skia.googlecode.com/svn/trunk@12020 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 17:04:16 +00:00
reed@google.com
35fe7372b1
prototype for kerning api
...
BUG=
R=bungeman@google.com
Review URL: https://codereview.chromium.org/29363009
git-svn-id: http://skia.googlecode.com/svn/trunk@12018 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 15:07:03 +00:00
skia.committer@gmail.com
b77f0f4ae5
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12013 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 07:01:56 +00:00
robertphillips@google.com
7101abe5b3
Reverting r12010 (Use SkPathRef gen id for SkPath::getGenerationID https://codereview.chromium.org/49693002 ) due to test failures in PathTest on Android
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12012 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 22:45:37 +00:00
commit-bot@chromium.org
4cc7518d9b
Use SkPathRef gen id for SkPath::getGenerationID
...
R=mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/49693002
git-svn-id: http://skia.googlecode.com/svn/trunk@12010 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 21:34:55 +00:00
commit-bot@chromium.org
658e28b081
Remove SkMatrix44 float conversions without precision loss
...
BUG=none
R=reed@google.com
Author: enne@chromium.org
Review URL: https://codereview.chromium.org/50423004
git-svn-id: http://skia.googlecode.com/svn/trunk@12009 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 21:08:51 +00:00
commit-bot@chromium.org
950923b437
All SkAnnotations are no-draw. Propose we fold that through.
...
BUG=
R=edisonn@google.com , reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/48523008
git-svn-id: http://skia.googlecode.com/svn/trunk@12008 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 20:44:39 +00:00
commit-bot@chromium.org
89ff3dd5af
Little changes to SkAnnotation in pipe:
...
- store size in the op data field rather than separately (saves 4 bytes);
- trim out a malloc/memcpy in each of read and write;
- remove unused enum value;
- use the right _unpackOp function;
- make sure we call needOpBytes().
BUG=
R=reed@google.com , scroggo@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/50523004
git-svn-id: http://skia.googlecode.com/svn/trunk@12007 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 20:29:38 +00:00
commit-bot@chromium.org
7585479202
Allow SkLazyPixelRef to use SkScaledImageCache
...
- SkScaledImageCache:
- Add new FindAndLock/AddAndLock variants that work well with
SkLazyPixelRefs (take width, height, generation_id).
- Add static versions of these new variants.
- SkLazyPixelRef:
- If NULL passed in as SkImageCache* in the constructor, it will
now default to using the static SkScaledImageCache methods to
cache decoded images.
- If (fImageCache==NULL), the default allocator can be changed
with the setAllocator method. If (fImageCache!=NULL), the
SkImageCache handles allocation.
- CachedDecodingPixelRefTest to test the new functionality.
BUG=
R=scroggo@google.com , mtklein@google.com , reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/37343002
git-svn-id: http://skia.googlecode.com/svn/trunk@12006 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 19:55:00 +00:00
commit-bot@chromium.org
40258a5be9
Fix pipe/annotation.
...
We weren't keeping track of the annotation that's on the other side of the pipe.
BUG=skia:1761
R=scroggo@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/48273011
git-svn-id: http://skia.googlecode.com/svn/trunk@12004 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 19:23:26 +00:00
commit-bot@chromium.org
602b9608f5
Get rid of two unused variables from the .data section.
...
Before:
$ objdump -x out/Release/libskia_opts.a | grep "\.data" | c++filt
1 .data 00000000 0000000000000000 0000000000000000 000004ec 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000f58 2**2
0000000000000000 l d .data 0000000000000000 .data
2 .data 00000008 0000000000000000 0000000000000000 00001774 2**2
0000000000000000 l d .data 0000000000000000 .data
0000000000000000 g O .data 0000000000000004 debug_x
0000000000000004 g O .data 0000000000000004 debug_y
1 .data 00000000 0000000000000000 0000000000000000 00001d8c 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000054 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 000001f0 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000044 2**2
0000000000000000 l d .data 0000000000000000 .data
After:
$ objdump -x out/Release/libskia_opts.a | grep "\.data" | c++filt
1 .data 00000000 0000000000000000 0000000000000000 000004ec 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000f58 2**2
0000000000000000 l d .data 0000000000000000 .data
2 .data 00000000 0000000000000000 0000000000000000 00001774 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00001d8c 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000054 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 000001f0 2**2
0000000000000000 l d .data 0000000000000000 .data
1 .data 00000000 0000000000000000 0000000000000000 00000044 2**2
0000000000000000 l d .data 0000000000000000 .data
Not sure why clang didn't catch them.
R=mtklein@google.com
BUG=
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/50013002
git-svn-id: http://skia.googlecode.com/svn/trunk@11999 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 15:32:09 +00:00
robertphillips@google.com
9ef0426e7c
Don't reuse scratch textures patch
...
https://codereview.chromium.org/24222004/
git-svn-id: http://skia.googlecode.com/svn/trunk@11997 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 14:06:15 +00:00
robertphillips@google.com
0b7ab3bb49
Fix bug in erosion filtering
...
https://codereview.chromium.org/50813002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11996 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 13:59:31 +00:00
skia.committer@gmail.com
70402c3168
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11992 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 07:01:50 +00:00
commit-bot@chromium.org
8ab77eae2c
Fix narrowing conversion errors from r11986
...
Although this function only gets used for SkMScalar=float, it gets
compiled in when SkMScalar=double.
R=epoger@google.com
BUG=1764
Author: enne@chromium.org
Review URL: https://codereview.chromium.org/49463005
git-svn-id: http://skia.googlecode.com/svn/trunk@11991 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 22:05:41 +00:00
commit-bot@chromium.org
c01ba70afc
Remove float/double conversions from SkMatrix44's map2_pf
...
BUG=chromium:303811
R=reed@google.com
Author: enne@chromium.org
Review URL: https://codereview.chromium.org/37693004
git-svn-id: http://skia.googlecode.com/svn/trunk@11986 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 20:20:54 +00:00
commit-bot@chromium.org
77e079af1a
Enabling validation code in serialization and adding serialization to fuzzer
...
BUG=
Committed: http://code.google.com/p/skia/source/detail?r=11968
R=reed@google.com , mtklein@google.com , senorblanco@chromium.org , bsalomon@google.com , robertphillips@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/44573002
git-svn-id: http://skia.googlecode.com/svn/trunk@11981 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 15:52:02 +00:00
commit-bot@chromium.org
42a895730f
Fix for issue 1728: raster vs. gpu text draws with the wrong color
...
The blend mode for LCD text was not set up correctly when using colors with alpha. This takes the color's alpha value
into account when setting up the blending function.
BUG=Skia:1728
R=bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/45363002
git-svn-id: http://skia.googlecode.com/svn/trunk@11980 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 15:13:50 +00:00
commit-bot@chromium.org
da3d69ce71
Fix broken MSAA for RGBA
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/46763003
git-svn-id: http://skia.googlecode.com/svn/trunk@11979 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 15:09:13 +00:00
robertphillips@google.com
3721ee652a
Reverting r11968 (Enabling validation code in serialization and adding serialization to fuzzer - https://codereview.chromium.org/44573002 ) due to failure on Chromium AllQuads test.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11974 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 12:08:52 +00:00
commit-bot@chromium.org
b2e9fa5298
Clean up the GrTHashTable API.
...
removeAt() and slowFindIndex() were only used by GrFontCache, and didn't really need to exist: they can be replaced by a simple remove() call. This new code should actually be faster; slowFindIndex() was O(N), and this should be O(lg N).
BUG=
R=bsalomon@google.com , jvanverth@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/43383006
git-svn-id: http://skia.googlecode.com/svn/trunk@11973 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-27 20:50:23 +00:00
skia.committer@gmail.com
0673efeea2
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11969 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-26 07:01:53 +00:00
commit-bot@chromium.org
d25d6c7b8e
Enabling validation code in serialization and adding serialization to fuzzer
...
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@chromium.org , bsalomon@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/44573002
git-svn-id: http://skia.googlecode.com/svn/trunk@11968 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-25 21:04:40 +00:00
bungeman@google.com
10ba006631
Allow users to build on top of, instead of beneath, SkRefCnt.
...
Alternative to r11811.
The Chromium half of this can be seen at https://codereview.chromium.org/40973002/ .
R=reed@google.com
Review URL: https://codereview.chromium.org/40503002
git-svn-id: http://skia.googlecode.com/svn/trunk@11967 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-25 18:40:24 +00:00
bungeman@google.com
72b8cb2320
onCharsToGlyphs to handle non-bmp on Mac.
...
CTFontGetGlyphsForCharacters is a strange API for non-bmp code points.
R=caryclark@google.com
Review URL: https://codereview.chromium.org/43463005
git-svn-id: http://skia.googlecode.com/svn/trunk@11965 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-25 17:49:08 +00:00
commit-bot@chromium.org
7edad87cdc
Compute clipped src rect once in tiled bitmap draws
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/40403002
git-svn-id: http://skia.googlecode.com/svn/trunk@11962 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-25 14:58:12 +00:00
bungeman@google.com
fb1663a0a5
Fix non-bmp in generateCharToGlyph on Mac.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11957 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 22:32:43 +00:00
bungeman@google.com
172c363a68
Add missing braces for r11955.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11956 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 21:50:12 +00:00
bungeman@google.com
3c996f8a15
Implement charToGlyph on remaining ports.
...
R=reed@google.com
Review URL: https://codereview.chromium.org/22859070
git-svn-id: http://skia.googlecode.com/svn/trunk@11955 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 21:39:35 +00:00
bsalomon@google.com
af562b437e
Tile large bitmaps that are clipped.
...
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/31033002
git-svn-id: http://skia.googlecode.com/svn/trunk@11951 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 17:52:07 +00:00
commit-bot@chromium.org
50a3043194
We want to give SkPixelRef a way to signal over to GrResourceCache that it's become pointless to keep around textures based on that SkPixelRef when its pixels change, so that it can be a good citizen and free those textures.
...
This adds an invalidation listener mechanism to SkPixelRef to let it send this message while still staying ignorant of who's listening.
These messages are tricky to deliver. The SkPixelRefs they originates from and the GrResourceCaches they ultimately end up at may be on different threads; neither class is threadsafe; their object lifetimes are totally independent; it's a many-senders-to-many-receivers relation; and neither codebase should really know about the other.
So I've added a per-message-type global message bus to broadcast messages to threadsafe inboxes. Anyone can post() a message, which will show up in all the inboxes of that type, read whenever the inbox's owner calls poll(). The implementation is _dumb_; it can be improved in several dimensions (inbox size limits, lock-free message delivery) if we find the need.
I took some care to make sure not to send the invalidation message for any SkPixelRef that's sharing a generation ID with another SkPixelRef.
BUG=
R=bsalomon@google.com , scroggo@google.com , reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26734003
git-svn-id: http://skia.googlecode.com/svn/trunk@11949 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 17:44:27 +00:00
senorblanco@chromium.org
34a849d00d
Fix drawBitmap() of scratch texture.
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/40163004
git-svn-id: http://skia.googlecode.com/svn/trunk@11947 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 15:59:31 +00:00
vandebo@chromium.org
ece95c32d5
[PDF] Add unpremultiply support and a GM (try5)
...
This is a resubmit of https://codereview.chromium.org/22831039 which was
reverted because it causes issues on Windows.
BUG=chromium:175548
R=edisonn@google.com
Review URL: https://codereview.chromium.org/37873003
git-svn-id: http://skia.googlecode.com/svn/trunk@11945 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 15:20:00 +00:00
commit-bot@chromium.org
c1cf5c0089
Borrow Android's ARMv6 memory barrier for SkOnce.
...
BUG=skia:1743
R=bungeman@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/34353009
git-svn-id: http://skia.googlecode.com/svn/trunk@11941 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 14:25:22 +00:00
robertphillips@google.com
0255a5d2fe
Minor changes
...
https://codereview.chromium.org/39973004/
git-svn-id: http://skia.googlecode.com/svn/trunk@11940 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 14:03:01 +00:00
commit-bot@chromium.org
ccecbbb2ea
Always create an instance when testing GrEffects for SkXfermode and SkArithmeticMode
...
Previously the TestCreate methods of the effects would create a static
instance and return that for all invocations. This is probably a
copy-paste error going back to initial TestCreate method in r8449. At
that time, the effect was always the same and thus static usage made
sense.
R=bsalomon@google.com , senorblanco@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/39393002
git-svn-id: http://skia.googlecode.com/svn/trunk@11939 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 13:33:32 +00:00
commit-bot@chromium.org
23267ceca2
Fix ModeColorFilterEffect assert during GLProgramsTest
...
Select random filter mode for the test-case until the mode is not
Dst. SkModeColorFilter with Dst mode will not create a
ModeColorFilterEffect, and thus the case is not implemented.
Also changes it so that each call to ModeColorFilterEffect::TestCreate
creates a new GrEffect. Previously only one static effect was ever
created, due to copy-paste error.
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/39403002
git-svn-id: http://skia.googlecode.com/svn/trunk@11938 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 13:29:38 +00:00
edisonn@google.com
83d8eda890
PDF: support perspective in simple shaders. (this version does not work well with tilling)
...
R=vandebo@chromium.org
Review URL: https://codereview.chromium.org/26389006
git-svn-id: http://skia.googlecode.com/svn/trunk@11937 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 13:19:28 +00:00
commit-bot@chromium.org
ac90d1d0b1
Replacing SkTDArray with SkAutoSTArray to reduce memory allocation overhead in SkTileGrid::search
...
BUG=https://code.google.com/p/skia/issues/detail?id=1735
R=tomhudson@chromium.org
Author: junov@chromium.org
Review URL: https://codereview.chromium.org/35633002
git-svn-id: http://skia.googlecode.com/svn/trunk@11936 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 11:24:38 +00:00
tomhudson@google.com
381010e550
Expose SkPicture::willPlayBackBitmaps()
...
This returns true if (1) the picture has finished recording and
(2) this picture or any picture drawn into it refers to any bitmaps.
It allows clients doing complicated manipulations of the picture to
early-out when there are no bitmaps present.
BUG=303281
R=reed@google.com
git-svn-id: http://skia.googlecode.com/svn/trunk@11935 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 11:12:47 +00:00
skia.committer@gmail.com
583b18a209
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11934 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 07:01:59 +00:00
commit-bot@chromium.org
bbfe4541ef
Apply matrix early in draw bitmap
...
Committed: http://code.google.com/p/skia/source/detail?r=11930
Reverted: https://code.google.com/p/skia/source/detail?r=11932
R=robertphillips@google.com , senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/30593003
git-svn-id: http://skia.googlecode.com/svn/trunk@11933 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 01:46:11 +00:00
scroggo@google.com
e9821871ec
Revert "Apply matrix early in draw bitmap"
...
This reverts commit 4c446c8eb50b7a6e6f917fae7b4c4ffe5658a949.
Fix build.
git-svn-id: http://skia.googlecode.com/svn/trunk@11932 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 22:19:06 +00:00
vandebo@chromium.org
ccf6b91a54
Revert "[PDF] Add unpremultiply support and a GM (try4)"
...
This reverts commit r11928
gm seems to crash on windows.
Review URL: https://codereview.chromium.org/38153003
git-svn-id: http://skia.googlecode.com/svn/trunk@11931 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 21:36:43 +00:00
commit-bot@chromium.org
25e5a20e65
Apply matrix early in draw bitmap
...
R=robertphillips@google.com , senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/30593003
git-svn-id: http://skia.googlecode.com/svn/trunk@11930 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 21:06:51 +00:00
vandebo@chromium.org
e66d376067
[PDF] Add unpremultiply support and a GM (try4)
...
This is a resubmit of https://codereview.chromium.org/22831039 which was
reverted because it causes issues on Windows (really, release builds).
BUG=chromium:175548
R=edisonn@google.com
Review URL: https://codereview.chromium.org/33493003
git-svn-id: http://skia.googlecode.com/svn/trunk@11928 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 20:17:29 +00:00
senorblanco@chromium.org
1a6382f5e7
Split up SkXfermode::asNewEffectOrCoeff() into asNewEffect(), asCoeff().
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/37593002
git-svn-id: http://skia.googlecode.com/svn/trunk@11926 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 18:41:36 +00:00
commit-bot@chromium.org
d594dbec04
Follow up to serialization validation code
...
1 ) Added check for bool to make sure is it either 0 or 1 and not garbage
2 ) Added more solid kernel size checks in SkMatrixConvolutionImageFilter
3 ) Make sure array size is validated in SkMergeImageFilter
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/23548034
git-svn-id: http://skia.googlecode.com/svn/trunk@11925 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 18:33:18 +00:00
commit-bot@chromium.org
c0b7e10c6a
Initial error handling code
...
I made it as simple as possible. The impact seems minimal and it should do what's necessary to make this code secure.
BUG=
Committed: http://code.google.com/p/skia/source/detail?r=11247
R=reed@google.com , scroggo@google.com , djsollen@google.com , sugoi@google.com , bsalomon@google.com , mtklein@google.com , senorblanco@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/23021015
git-svn-id: http://skia.googlecode.com/svn/trunk@11922 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 17:06:21 +00:00
commit-bot@chromium.org
759befb72c
use the supplied matrix instead of the texture w/h div for the bicubic GPU effect
...
BUG=
R=bsalomon@google.com , caryclark@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/37003005
git-svn-id: http://skia.googlecode.com/svn/trunk@11921 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 16:18:50 +00:00
commit-bot@chromium.org
a8aef8bf04
Lighting filter uses input on raster path
...
BUG=
R=senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/35703002
git-svn-id: http://skia.googlecode.com/svn/trunk@11918 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 15:33:44 +00:00
commit-bot@chromium.org
3f80dd5f01
Add support for reading non-rendertarget textures.
...
Also removes rendertarget flag from GrAtlas texture creation (no
longer needed) and re-enables GrFontCache::dump().
R=robertphillips@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/29263004
git-svn-id: http://skia.googlecode.com/svn/trunk@11917 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 15:32:39 +00:00
mtklein@google.com
338a66481e
TSAN build fix: forgot to pass the address into ANNOTATE_BENIGN_RACE.
...
BUG=
Review URL: https://codereview.chromium.org/37403002
git-svn-id: http://skia.googlecode.com/svn/trunk@11916 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 15:24:27 +00:00
commit-bot@chromium.org
1f81fd6546
SK_ONCE for SkData and SkPathRef
...
Adds SK_ONCE_FRIEND, to allow SK_DEF_ONCE code to be friends with a class. This had to go in include/core to be visible to headers there.
BUG=
R=reed@google.com , bungeman@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26491003
git-svn-id: http://skia.googlecode.com/svn/trunk@11914 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 14:44:08 +00:00
senorblanco@chromium.org
fbcd415aa0
Remove GrContext from SkXfermode::[Aa]sNewEffectOrCoeff() and all subclasses,
...
since it's unused.
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/31853003
git-svn-id: http://skia.googlecode.com/svn/trunk@11913 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 14:03:22 +00:00
commit-bot@chromium.org
a34995e18b
Implement SkColorFilter as a GrGLEffect
...
Adds GrEffect::willUseInputColor() which indicates whether or not the
input color affects the output of the effect. This is needed for
certain Xfermodes, such as kSrc_Mode. For these modes the color filter
will not use the input color.
An effect with GrEffect::willUseInputColor() true will cause all color
or coverage effects before it to be discarded, as their computations
cannot affect the output. In these cases program is marked as having
white input color.
This fixes an assert when Skia is compiled in a mode that prefers
using uniforms instead of attributes for constants. (Flags
GR_GL_USE_NV_PATH_RENDERING or GR_GL_NO_CONSTANT_ATTRIBUTES). Using
attributes hides the problem where the fragment shader does not need
input color for color filters that ignore DST part of the filter. The
assert would be hit when uniform manager tries to bind an uniform which
has been optimized away by the shader compiler.
Adds specific GrGLSLExpr4 and GrGLSLExpr1 classes. This way the GLSL
expressions like "(v - src.a)" can remain somewhat readable in form of
"(v - src.a())". The GrGLSLExpr<typename> template implements the
generic functionality, GrGLSLExprX is the specialization that exposes
the type-safe interface to this functionality.
Also adds operators so that GLSL binary operators of the form
"(float * vecX)" can be expressed in C++. Before only the equivalent
"(vecX * float)" was possible. This reverts the common blending
calculations to more conventional order, such as "(1-a) * c" instead of
"c * (1-a)".
Changes GrGLSLExpr1::OnesStr from 1 to 1.0 in order to preserve the
color filter blending formula string the same (with the exception of
variable name change).
Shaders change in case of input color being needed:
- vec4 filteredColor;
- filteredColor = (((1.0 - uFilterColor.a) * output_Stage0) + uFilterColor);
- fsColorOut = filteredColor;
+ vec4 output_Stage1;
+ { // Stage 1: ModeColorFilterEffect
+ output_Stage1 = (((1.0 - uFilterColor_Stage1.a) * output_Stage0) + uFilterColor_Stage1);
+ }
+ fsColorOut = output_Stage1;
Shaders change in case of input color being not needed:
-uniform vec4 uFilterColor;
-in vec4 vColor;
+uniform vec4 uFilterColor_Stage0;
out vec4 fsColorOut;
void main() {
- vec4 filteredColor;
- filteredColor = uFilterColor;
- fsColorOut = filteredColor;
+ vec4 output_Stage0;
+ { // Stage 0: ModeColorFilterEffect
+ output_Stage0 = uFilterColor_Stage0;
+ }
+ fsColorOut = output_Stage0;
}
R=bsalomon@google.com , robertphillips@google.com , jvanverth@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/25023003
git-svn-id: http://skia.googlecode.com/svn/trunk@11912 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 05:42:03 +00:00
bsalomon@google.com
7ce564cccb
Revert "If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance."
...
This reverts commit r11904
Review URL: https://codereview.chromium.org/35543002
git-svn-id: http://skia.googlecode.com/svn/trunk@11909 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 16:54:15 +00:00
reed@google.com
c294a97842
if fBitmap is still NULL, return false
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11908 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 16:17:29 +00:00
bsalomon@google.com
ad254fee73
If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.
...
Committed: http://code.google.com/p/skia/source/detail?r=11842
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/23484007
git-svn-id: http://skia.googlecode.com/svn/trunk@11904 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 13:19:12 +00:00
skia.committer@gmail.com
db6fa1729a
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11903 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 07:02:30 +00:00
robertphillips@google.com
dbbe1d437d
Revert r11880 (Apply matrix early in draw bitmap - https://codereview.chromium.org/30593003 ) due to layout test failure
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11899 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 21:30:49 +00:00
mtklein@google.com
4c2af74078
GrTHashCache -> GrTHashTable
...
The class is Table, but the file's Cache. That's confusing.
BUG=
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/32523004
git-svn-id: http://skia.googlecode.com/svn/trunk@11898 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 21:04:06 +00:00