mtklein
4477c3c0e6
Cut down SkBBH API more.
...
- The expected case is now a single bulk-load insert() call instead of N;
- reserve() and flushDeferredInserts() can fold into insert() now;
- SkBBH subclasses may take ownership of the bounds
This appears to be a performance no-op on both my Mac and N5. I guess
even the simplest indirect branch predictor ("same as last time") can predict
the repeated virtual calls to SkBBH::insert() perfectly.
BUG=skia:
Review URL: https://codereview.chromium.org/670213002
2014-10-27 10:27:10 -07:00
mtklein
6bd41969a0
BBHs: void* data -> unsigned data
...
Now that the old backend's not using BBHs, we can specialize them for
SkRecord's needs. The only thing we really want to store is op index, which
should always be small enough to fit into an unsigned (unsigned also helps keep
it straight from other ints floating around).
This means we'll need half (32-bit) or a quarter (64-bit) the bytes in SkTileGrid,
because we don't have to store an extra int for ordering.
BUG=skia:2834
Review URL: https://codereview.chromium.org/617393004
2014-10-02 07:41:56 -07:00
robertphillips
c5ba71d2e5
Change SkPicture::draw to playback
...
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/540963002
2014-09-04 08:42:50 -07:00
mtklein
533eb782ed
Convert BBH APIs to use SkRect.
...
Still TODO: convert internals of SkTileGrid.cpp and SkRTree.cpp to work in floats too.
NOTREECHECKS=true
BUG=skia:1021
R=robertphillips@google.com , reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/511613002
2014-08-27 10:39:42 -07:00
mtklein
534cc4c569
De-parameterize SkNextDatumFunction.
...
Just a simple refactor to make it clear we're only using this
one method and this one type.
BUG=skia:
R=robertphillips@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/465523002
2014-08-11 10:09:34 -07:00
reed
8c0c7b0bcd
remove unnecessary bitmapdevice references
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/354143004
2014-06-27 05:49:54 -07:00
robertphillips@google.com
770963f23f
Staging for cleanup of SkPicture-related headers
...
https://codereview.chromium.org/243173002
git-svn-id: http://skia.googlecode.com/svn/trunk@14258 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 18:04:41 +00:00
commit-bot@chromium.org
5fb2ce38b3
Staged removal of SkPicture-derived classes
...
This CL removes the SkPicture-derived classes (with a flag to keeps clients working). In the process it also lightens the recording factory function so it is no longer ref counted).
The only interesting bits are in SkPicture* and Sk*Picture.*
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/238273012
git-svn-id: http://skia.googlecode.com/svn/trunk@14251 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 23:35:06 +00:00
commit-bot@chromium.org
d393b17cf3
Retract SkPicture::kOptimizeForClippedPlayback_RecordingFlag from public API
...
This CL sets the stage for retracting the SkPicture::kOptimizeForClippedPlayback_RecordingFlag flag
from the public API (more work needs to be done in Blink & Chrome). In the new world the only way
to set this flag (and thus instantiate an SkPicture-derived
class) is by passing a factory to the SkPictureRecorder class. This is to get all clients always using
factories so that we can then change the factory call used (i.e., so the factory just creates a BBH) and
do away with the SkPicture-derived classes.
BUG=skia:2315
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/239703006
git-svn-id: http://skia.googlecode.com/svn/trunk@14221 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-16 16:02:10 +00:00
robertphillips@google.com
84b18c7e3e
split SkPictureRecorder out of SkPicture
...
https://codereview.chromium.org/214953003/
git-svn-id: http://skia.googlecode.com/svn/trunk@14171 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-13 19:09:42 +00:00
commit-bot@chromium.org
0e9e6a3313
Roll back tests/TileGridTest.cpp back to where ASAN was happy.
...
Revert "Change tilegrid test to test it directly, rather than through SkPicture"
This reverts commit 7ae3bc7ffb
.
Revert "Fix result order reliance"
This reverts commit be4825c873
.
BUG=skia:2345
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/216793006
git-svn-id: http://skia.googlecode.com/svn/trunk@13981 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-28 17:57:14 +00:00
commit-bot@chromium.org
be4825c873
Fix result order reliance
...
The old tests presumed result order in a way was safe because SkPicture was sorting the paint calls.
This fixes the tests to not check result ordering, just presence
BUG=skia:
R=robertphillips@google.com
Author: iancottrell@google.com
Review URL: https://codereview.chromium.org/197813011
git-svn-id: http://skia.googlecode.com/svn/trunk@13828 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 12:14:48 +00:00
commit-bot@chromium.org
7ae3bc7ffb
Change tilegrid test to test it directly, rather than through SkPicture
...
This is necessary because it makes assumptions that picture will draw all the rects that match the grids, which may not hold if picture decides to improve the accuracy of the results.
BUG=skia:2125
R=tomhudson@google.com , mtklein@google.com , reed@google.com
Author: iancottrell@google.com
Review URL: https://codereview.chromium.org/199083004
git-svn-id: http://skia.googlecode.com/svn/trunk@13827 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 10:51:44 +00:00
mike@reedtribe.org
deee496cd3
replace setConfig+allocPixels with single call
...
BUG=skia:
Review URL: https://codereview.chromium.org/162643002
git-svn-id: http://skia.googlecode.com/svn/trunk@13426 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 14:41:43 +00:00
tfarina@chromium.org
8f6884aab8
Cleanup: Sanitize the order of includes under tests/
...
Initially this was to make sure Test.h appeared after the Sk*.h includes.
Patch generated by the following command line:
$ ~/chromium/src/tools/sort-headers.py tests/*.cpp
BUG=None
TEST=tests
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/145313004
git-svn-id: http://skia.googlecode.com/svn/trunk@13177 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 20:56:26 +00:00
commit-bot@chromium.org
e2eac8b2fd
Move macros from TestClassDef.h to Test.h
...
Motivation: those macros don't make any sense without the definitions
in Test.h.
BUG=
R=mtklein@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/138563004
git-svn-id: http://skia.googlecode.com/svn/trunk@13074 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 21:04:37 +00:00
tfarina@chromium.org
9f9d5829c2
Get rid of DEFINE_TESTCLASS() macro.
...
Remaining tests were rewrite to use DEF_TEST() macro instead. This fixes
the FIXME in TestClassDef.h
BUG=None
TEST=tests
R=mtklein@google.com
Review URL: https://codereview.chromium.org/114563003
git-svn-id: http://skia.googlecode.com/svn/trunk@12760 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 22:15:12 +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
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
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
robertphillips@google.com
c2cc1dbe81
Revert r11842 (call drawRect to try GrAARectRenderer if the path is a rect - https://codereview.chromium.org/23484007 ) due to changes to the following GM images:
...
inverse_paths
pathopsinverse
git-svn-id: http://skia.googlecode.com/svn/trunk@11845 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 17:34:20 +00:00
commit-bot@chromium.org
521a46750d
If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.
...
R=bsalomon@google.com , robertphillips@google.com , reed@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23484007
git-svn-id: http://skia.googlecode.com/svn/trunk@11842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:21 +00:00
commit-bot@chromium.org
ddf94cf108
Remove unnamed namespace usage from tests.
...
Skia code prefers static over unnamed namespace.
BUG=None
TEST=None
R=bsalomon@google.com , robertphillips@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/26962002
git-svn-id: http://skia.googlecode.com/svn/trunk@11747 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-12 17:25:17 +00:00
robertphillips@google.com
1f2f338e23
Split SkDevice into SkBaseDevice and SkBitmapDevice
...
https://codereview.chromium.org/22978012/
git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 11:54:56 +00:00
robertphillips@google.com
9b051a375b
Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018
Split SkDevice out of SkBitmapDevice
...
https://codereview.chromium.org/22978012/
git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
skia.committer@gmail.com
83f0d302e8
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8851 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 07:01:04 +00:00
junov@chromium.org
d5cfdfffc8
Fixing numerical rounding edge case in SkTileGrid
...
BUG=https://code.google.com/p/chromium/issues/detail?id=234688
TEST=TileGrid skia unit test
Review URL: https://codereview.chromium.org/13860011
git-svn-id: http://skia.googlecode.com/svn/trunk@8839 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-24 15:39:11 +00:00
junov@chromium.org
ef5b811426
Fixing SkTileGrid to clamp rather than clip content and querries that are outside the bounds of the grid
...
This fix prevents border padding and offsets on the tile grid structure from resulting in bad clipping. The job of clipping contents is left to the playback canvas.
BUG=https://code.google.com/p/skia/issues/detail?id=1209
TEST=TileGrid unit test,
Review URL: https://codereview.chromium.org/13493016
git-svn-id: http://skia.googlecode.com/svn/trunk@8576 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 16:13:09 +00:00
skia.committer@gmail.com
631cdcb4a6
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7910 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 12:12:55 +00:00
sugoi@google.com
54f0d1b711
Tests : Unused parameters cleanup
...
I removed unused parameters in the tests wherever it was trivial to do so. I'm trying to get the easy ones out of the way before we get into more involved discussions around this.
Review URL: https://codereview.appspot.com/7394055
git-svn-id: http://skia.googlecode.com/svn/trunk@7891 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 19:17:41 +00:00
junov@chromium.org
29b19e53cf
Change SkTileGride geometry calculations to match the Chromium compositor.
...
This patch changes the semantics of tileWidth/Height to include the border region, and
uses an offset to take into account the fact that there is no outer border for outer
tiles. This patch also fixes a previous bug where the right column and bottom row were
considered to be included in bounds that are expressed as an SkIRect.
Companion Chromium CL required for roll: https://codereview.chromium.org/12221077/
TEST=TileGrid unit test
Review URL: https://codereview.appspot.com/7350050
git-svn-id: http://skia.googlecode.com/svn/trunk@7885 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 18:35:16 +00:00
skia.committer@gmail.com
8626719107
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7688 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-09 07:05:02 +00:00
junov@chromium.org
f507c410e3
Adding option to SkTileGrid for specifying border pixels.
...
The purpose of this patch is to make it possible for the chromium compositor to
generate a TileGrid structure that is better suited for scaled playback.
Review URL: https://codereview.appspot.com/7300072
git-svn-id: http://skia.googlecode.com/svn/trunk@7680 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-08 21:03:30 +00:00
skia.committer@gmail.com
61b05dcc7e
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6809 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-14 02:02:06 +00:00
junov@chromium.org
3cb834bd27
Modifying SkTileGrid to support arbitrary query rectangles.
...
Exposing SkTileGrid functionality in the public API through SkTileGridPicture.
This patch also makes TileGrid and Rtree testable in gm, which revealed errors.
TEST=gm with '--tileGrid'
BUG=http://code.google.com/p/chromium/issues/detail?id=164636
Review URL: https://codereview.appspot.com/6933044
git-svn-id: http://skia.googlecode.com/svn/trunk@6783 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 16:39:53 +00:00
junov@chromium.org
adc58e4f48
Unit testing for SkTileGrid
...
Review URL: https://codereview.appspot.com/6827053
git-svn-id: http://skia.googlecode.com/svn/trunk@6331 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 17:38:38 +00:00