bsalomon@google.com
de9f251427
Fix radical assumption that 0.5 in double is exactly convertible to float.
...
BUG=skia:2181
Review URL: https://codereview.chromium.org/195423002
git-svn-id: http://skia.googlecode.com/svn/trunk@13742 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 17:09:17 +00:00
commit-bot@chromium.org
b97c3ffddf
Enable use of distance fields via SkPaint flag.
...
Now that distance field generation is fast enough to make it practical, this makes distances field fonts easily available to anyone who wants to try them out (i.e Chromium).
BUG=skia:2173
R=reed@google.com , bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/193163003
git-svn-id: http://skia.googlecode.com/svn/trunk@13741 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 17:07:15 +00:00
commit-bot@chromium.org
8065ec50f1
Add new module for distance field generation.
...
This improves the speed over the previous method by 10x+, and makes using distance fields practical.
BUG=skia:2173
Committed: http://code.google.com/p/skia/source/detail?r=13729
R=bsalomon@google.com , robertphillips@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/178543007
git-svn-id: http://skia.googlecode.com/svn/trunk@13740 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 15:57:40 +00:00
commit-bot@chromium.org
c5c748c147
Handle rrects with one circular corner and three square corners in GrRRectEffect.
...
BUG=skia:2181
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/193263002
git-svn-id: http://skia.googlecode.com/svn/trunk@13739 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 15:54:51 +00:00
commit-bot@chromium.org
a64ed0fd68
bench rebaseline after Brian's improvement e5a041c
...
BUG=skia:2274
NOTRY=true
R=bsalomon@google.com
TBR=bsalomon@google.com
Author: bensong@google.com
Review URL: https://codereview.chromium.org/195053003
git-svn-id: http://skia.googlecode.com/svn/trunk@13738 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 14:28:10 +00:00
commit-bot@chromium.org
db34f33cd8
Revert of New version of the bbh shootout ( https://codereview.chromium.org/186973005/ )
...
Reason for revert:
breaking build on at least 12 configurations.
Original issue's description:
> New version of the bbh shootout.
> There were a bunch of problems with the existing code, all of which I would of ignored, except it could only benchmark none and rtree.
> The new version measures the same numbers, in almost exactly the same way, it's the structure over the top of the actual test runner that I changed.
> Now it only loads the pictures once, it is configurable in which bbh's it runs and how may loops on them it does, it uses standard command line processing, and it does not do so much redundant work so it runs quicker. It is also much easier to understand and change IMHO.
>
> Doing this so I can reasonably compare the new QuadTree implementation.
> BUG=skia:2242
>
> Committed: http://code.google.com/p/skia/source/detail?r=13736
R=tomhudson@google.com , mtklein@google.com , reed@google.com , iancottrell@google.com
TBR=iancottrell@google.com , mtklein@google.com , reed@google.com , tomhudson@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2242
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/194903003
git-svn-id: http://skia.googlecode.com/svn/trunk@13737 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 14:23:50 +00:00
commit-bot@chromium.org
4aa718590a
New version of the bbh shootout.
...
There were a bunch of problems with the existing code, all of which I would of ignored, except it could only benchmark none and rtree.
The new version measures the same numbers, in almost exactly the same way, it's the structure over the top of the actual test runner that I changed.
Now it only loads the pictures once, it is configurable in which bbh's it runs and how may loops on them it does, it uses standard command line processing, and it does not do so much redundant work so it runs quicker. It is also much easier to understand and change IMHO.
Doing this so I can reasonably compare the new QuadTree implementation.
BUG=skia:2242
R=tomhudson@google.com , mtklein@google.com , reed@google.com
Author: iancottrell@google.com
Review URL: https://codereview.chromium.org/186973005
git-svn-id: http://skia.googlecode.com/svn/trunk@13736 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 13:51:28 +00:00
commit-bot@chromium.org
821397018f
plumbing for GPU fast blur
...
BUG=skia:2281
R=bsalomon@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/193193002
git-svn-id: http://skia.googlecode.com/svn/trunk@13735 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 22:53:20 +00:00
bsalomon@google.com
45b9de81bc
Rebase bezier_effect GMs and lingering changed GMs from laggy bots
...
Review URL: https://codereview.chromium.org/190663019
git-svn-id: http://skia.googlecode.com/svn/trunk@13734 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 21:42:48 +00:00
commit-bot@chromium.org
a477154cfc
plumb API for analytic rrect blur
...
BUG=skia:2281
R=bsalomon@google.com , reed@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/189663012
git-svn-id: http://skia.googlecode.com/svn/trunk@13733 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 21:42:06 +00:00
commit-bot@chromium.org
b5f3b35645
Revert of Add new module for distance field generation. ( https://codereview.chromium.org/178543007/ )
...
Reason for revert:
multiple compile errors
Original issue's description:
> Add new module for distance field generation.
>
> This improves the speed over the previous method by 10x+, and makes using distance fields practical.
>
> BUG=skia:2173
>
> Committed: http://code.google.com/p/skia/source/detail?r=13729
R=bsalomon@google.com , robertphillips@google.com , jvanverth@google.com
TBR=bsalomon@google.com , jvanverth@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2173
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/190753015
git-svn-id: http://skia.googlecode.com/svn/trunk@13732 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 20:37:54 +00:00
bsalomon@google.com
b0ba39d1ca
Fix no GPU build after r13728
...
Review URL: https://codereview.chromium.org/193163002
git-svn-id: http://skia.googlecode.com/svn/trunk@13731 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 19:51:46 +00:00
reed@google.com
b93ba45b58
flag to make kClipToLayer_SaveFlag the default behavior
...
#define SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG to get the old behavior
The goal is to remove the feature of saveLayer that allows the canvas to draw outside of the top-most layer.
R=robertphillips@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/190723004
git-svn-id: http://skia.googlecode.com/svn/trunk@13730 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 19:47:58 +00:00
commit-bot@chromium.org
bf99824083
Add new module for distance field generation.
...
This improves the speed over the previous method by 10x+, and makes using distance fields practical.
BUG=skia:2173
R=bsalomon@google.com , robertphillips@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/178543007
git-svn-id: http://skia.googlecode.com/svn/trunk@13729 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 19:38:51 +00:00
commit-bot@chromium.org
bfce48e0bc
reorg iteration code in rrects GM, tightly pack rrects drawn in _effect version.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/190953008
git-svn-id: http://skia.googlecode.com/svn/trunk@13728 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 19:33:16 +00:00
commit-bot@chromium.org
6e3ee3339c
rebaseline_server: disable image magnifier, for huge UI speedup
...
BUG=skia:2248
NOTREECHECKS=True
NOTRY=True
R=rmistry@google.com
TBR=rmistry
Author: epoger@google.com
Review URL: https://codereview.chromium.org/193073003
git-svn-id: http://skia.googlecode.com/svn/trunk@13727 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 19:12:53 +00:00
commit-bot@chromium.org
5865ec5f3a
rebaseline_server: add actual_repo and actual_revision command line options
...
So, if you want to see divergences from expectations as of https://code.google.com/p/skia-autogen/source/detail?r=29365 , specify --actuals-revision 29365
This is also handy for testing rebaseline_server performance improvements against a static set of results.
BUG=skia:2248
NOTREECHECKS=True
NOTRY=True
R=borenet@google.com , bsalomon@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/193023002
git-svn-id: http://skia.googlecode.com/svn/trunk@13726 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 18:09:25 +00:00
commit-bot@chromium.org
ed19107c1b
rebaseline_server: fix reload delay when there is client/server clock skew
...
Currently, if there is >10 second clock skew between client and server, the
client will attempt to reload constantly while the server is still loading
results.
NOTREECHECKS=True
NOTRY=True
R=borenet@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/192833003
git-svn-id: http://skia.googlecode.com/svn/trunk@13725 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 18:05:15 +00:00
commit-bot@chromium.org
d7e0fbef5d
Pulling these out of other reviews so avoid code review clutter.
...
R=jvanverth@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/192783002
git-svn-id: http://skia.googlecode.com/svn/trunk@13724 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 16:41:00 +00:00
commit-bot@chromium.org
dd58422b4b
Use bitfield rather than distinct enum types for circular corners in RRectEffect.
...
BUG=skia:2181
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/191613003
git-svn-id: http://skia.googlecode.com/svn/trunk@13723 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 16:08:22 +00:00
commit-bot@chromium.org
8f58b85bfb
remove legacy ifdef wrapping fast blur
...
BUG=skia:
R=robertphillips@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/192833002
git-svn-id: http://skia.googlecode.com/svn/trunk@13722 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 16:05:57 +00:00
commit-bot@chromium.org
fae599b4a6
Avoid black flashes when resizing debugger window using MSAA
...
Avoid black flashes when resizing debugger window using MSAA. Clear the
stencil buffer always after resize. Also reset the GrContext state
when Qt calls resizeGL -- we do not know what GL state Qt changes.
Remove setting of white background to SkGLWidget, it is not
effective. QGLWidget does not respect the stylesheet.
Also move the initial stencil clearing before GrContext is created
in order to preserve GrContext state consistent with actual GL
state.
R=robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/192433003
git-svn-id: http://skia.googlecode.com/svn/trunk@13721 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 16:04:47 +00:00
commit-bot@chromium.org
fadc749bd0
rebaseline_server: display how long it took to render the list
...
BUG=skia:2248
NOTREECHECKS=True
NOTRY=True
R=borenet@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/189833008
git-svn-id: http://skia.googlecode.com/svn/trunk@13720 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 15:36:06 +00:00
reed@google.com
e8ead8e510
Revert "remove flag for legacy copyTo -- call sites have been updated"
...
This reverts commit 85586a92f50942ede4422aca7308b9d8a88469db.
git-svn-id: http://skia.googlecode.com/svn/trunk@13719 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 12:17:06 +00:00
commit-bot@chromium.org
cac5fd597f
Factory methods for heap-allocated SkImageFilter objects.
...
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.
This patch makes the constructors of SkImageFilter and its subclasses non-public
and instead provides factory methods for creating these objects on the heap. We
temporarily keep constructor of publicly visible classes public behind a flag.
BUG=skia:2187
R=scroggo@google.com , mtklein@chromium.org , reed@google.com , senorblanco@google.com , senorblanco@chromium.org , bsalomon@google.com , sugoi@chromium.org , zork@chromium.org
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/182983003
git-svn-id: http://skia.googlecode.com/svn/trunk@13718 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 10:51:58 +00:00
commit-bot@chromium.org
b471a32460
Add API for GrContext to recommend rendertarget sample count
...
Add GrContext::getRecommendedSampleCount method that can be
used to determine which GPU backend and what exact sample count
is recommendeded for a particular render target at particular
dpi.
Make this initially recommend 4xMSAA for contexts which have
NVPR enabled if dpi is 250 or more, 16 if dpi is less than 250
and no MSAA for others.
BUG=chromium:347962
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/188403003
git-svn-id: http://skia.googlecode.com/svn/trunk@13717 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 07:40:03 +00:00
skia.committer@gmail.com
a5cb214132
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13716 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-09 03:02:09 +00:00
commit-bot@chromium.org
5c70cdca5e
hide getTotalClip, so we can eventually remove it
...
hide getClipType, so we can eventually remove it
patch from issue 189443007
TBR=robertphilips@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/189883010
git-svn-id: http://skia.googlecode.com/svn/trunk@13715 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-08 03:57:19 +00:00
skia.committer@gmail.com
e62513fb92
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13714 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-08 03:02:06 +00:00
bsalomon@google.com
77286a5945
Rebaselines for https://codereview.chromium.org/188693008/
...
Review URL: https://codereview.chromium.org/189913006
git-svn-id: http://skia.googlecode.com/svn/trunk@13713 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 22:34:32 +00:00
bsalomon@google.com
a10f26e5d1
update ignored-tests.txt to accound for acceptable changes due to r13710
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/189803005
git-svn-id: http://skia.googlecode.com/svn/trunk@13712 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 20:33:07 +00:00
reed@google.com
b144743834
remove dead code
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13711 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 19:44:59 +00:00
commit-bot@chromium.org
e5a041c068
Implement the clip as 4 or fewer GrEffects when possible.
...
BUG=skia:2181
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/188693008
git-svn-id: http://skia.googlecode.com/svn/trunk@13710 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 19:43:43 +00:00
commit-bot@chromium.org
8c2ee59635
Once Chromium starts holding on to paths and we can actually reuse cached path data (e.g., masks & geometry) we will need a way to preserve that reuse in the skps. This CL begins adding that capability. More analysis & profiling needs to be done before it is always enabled.
...
When enabled it does make the disabled path de-duping test in the Canvas unit test pass.
BUG=skia:507
R=bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/190923002
git-svn-id: http://skia.googlecode.com/svn/trunk@13709 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 18:42:15 +00:00
commit-bot@chromium.org
0fd5270ad6
Add nvprmsaa4 and nvprmsaa16 configs to bench_pictures
...
Add nvprmsaa4 and nvprmsaa16 configs to bench_pictures.
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/189263012
git-svn-id: http://skia.googlecode.com/svn/trunk@13708 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 18:41:14 +00:00
commit-bot@chromium.org
dec0065e09
Ignore failure of mixed_xfermodes_gpu on N4
...
BUG=skia:1596
NOTRY=true
R=epoger@google.com , bsalomon@google.com
Author: borenet@google.com
Review URL: https://codereview.chromium.org/190843004
git-svn-id: http://skia.googlecode.com/svn/trunk@13707 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 17:34:21 +00:00
reed@google.com
ce29b329e4
remove flag for legacy copyTo -- call sites have been updated
...
TBR=robertphilips@google.com
Review URL: https://codereview.chromium.org/189513005
git-svn-id: http://skia.googlecode.com/svn/trunk@13706 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 16:20:47 +00:00
commit-bot@chromium.org
19dff99a67
update Doxygen config file to include gpu directory in api generation
...
BUG=skia:2263
R=epoger@google.com
Author: hcm@google.com
Review URL: https://codereview.chromium.org/182253012
git-svn-id: http://skia.googlecode.com/svn/trunk@13705 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 16:20:36 +00:00
commit-bot@chromium.org
8016f79cfc
This is just the first version and shows how I intend to orchestrate this. Future enhancements will:
...
track the portion of the bitmap required
track any resizing that might be required
actually preload something
R=bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/187833003
git-svn-id: http://skia.googlecode.com/svn/trunk@13704 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 15:53:01 +00:00
commit-bot@chromium.org
8eb20cc112
remove code disabled from writePixels change
...
These tests were asserting that particular, non-documented, optimizations were taking place
in the deferreddevice. Theese particualr short-cuts are no longer possible given the change
to canvas' writepixels to always require a raw-pointer.
R=junov@google.com
TBR=junov@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/190853002
git-svn-id: http://skia.googlecode.com/svn/trunk@13703 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 14:52:22 +00:00
commit-bot@chromium.org
210a6aa8bd
getFactory() must return a factory.
...
BUG=348821
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/190843002
git-svn-id: http://skia.googlecode.com/svn/trunk@13702 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 14:52:09 +00:00
commit-bot@chromium.org
7fc2228795
Fix underlying issue causing crbug.com/348821.
...
SkDashPathEffect refuses to flatten itself if it thinks it's a no-op. This
messes with the assumption that flattening a non-NULL effect and then
unflattening from those bytes produces a non-NULL effect. I'd rather make that
assumption always be true than save a few bytes for rare nonsense path effects.
BUG=348821
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/189643002
git-svn-id: http://skia.googlecode.com/svn/trunk@13701 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 14:43:00 +00:00
commit-bot@chromium.org
32a7195310
fix the build error of SkiaExample -- use setColorType, not setConfig
...
BUG=skia:
R=reed@google.com , scroggo@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/190303002
git-svn-id: http://skia.googlecode.com/svn/trunk@13700 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 13:24:52 +00:00
commit-bot@chromium.org
fe089b383a
SSE2 implementation of S32A_D565_Opaque_Dither
...
Run benchmarks with command line option "--forceDither true --forceBlend
1", almost all the benchmarks exercised S32A_D565_Opaque_Dither can get
about 20%-70% performance improvement.
Here are the data on i7-3770:
before after
verts 4314.81 3627.64 15.93%
constXTile_MM_filter_trans 1434.22 432.82 69.82%
constXTile_CC_filter_trans_scale 1440.17 437.00 69.66%
constXTile_RR_filter_trans 1436.96 431.93 69.94%
constXTile_MM_trans_scale 1436.33 435.77 69.66%
constXTile_CC_trans 1433.12 431.36 69.90%
constXTile_RR_trans_scale 1436.13 436.06 69.64%
constXTile_MM_filter 1411.55 408.06 71.09%
constXTile_CC_filter_scale 1416.68 414.18 70.76%
constXTile_RR_filter 1429.46 409.81 71.33%
constXTile_MM_scale 1415.00 412.56 70.84%
constXTile_CC 1410.32 408.36 71.04%
constXTile_RR_scale 1413.26 413.16 70.77%
repeatTile_4444_A 1922.01 879.03 54.27%
repeatTile_4444_A 1430.68 818.34 42.80%
repeatTile_4444_X 1817.43 816.63 55.07%
maskshader 5911.09 5895.46 0.26%
gradient_create_alpha 4.41 4.41 -0.15%
gradient_conical_clamp_3color 35298.71 27574.34 21.88%
gradient_conical_clamp_hicolor 35262.15 27538.99 21.90%
gradient_conical_clamp 35276.21 27599.80 21.76%
gradient_radial2_mirror 20846.74 12969.39 37.79%
gradient_radial2_clamp_hicolor 21848.12 13967.57 36.07%
gradient_radial2_clamp 21829.95 13978.57 35.97%
bitmap_4444_A_scale_rotate_bicubic 105.31 87.13 17.26%
bitmap_4444_A_scale_bicubic 73.69 47.76 35.20%
bitmap_4444_update_scale_rotate_bilerp 125.65 87.86 30.08%
bitmap_4444_update_volatile_scale_rotate_bilerp 125.50 87.65 30.16%
bitmap_4444_scale_rotate_bilerp 124.46 87.91 29.37%
bitmap_4444_A_scale_rotate_bilerp 105.09 87.27 16.96%
bitmap_4444_update_scale_bilerp 106.78 63.28 40.74%
bitmap_4444_update_volatile_scale_bilerp 106.66 63.66 40.32%
bitmap_4444_scale_bilerp 106.70 63.19 40.78%
bitmap_4444_A_scale_bilerp 83.05 62.25 25.04%
bitmap_a8 98.11 52.76 46.22%
bitmap_a8_A 98.24 52.85 46.20%
BUG=
R=mtklein@google.com
Author: qiankun.miao@intel.com
Review URL: https://codereview.chromium.org/179443003
git-svn-id: http://skia.googlecode.com/svn/trunk@13699 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 13:24:42 +00:00
commit-bot@chromium.org
275804782f
SSE2 implementation of S32_D565_Opaque_Dither
...
Run benchmarks with command line option "--forceDither true". The result
shows that all benchmarks exercised S32_D565_Opaque_Dither benefit from
this SSE2 optimization. Here are the data on i7-3770:
before after
constXTile_MM_filter 900.93 217.75 75.83%
constXTile_CC_filter_scale 907.59 225.65 75.14%
constXTile_RR_filter 903.33 219.41 75.71%
constXTile_MM_scale 902.45 221.46 75.46%
constXTile_CC 898.55 218.37 75.70%
constXTile_RR_scale 902.69 222.35 75.37%
repeatTile_4444_X 938.53 240.49 74.38%
gradient_radial2_mirror 16999.49 11540.39 32.11%
gradient_radial2_clamp_hicolor 17943.38 12501.71 30.33%
gradient_radial2_clamp 17816.36 12492.04 29.88%
bitmaprect_FF_filter_trans 47.81 10.98 77.03%
bitmaprect_FF_nofilter_trans 47.79 10.91 77.18%
bitmaprect_FF_filter_identity 47.74 10.89 77.18%
bitmaprect_FF_nofilter_identity 47.83 10.89 77.24%
bitmap_4444_update_scale_rotate_bilerp 100.45 76.84 23.50%
bitmap_4444_update_volatile_scale_rotate_bilerp 100.80 76.70 23.91%
bitmap_4444_scale_rotate_bilerp 100.43 77.18 23.15%
bitmap_4444_update_scale_bilerp 79.00 49.03 37.93%
bitmap_4444_update_volatile_scale_bilerp 78.90 48.87 38.06%
bitmap_4444_scale_bilerp 78.92 48.81 38.16%
bitmap_4444_update 42.19 11.53 72.68%
bitmap_4444_update_volatile 42.28 11.49 72.82%
bitmap_a8 60.37 29.75 50.72%
bitmap_4444 42.19 11.52 72.69%
BUG=
R=mtklein@google.com
Author: qiankun.miao@intel.com
Review URL: https://codereview.chromium.org/181293002
git-svn-id: http://skia.googlecode.com/svn/trunk@13698 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 03:25:32 +00:00
commit-bot@chromium.org
4cd9e2169e
Add SkCanvas::writePixels that takes info+pixels directly
...
add corresponding methods to device (w/ diff name to avoid colliding with exising virtuals)
BUG=skia:
R=bsalomon@google.com , robertphillips@google.com , junov@google.com , junov@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/180113010
git-svn-id: http://skia.googlecode.com/svn/trunk@13697 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 03:25:16 +00:00
commit-bot@chromium.org
a5572e5bb2
Add a class to allocate small objects w/o extra calls to new.
...
Add SkSmallAllocator, a template for allocating small (as defined by the
instantiation) objects without extra calls to new. Add a helper macro to
make using it simple.
Remove SkTemplatesPriv.h, whose behavior is replaced by SkSmallAllocator.
The old SK_PLACEMENT_NEW had the following drawbacks:
- Easily confused with SkNEW_PLACEMENT.
- Requires passing around lots of void*s along with the storageSize.
- Requires using a separate class for deleting it.
- We had multiple ways Auto objects for deleting in different places.
- It always did a straight heap allocation on Windows, meaning Windows
did not get any advantages from the confusing code.
The new SkSmallAllocator simplifies things:
- It is clear about what it does.
- It takes care of the deletion in one place that is automatically
handled.
Further, the new class can be used to create more than one object. This
is in preparation for BUG=skia:1976, for which we would like to create
a new object without extra heap allocations. The plan is to create both
the blitter and the new object on the stack using the SkSmallAllocator.
Add a new test for SkSmallAllocator.
SkShader.h:
Move the private version of CreateBitmapShader to SkBitmapProcShader
(which already has the implementation) and remove the friend class
(which was only used to call this private function). This allows
SkSmallAllocator to reside in the private src/ directory.
SkBitmapProcShader:
Move CreateBitmapShader and the macro for the storage size here. With
the macro in a (private) header, the (private) headers with function
declarations (which now depend on the storage size used) can see the
macro.
Use SkSmallAllocator in CreateBitmapShader.
Change the macro to kBlitterStorageByteCount, since SkSmallAllocator
takes a byte count as its template parameter.
SkBlitter:
Use the SkSmallAllocator.
Remove Sk3DShader::fKillProc and SkAutoCallProc. Both of their
behaviors have been moved into SkSmallAllocator (SkAutoCallProc was
unnecessary anyway, because the only time we ever used it we also
called detach(), so its auto behavior never happened).
Create the Sk3DShader on the stack, if there's room.
Remove the helper version of Choose, which was unused.
SmallAllocatorTest:
Test for the new class.
The rest:
Use SkSmallAllocator.
BUG=skia:1976
R=reed@google.com , mtklein@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/179343005
git-svn-id: http://skia.googlecode.com/svn/trunk@13696 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 03:24:41 +00:00
commit-bot@chromium.org
1d328e4617
Yet another whitespace change to see if the bots are fixed
...
NOTRY=true
NOTREECHECKS=true
R=epoger@google.com , rmistry@google.com
TBR=epoger, rmistry
BUG=skia:2264
Author: borenet@google.com
Review URL: https://codereview.chromium.org/189453002
git-svn-id: http://skia.googlecode.com/svn/trunk@13695 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-06 23:38:52 +00:00
commit-bot@chromium.org
4d5337e799
Whitespace change to verify that the bots are fixed
...
R=epoger@google.com , rmistry@google.com
TBR=epoger, rmistry
NOTREECHECKS=true
NOTRY=true
BUG=skia:2264
Author: borenet@google.com
Review URL: https://codereview.chromium.org/189253003
git-svn-id: http://skia.googlecode.com/svn/trunk@13694 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-06 23:08:33 +00:00
commit-bot@chromium.org
66645e3bdd
Whitespace change to test whether builders are fixed
...
R=epoger@google.com , rmistry@google.com
TBR=epoger, rmistry
NOTRY=true
NOTREECHECKS=true
BUG=skia:2264
Author: borenet@google.com
Review URL: https://codereview.chromium.org/188633005
git-svn-id: http://skia.googlecode.com/svn/trunk@13693 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-06 21:48:57 +00:00