Commit Graph

20020 Commits

Author SHA1 Message Date
caryclark
fb56218292 fix stroked text underline / strikethrough
Pass 1 to DrawRect for underline and strikethrough since it will
scale by the text size later.

R=reed@google.com
BUG=skia:971
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535793004

Review URL: https://codereview.chromium.org/1535793004
2015-12-21 08:35:51 -08:00
xidachen
627769144d Create a hash table from id<-->key in SkImageFilter::CacheImpl
There is memory leak in the SkImageFilter::Cache. There are two sources
of memory leak:
1. The cache filling up quickly.
2. A slow small leak that never stops.
This CL solves the first issue, which prevents the cache filling up quickly.
This CL creates a new hash table that index the
SkImageFilter::uniqueID to an array of keys, and with the existing
key<-->Value hash table, we can have SkImageFilters proactively
purge content derived cached content when destroyed.

BUG=489543
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1514893003

Committed: https://skia.googlesource.com/skia/+/f5d1f8dcc841516d7ea63c151b13059af40ca76d

Review URL: https://codereview.chromium.org/1514893003
2015-12-21 07:29:03 -08:00
caryclark
17bc0851d3 check in direct quad length measure
Add code so that it at minimum won't bit-rot.
Next: add tests to see if it works.

R=reed@google.com
BUG=skia:1036
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541523002

Review URL: https://codereview.chromium.org/1541523002
2015-12-21 05:32:53 -08:00
kkinnunen
dd180e795f Enable NVPR with command buffer
Set Chromium command-line flag --enable-gl-path-rendering
before creating command buffer context. This is needed for
the command buffer to expose NVPR at the moment.

BUG=skia:2992
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1538863002

Review URL: https://codereview.chromium.org/1538863002
2015-12-21 04:05:53 -08:00
reed
2d6ba6690f Revert of change all factories to return their base-class (patchset #1 id:1 of https://codereview.chromium.org/1535353002/ )
Reason for revert:
need to update some chrome/blink call-sites

Original issue's description:
> change all factories to return their base-class
>
> will watch DEPS roll to see if there are chrome sites needing updates
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535353002
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/d63f60a36327e9580861205ebb35cade8c49bd34

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1540203002
2015-12-20 20:08:43 -08:00
reed
d63f60a363 change all factories to return their base-class
will watch DEPS roll to see if there are chrome sites needing updates

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535353002

TBR=

Review URL: https://codereview.chromium.org/1535353002
2015-12-20 19:38:20 -08:00
update-skps
77991de60c Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535373002

Review URL: https://codereview.chromium.org/1535373002
2015-12-20 00:35:33 -08:00
reed
03ef4b16b2 remove SK_SUPPORT_LEGACY_SAVELAYERPARAMS code
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1537193002

TBR=

Review URL: https://codereview.chromium.org/1537193002
2015-12-18 21:26:56 -08:00
joshualitt
d0e1f80d04 Remove EGL_config from vb bot
TBR=borenet@google.com

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1540583003

Review URL: https://codereview.chromium.org/1540583003
2015-12-18 10:19:02 -08:00
jvanverth
ecbed9d01b Rejigger distance field path rect calcs to avoid underflow
BUG=skia:4716
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535173002

Review URL: https://codereview.chromium.org/1535173002
2015-12-18 10:07:52 -08:00
joshualitt
b8918c42b7 Add Drawing Manager guards against re-entrant flushes
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1538013002

Review URL: https://codereview.chromium.org/1538013002
2015-12-18 09:59:46 -08:00
herb
c7a784cc8c Fix UB function problems for shaders and mask.
BUG=skia:4634
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1530743002

Committed: https://skia.googlesource.com/skia/+/dafd044e4aea529f88d899247678d4549f776388

Review URL: https://codereview.chromium.org/1530743002
2015-12-18 09:52:15 -08:00
fmalita
3e6be16e6d Revert of Repeating SkBitmapProcState rounding bias (patchset #6 id:100001 of https://codereview.chromium.org/1529833003/ )
Reason for revert:
We need a SkFractionalInt auto mapper flavor, otherwise we're losing precision for some procs => seaming artifacs

(https://gold.skia.org/diff?test=giantbitmap_mirror_point_rotate&left=0dd7a412fce81586e6a142e039ec2de9&top=a706d4bb2b8e994b936445b87115b07e)

Original issue's description:
> Repeating SkBitmapProcState rounding bias
>
> Observe the bias in repeat matrix procs also.
>
> Introduce a utility class to handle device space -> bitmap space
> mapping.
>
> BUG=skia:4680,skia:4649
> R=reed@google.com
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1529833003
>
> Committed: https://skia.googlesource.com/skia/+/5ae7fdcc3d7712da3193c39a751e88b092aa82db

TBR=reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4680,skia:4649

Review URL: https://codereview.chromium.org/1531423003
2015-12-18 09:36:18 -08:00
djsollen
14d8fa0f58 Move SkAndroidSDKCanvas to tools and ensure that it is built on all Android builds
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1536013003

Review URL: https://codereview.chromium.org/1536013003
2015-12-18 09:34:08 -08:00
herb
1e810b3cc2 Revert of Fix UB function problems for shaders and mask. (patchset #3 id:40001 of https://codereview.chromium.org/1530743002/ )
Reason for revert:
Breaks man gold tests.

Original issue's description:
> Fix UB function problems for shaders and mask.
>
> BUG=skia:4634
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1530743002
>
> Committed: https://skia.googlesource.com/skia/+/dafd044e4aea529f88d899247678d4549f776388

TBR=mtklein@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4634

Review URL: https://codereview.chromium.org/1534243002
2015-12-18 08:50:08 -08:00
joshualitt
31d46df1b0 Add visualbench as valid target to Makefile
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1530233005

Committed: https://skia.googlesource.com/skia/+/13221b83663778a2f5cbd90e51e253268755877e

Review URL: https://codereview.chromium.org/1530233005
2015-12-18 08:05:06 -08:00
fmalita
5ae7fdcc3d Repeating SkBitmapProcState rounding bias
Observe the bias in repeat matrix procs also.

Introduce a utility class to handle device space -> bitmap space
mapping.

BUG=skia:4680,skia:4649
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1529833003

Review URL: https://codereview.chromium.org/1529833003
2015-12-18 07:59:47 -08:00
bsalomon
a11e5fce33 Remove GrGLGpu::configToGLFormats
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1533903004

Review URL: https://codereview.chromium.org/1533903004
2015-12-18 07:59:42 -08:00
reed
a2b6fdd102 update androidsdk to new savelayer signature
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1540583002

NOTRY=True
NOTREECHECKS=True
TBR=

Review URL: https://codereview.chromium.org/1540583002
2015-12-18 07:38:26 -08:00
joshualitt
034389f4a4 Revert of Add visualbench as valid target to Makefile (patchset #2 id:20001 of https://codereview.chromium.org/1530233005/ )
Reason for revert:
might be breaking cmakebot

Original issue's description:
> Add visualbench as valid target to Makefile
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1530233005
>
> Committed: https://skia.googlesource.com/skia/+/13221b83663778a2f5cbd90e51e253268755877e

TBR=borenet@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1537903003
2015-12-18 07:29:39 -08:00
scroggo
56fbbfe609 Reland of Add test for previously unflattenables (patchset #1 id:1 of https://codereview.chromium.org/1532753002/ )
Reason for revert:
The test should now be blacklisted.

Original issue's description:
> Revert of Add test for previously unflattenables (patchset #1 id:1 of https://codereview.chromium.org/1514373003/ )
>
> Reason for revert:
> Speculative fix for skbug.com/4709
>
> Original issue's description:
> > Add test for previously unflattenables
> >
> > BUG=skia:4613
> >
> > Committed: https://skia.googlesource.com/skia/+/061aaa79f7d8a2e93962e8296abaae13f0a7a715
>
> TBR=halcanary@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:4613
>
> Committed: https://skia.googlesource.com/skia/+/c8f969309cafebeb16ad057f766b61bdc406a8b8

TBR=halcanary@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4613

Review URL: https://codereview.chromium.org/1535143002
2015-12-18 07:14:24 -08:00
joshualitt
13221b8366 Add visualbench as valid target to Makefile
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1530233005

Review URL: https://codereview.chromium.org/1530233005
2015-12-18 07:09:40 -08:00
reed
4960eeec4a change signature for virtual related to saveLayer, passing SaveLayerRec
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1533953002

NOTREECHECKS=True

Review URL: https://codereview.chromium.org/1533953002
2015-12-18 07:09:18 -08:00
caryclark
f97aa74fea fix large dashed paths
Paths with lots of points exceed the 32767 point index.
Make the index larger, add a test, and allow the
t value to use the extra bits.

R=reed@google.com,fmalita@chromium.org
BUG=skia:3501
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1534223002

Review URL: https://codereview.chromium.org/1534223002
2015-12-18 07:03:13 -08:00
scroggo
db7dc09e52 Remove SkImageMinRowBytes
As stated in the comments in crrev.com/1379193002, this method name is
misleading. It returns a larger number than the minimum rowbytes - it
increases to the next four-byte alignment. This has the effect that the
one place that calls it does not support 565 (which is not already
four-byte aligned), but does not serve any other purpose. Remove it and
the only call-site.

BUG=skia:4396
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1528383004

Review URL: https://codereview.chromium.org/1528383004
2015-12-18 06:56:01 -08:00
joshualitt
b81cecad37 Blacklist GLPrograms on Angle Debug bot
BUG=skia:4717
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1527323003

Review URL: https://codereview.chromium.org/1527323003
2015-12-18 06:50:59 -08:00
scroggo
b204fc61f7 Update dm_flags.json to match dm_flags.py
dm_flags.json verifies that the changes to dm_flags.py made sense. It
was not updated in crrev.com/1537793002, making me confused why my
.py changes seemed to affect WritePixelsTest in .json.

TBR=jvanverth@google.com
BUG=skia:2733
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1534043003

Review URL: https://codereview.chromium.org/1534043003
2015-12-18 06:50:53 -08:00
joshualitt
4dabf83cbe Revert of Add config options to run different GPU APIs to dm and nanobench (patchset #18 id:340001 of https://codereview.chromium.org/1490113005/ )
Reason for revert:
This CL changed 1200 images on gold, when I wouldn't expect any diffs from the description.

Original issue's description:
> Add config options to run different GPU APIs to dm and nanobench
>
> Add extended config specification form that can be used to run different
> gpu backend with different APIs.
>
> The configs can be specified with the form:
> gpu(api=string,dit=bool,nvpr=bool,samples=int)
>
> This replaces and removes the --gpuAPI flag.
>
> All existing configs should still work.
>
> Adds following documentation:
>
> out/Debug/dm --help config
>
> Flags:
>     --config:	type: string	default: 565 8888 gpu nonrendering
>         Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4
>         nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg
>         xps or use extended form 'backend(option=value,...)'.
>
>         Extended form: 'backend(option=value,...)'
>
>         Possible backends and options:
>
>         gpu(api=string,dit=bool,nvpr=bool,samples=int)	GPU backend
>         	api	type: string	default: native.
>         	    Select graphics API to use with gpu backend.
>         	    Options:
>         		native			Use platform default OpenGL or OpenGL ES backend.
>         		gl    			Use OpenGL.
>         		gles  			Use OpenGL ES.
>         		debug 			Use debug OpenGL.
>         		null  			Use null OpenGL.
>         	dit	type: bool	default: false.
>         	    Use device independent text.
>         	nvpr	type: bool	default: false.
>         	    Use NV_path_rendering OpenGL and OpenGL ES extension.
>         	samples	type: int	default: 0.
>         	    Use multisampling with N samples.
>
>         Predefined configs:
>
>         	gpu      	= gpu()
>         	msaa4    	= gpu(samples=4)
>         	msaa16   	= gpu(samples=16)
>         	nvprmsaa4	= gpu(nvpr=true,samples=4)
>         	nvprmsaa16	= gpu(nvpr=true,samples=16)
>         	gpudft    	= gpu(dit=true)
>         	gpudebug  	= gpu(api=debug)
>         	gpunull   	= gpu(api=null)
>         	debug     	= gpu(api=debug)
>         	nullgpu   	= gpu(api=null)
>
> BUG=skia:2992
>
> Committed: https://skia.googlesource.com/skia/+/e13ca329fca4c28cf4e078561f591ab27b743d23
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1490113005
>
> Committed: https://skia.googlesource.com/skia/+/c8b4336444e7b90382e04e33665fb3b8490b825b

TBR=mtklein@google.com,bsalomon@google.com,scroggo@google.com,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:2992

Review URL: https://codereview.chromium.org/1536963002
2015-12-18 06:02:18 -08:00
reed
e848ff5965 Revert of Create a hash table from id<-->key in SkImageFilter::CacheImpl (patchset #7 id:120001 of https://codereview.chromium.org/1514893003/ )
Reason for revert:
speculative revert to try to unblock DEPS roll

https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/94665

Original issue's description:
> Create a hash table from id<-->key in SkImageFilter::CacheImpl
>
> There is memory leak in the SkImageFilter::Cache. There are two sources
> of memory leak:
> 1. The cache filling up quickly.
> 2. A slow small leak that never stops.
> This CL solves the first issue, which prevents the cache filling up quickly.
> This CL creates a new hash table that index the
> SkImageFilter::uniqueID to an array of keys, and with the existing
> key<-->Value hash table, we can have SkImageFilters proactively
> purge content derived cached content when destroyed.
>
> BUG=489543
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1514893003
>
> Committed: https://skia.googlesource.com/skia/+/f5d1f8dcc841516d7ea63c151b13059af40ca76d

TBR=mtklein@google.com,junov@chromium.org,xidachen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=489543

Review URL: https://codereview.chromium.org/1537923002
2015-12-18 05:23:09 -08:00
caryclark
9cb5d755e7 fix bugs in path contains
Pull out the logic to check to see if the point is on the edge
so all curve types can share.

Reorder cubic to be like conic and quad so that mixed types
consider the curves consistently.

Don't count on curve points twice if they are on the end
and compute a zero cross product.

Remove logic that checks, when there are no roots, if the
point is closer to the top or the bottom (it's always the top).

Initialize the iterator correctly when it is accessing
the list of on point curves.

Use 'multiply' instead of 'subtract' to see if the vectors
are pointing in opposite directions.

Add more test cases.

R=reed@google.com,fs@opera.com
BUG=skia:4265
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1532003004

Review URL: https://codereview.chromium.org/1532003004
2015-12-18 04:35:24 -08:00
kkinnunen
c8b4336444 Add config options to run different GPU APIs to dm and nanobench
Add extended config specification form that can be used to run different
gpu backend with different APIs.

The configs can be specified with the form:
gpu(api=string,dit=bool,nvpr=bool,samples=int)

This replaces and removes the --gpuAPI flag.

All existing configs should still work.

Adds following documentation:

out/Debug/dm --help config

Flags:
    --config:	type: string	default: 565 8888 gpu nonrendering
        Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4
        nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg
        xps or use extended form 'backend(option=value,...)'.

        Extended form: 'backend(option=value,...)'

        Possible backends and options:

        gpu(api=string,dit=bool,nvpr=bool,samples=int)	GPU backend
        	api	type: string	default: native.
        	    Select graphics API to use with gpu backend.
        	    Options:
        		native			Use platform default OpenGL or OpenGL ES backend.
        		gl    			Use OpenGL.
        		gles  			Use OpenGL ES.
        		debug 			Use debug OpenGL.
        		null  			Use null OpenGL.
        	dit	type: bool	default: false.
        	    Use device independent text.
        	nvpr	type: bool	default: false.
        	    Use NV_path_rendering OpenGL and OpenGL ES extension.
        	samples	type: int	default: 0.
        	    Use multisampling with N samples.

        Predefined configs:

        	gpu      	= gpu()
        	msaa4    	= gpu(samples=4)
        	msaa16   	= gpu(samples=16)
        	nvprmsaa4	= gpu(nvpr=true,samples=4)
        	nvprmsaa16	= gpu(nvpr=true,samples=16)
        	gpudft    	= gpu(dit=true)
        	gpudebug  	= gpu(api=debug)
        	gpunull   	= gpu(api=null)
        	debug     	= gpu(api=debug)
        	nullgpu   	= gpu(api=null)

BUG=skia:2992

Committed: https://skia.googlesource.com/skia/+/e13ca329fca4c28cf4e078561f591ab27b743d23
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1490113005

Review URL: https://codereview.chromium.org/1490113005
2015-12-18 03:27:32 -08:00
bsalomon
2555ee2e99 Remove some unneeded calls to GrGLGpu::configToGLFormats
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1530313005

Review URL: https://codereview.chromium.org/1530313005
2015-12-17 18:39:46 -08:00
bsalomon
926cb02389 Add field for internalFormat param to glTexImage to GrGLGpu::ConfigEntry.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1532273002

Review URL: https://codereview.chromium.org/1532273002
2015-12-17 18:15:11 -08:00
bsalomon
102b07e934 Remove dead code for glTexStorage
This is untested and therefore would be hard to maintain as this code is modified. We can always add it back later if we decide to use it.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1531013005

Review URL: https://codereview.chromium.org/1531013005
2015-12-17 15:37:33 -08:00
bsalomon
ef2c7c7057 Make SkMatrix::get*Scale[s]() fail on NaN
BUG=skia:4718
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1532963002

Review URL: https://codereview.chromium.org/1532963002
2015-12-17 15:33:13 -08:00
herb
dafd044e4a Fix UB function problems for shaders and mask.
BUG=skia:4634
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1530743002

Review URL: https://codereview.chromium.org/1530743002
2015-12-17 14:22:34 -08:00
bsalomon
5b30c6f622 Add fExternalFormatForTexImage to GrGLGpu::ConfigEntry. Use it in GrGLGpu::uploadTexData.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1531343002

Review URL: https://codereview.chromium.org/1531343002
2015-12-17 14:17:34 -08:00
jvanverth
6b237b420b Re-enable WritePixels test for iOS
BUG=skia:2733
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1537793002

Review URL: https://codereview.chromium.org/1537793002
2015-12-17 14:17:30 -08:00
fmalita
a379da41b7 SkMatrix::preScale() is too conservative
SkMatrix::preScale() always sets the kScale bit, which means something
like

  m = SkMatrix::MakeScale(2, 2);
  m.preScale(0.5, 0.5);

leaves m.getType() == kScale_Mask, and can throw off the bitmap proc
heuristics.

We could detect the inverse case and clear the scale bit instead.

R=reed@google.com,caryclark@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1531323002

Review URL: https://codereview.chromium.org/1531323002
2015-12-17 14:12:30 -08:00
xidachen
f5d1f8dcc8 Create a hash table from id<-->key in SkImageFilter::CacheImpl
There is memory leak in the SkImageFilter::Cache. There are two sources
of memory leak:
1. The cache filling up quickly.
2. A slow small leak that never stops.
This CL solves the first issue, which prevents the cache filling up quickly.
This CL creates a new hash table that index the
SkImageFilter::uniqueID to an array of keys, and with the existing
key<-->Value hash table, we can have SkImageFilters proactively
purge content derived cached content when destroyed.

BUG=489543
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1514893003

Review URL: https://codereview.chromium.org/1514893003
2015-12-17 14:12:23 -08:00
robertphillips
e80eb928ba Add default ctor to SkMask
The minimal fix here seems to be handling BoxBlur's return value in SkBlurMaskFilter.cpp::GrRRectBlurEffect::Create. We seem to do enough special handling of the fImage field though that always initialializing it may not be a bad idea.

BUG=570232
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1539553002

Review URL: https://codereview.chromium.org/1539553002
2015-12-17 11:33:12 -08:00
cdalton
1250944aaa Fixup GL instanced rendering commands
We've ended up with a flag in both GrCaps and GrGLCaps to indicate
the same instanced rendering functionality. This change removes the
GrGLCaps version of the flag and also also fixes the interface assembler
to use the proper suffix when loading the EXT version of the extension.

BUG=skia:

Review URL: https://codereview.chromium.org/1537483002
2015-12-17 11:11:40 -08:00
ethannicholas
3819d2d767 Added concave paths to aaxfermodes GM
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1534823004

Review URL: https://codereview.chromium.org/1534823004
2015-12-17 10:58:28 -08:00
mtklein
f6d8d28883 update CMake and Google3 builds for AVX/AVX2
The _avx.cpp code was working in a degraded (SSE2/SSSE3) mode silently.
This CL will make the _avx.cpp code start using AVX.

There is currently no _avx2.cpp code, but I'm writing some now,
and this change will make it work properly from the start.

Chrome and Android builds should already be okay.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535443003
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1535443003
2015-12-17 10:18:04 -08:00
bsalomon
62a627be6a Move the GrGLGpu config stencil format index into ConfigTable
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1526253007

Review URL: https://codereview.chromium.org/1526253007
2015-12-17 09:50:47 -08:00
rmistry
3922cef805 Add 2 new SKPS to the buildbot repository
BUG=skia:4713
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1534483004
NOTRY=true

Review URL: https://codereview.chromium.org/1534483004
2015-12-17 09:40:30 -08:00
jvanverth
2ef610858a Don't allow BGRA rendertargets on iOS w/ES 3.0+.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1531283002

Review URL: https://codereview.chromium.org/1531283002
2015-12-17 09:07:32 -08:00
fs
c91065d028 Use the unswapped end point y for early out case in winding_line
The x-coordinates are not swapped, so using the swapped y will result
in a comparison with the wrong (end) point.

BUG=skia:4265
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1533873002

Review URL: https://codereview.chromium.org/1533873002
2015-12-17 09:03:28 -08:00
bsalomon
f0795ab1f2 Fix thread-unsafe construction of GrUniqueKey in GR_DEFINE_STATIC_UNIQUE_KEY
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1530313002

Review URL: https://codereview.chromium.org/1530313002
2015-12-17 08:15:47 -08:00
senorblanco
c834ab178e Fix gaussian blur for small sigma.
I broke this in https://skia.googlesource.com/skia/+/c57e0ded7d535523cfc6bf07c78e5f3479bb8c42.
That change added support for cropping during blur, but
did not do the correct thing for the small-sigma 2D matrix convolution
optimization when blurring from small-to-large textures.

The fix is pass the correct dstRect and srcOffset to convolve_gaussian_2d.
I also changed convolve_gaussian_1d() and convolve_gaussian_2d() to take
the original (non-negated) srcOffset, and to negate them when constructing
the local matrix.

Test: added a new (blur 0.3 0.3) column to imagefilterscropexpand, so that
GM will have to be rebaselined.

BUG=skia:4719,569883
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1529313003

Review URL: https://codereview.chromium.org/1529313003
2015-12-17 08:10:17 -08:00