Commit Graph

13202 Commits

Author SHA1 Message Date
senorblanco
3d822c29d4 Intersect SkPictureImageFilter bounds against clip bounds.
Intersect SkPictureImageFilter bounds against clip bounds
to avoid unnecessary processing. This is how the other
filters work (via applyCropRect()), but SkPictureImageFilter
maintains its own crop.

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/428263003
2014-07-30 14:49:31 -07:00
egdaniel
0f1a7c42d7 Remove kDisableBlend_BlendOptFlag as it is no longer needed
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/425153003
2014-07-30 13:18:32 -07:00
krajcevski
b3abe90145 Start the process of choosing the correct compression format
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/427093004
2014-07-30 13:08:11 -07:00
mtklein
e83909f76c Add some debugging to PremulAlphaRoundTrip test.
BUG=skia:2782
R=bensong@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/429313002
2014-07-30 12:37:19 -07:00
joshualitt
468217091c Test removal of mesa specific version parse
BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/430833002
2014-07-30 11:49:13 -07:00
senorblanco
55b6d8be99 Implement a persistent uniqueID-based cache for SkImageFilter.
Add a unique ID to SkImageFilter, and use it as part
of a persistent cache of image-filtered results. This is used for
caching frame-to-frame coherent filters.

We also keep track of which filter subtrees do not reference the
src input, and use a GenID of zero for the src input in that case.
That way, subtrees which are not dependent on the filter input can be
cached independently of it.

This gives approximately a 4X speedup on
letmespellitoutforyou.com/samples/svg/filter_terrain.svg on Z620
and Nexus10. The cache key consists of the uniqueID of the filter, the
clip bounds, the CTM and the genID of the input bitmap.

Since this does not yet handle the case where the input primitives
(and part of the resulting filter tree) are unchanged, we have
to keep around the external cache for that painting case.
When the work to cache unchanging input primitives is done, the
old cache can be removed, and the new UniqueIDCache will be renamed
to Cache.

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

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/414483003
2014-07-30 11:26:46 -07:00
krajcevski
78697816b0 Add query for whether or not we have compressedTexSubImage
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/430773004
2014-07-30 11:25:44 -07:00
bungeman
07cfb20a0b Correct Android FontMgr use of ttc index and remove unused code.
R=djsollen@chromium.org, tomhudson@google.com, djsollen@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/433503003
2014-07-30 11:05:22 -07:00
joshualitt
0e67808da7 Enabling texture_domain_effect
BUG=skia:
REVIEW=tbr
R=rmistry@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/425253003
2014-07-30 10:31:10 -07:00
george
8124bf072c Explicitly typedef GetUserDefaultLocaleName as WINVER may not be high enough when compiling to allow visibility of the function prototype in windows.h
R=bungeman@google.com, bungeman1

Author: george@mozilla.com

Review URL: https://codereview.chromium.org/422823008
2014-07-30 09:58:17 -07:00
mtklein
6d88e6ce51 Fix way-over-allocation in pipe.
https://codereview.chromium.org/283093002 fixed some bugs in pipe memory
allocation, but also introduced one of its own: nearly every block requested
from needOpBytes() got its own 16K allocation.

The correct logic is to take the requested size, add four more bytes for a
DrawOp, make sure that's 4-byte aligned, then check to see if there's enough
space for that in the current block.  If there's not, allocate at least
MIN_BLOCK_SIZE bytes to fit the request.

The bug is that I moved that round-up-to-MIN_BLOCK_SIZE step before checking
for space in the current block.  This means most (all?) blocks will be 16K but
never seem to have room to fit another allocation.  You need 8 bytes?  You get
16K.  You need 8 more bytes?  Nope, can't fit that.  Here's a new 16K...

This reverts the change to the test I made then, which really should have
tipped me off.  It was testing exactly this bug.

BUG=372671
R=tomhudson@chromium.org, tomhudson@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/433463003
2014-07-30 09:17:54 -07:00
jvanverth
1723bfc982 Add vertex bounds check for distance field rendering.
R=bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/432443002
2014-07-30 09:16:34 -07:00
bsalomon
3342ed55e1 Add rotated rects benchmarks
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/425263003
2014-07-30 08:58:20 -07:00
krajcevski
b5294e8d45 Bring LATC in line with other formats (i.e. write a blitter and
an "optimized" compression routine).

R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/429683003
2014-07-30 08:34:51 -07:00
robertphillips
ed6f03e5ed Fix ref counting of cached layer's texture
R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/431603002
2014-07-30 07:31:35 -07:00
rmistry
ff65bb9863 Whitespace change to test the CQ.
(SkipBuildbotRuns)

BUG=skia:
R=bensong@google.com

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/428183007
2014-07-30 07:24:17 -07:00
Brian Salomon
00683c7b9a Mark bleed GM images on GPU configs as baselined but associated with bug 2762
BUG=skia:2762

Review URL: https://codereview.chromium.org/431453006
2014-07-30 10:08:09 -04:00
Brian Salomon
5520e3be26 Rebaseline some images from ignored-tests.txt
BUG=skia:

Review URL: https://codereview.chromium.org/431583004
2014-07-30 09:40:56 -04:00
Brian Salomon
b174f2b3cc Rebaseline currently failing images. All look better or insignificantly different
Review URL: https://codereview.chromium.org/423283005
2014-07-30 09:27:19 -04:00
jvanverth
78f0718f4d Add effect caching to distance field text.
This also is a step towards unifying GrDistanceFieldTextureEffect and GrDistanceFieldLCDTextureEffect.

Committed: https://skia.googlesource.com/skia/+/137bac067306c5446bc4f9797bedc3bbaf302822

R=robertphillips@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/424103002
2014-07-30 06:17:59 -07:00
kkinnunen
7510b224e5 Rename GrGLUniformManager to GrGLProgramDataManager
Rename GrGLUniformManager to GrGLProgramDataManager in anticipation that the
class would be used to manage shader resources that are not uniforms.

This is needed in order to implement NVPR on GLES.

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/365853002
2014-07-30 00:04:16 -07:00
borenet
a97e2702f4 Update SKP version to 63
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/426183002
2014-07-29 22:57:43 -07:00
cdalton
c8f5204667 Incorporate glStencilThenCover* nvpr methods
Adds the glStencilThenCover* nvpr methods to GrGLInterface and starts
using them. When drawing multible paths, this will make it so we only
have to send the index/transform data once. It will also allow the
driver to save time internally.

The glStencilThenCover* methods are a newer addition, so they aren't
available on every driver. In the event that they are not present, we
emulate them using the existing glStencil*/glCover* methods.

BUG=skia:
R=markkilgard@gmail.com, bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/423173004
2014-07-29 15:25:51 -07:00
krajcevski
a14da251c2 fRight -> fBottom
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/428963005
2014-07-29 13:19:05 -07:00
egdaniel
b414f25cf9 Remove support in the gpu to use hardware AA lines. Current code paths could not reach this code and thus was never used.
The blend opt flag kDisableBlend should now be able to be removed, however it is left in this CL and will removed in its own.

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/427823002
2014-07-29 13:15:47 -07:00
joshualitt
5ae5fc59b2 Adding repeat mode to texture domain
BUG=skia:
R=bsalomon@chromium.org, senorblanco@chromium.org, bsalomon@google.com, junov@chromium.org

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/422123003
2014-07-29 12:59:27 -07:00
djsollen
937fca8106 Add ability to generate/use FDO profiles for Android
R=scroggo@google.com, bungeman@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/420803003
2014-07-29 12:38:25 -07:00
caryclark
fa6d65619d add cubic red option to pathops tool
R=reed@google.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/428963004
2014-07-29 12:13:28 -07:00
krajcevski
25a67bcb7a Add query for block dimensions of a given format
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/422023006
2014-07-29 11:44:26 -07:00
robertphillips
a8f8da0500 Optimize correct picture in bench_pictures when using --bbh
Almost all PictureRenderer::init implementations have the power to overwrite the picture. Retrieve the correct SkPicture from the renderer for optimization.

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/428883008
2014-07-29 10:37:03 -07:00
bensong
fdd09c2002 Revert of Add effect caching to distance field text. (https://codereview.chromium.org/424103002/)
Reason for revert:
breaking Chrome canary.

Original issue's description:
> Add effect caching to distance field text.
>
> This also is a step towards unifying GrDistanceFieldTextureEffect and GrDistanceFieldLCDTextureEffect.
>
> Committed: https://skia.googlesource.com/skia/+/137bac067306c5446bc4f9797bedc3bbaf302822

R=robertphillips@google.com, jvanverth@google.com
TBR=jvanverth@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: bensong@google.com

Review URL: https://codereview.chromium.org/424173002
2014-07-29 10:35:46 -07:00
egdaniel
b09bdd6bac Revert of Remove gpu support for willUseHWAALines. (https://codereview.chromium.org/423943003/)
Reason for revert:
Breaking windows 7 compare gm's

Original issue's description:
> Remove gpu support for willUseHWAALines.
>
> By removing willUseHWAALines, we also no long reference the blend opt flag kDisableBlend so it has been removed
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e6dfba868c19b00562f8c733b9bf37dd4ec9e68c

R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/430493003
2014-07-29 08:52:23 -07:00
jvanverth
137bac0673 Add effect caching to distance field text.
This also is a step towards unifying GrDistanceFieldTextureEffect and GrDistanceFieldLCDTextureEffect.

R=robertphillips@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/424103002
2014-07-29 08:29:50 -07:00
epoger
651678d91e enable SKP rendering on 2 platforms, 2 configs each
The presence of the expectations file (even if empty) causes the bots to render the SKPs and record results.

2 platforms, 2 configs each should be good for exercising rebaselining tools.

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

Author: epoger@google.com

Review URL: https://codereview.chromium.org/426023002
2014-07-29 08:27:11 -07:00
bsalomon
944bcf0acb Some fixes around GrContext::abandonContext:
Fix debug crash when GrResourceCache is destroyed after GrContext is abandoned while GrTextures are in the exlusive list.

Notify debug GL context that GL resources are expected to remain undeleted when context is destroyed after being abandoned.

Stop leaking program cache entries when context is abandoned.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/422323002
2014-07-29 08:01:52 -07:00
egdaniel
e6dfba868c Remove gpu support for willUseHWAALines.
By removing willUseHWAALines, we also no long reference the blend opt flag kDisableBlend so it has been removed

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/423943003
2014-07-29 07:51:03 -07:00
krajcevski
10a350c328 Add function for creating ASTC blitter
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/427693002
2014-07-29 07:24:58 -07:00
krajcevski
fdd7d2b3dc Pass clip blitter rows preserved request
R=robertphillips@google.com, reed@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/413403005
2014-07-29 07:21:41 -07:00
robertphillips
09dde64628 Now always use Atlas for layer cache
This is setup for running cluster telemetry tests

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/429593002
2014-07-29 07:14:49 -07:00
tomhudson
3a9142437e Fix debug output compile error and minor style nits
R=djsollen@google.com, tomhudson@google.com

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/420333002
2014-07-29 06:52:38 -07:00
robertphillips
8ab8cc07cf Finish removing GrTHashTable
This class is no longer used in Ganesh (in favor of SkTDynamicHash)

R=jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/421253003
2014-07-29 06:17:49 -07:00
kkinnunen
4509517e03 Use if instead of ifdef SK_SUPPORT_GPU
The SK_SUPPORT_GPU is always defined.

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

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/331353003
2014-07-29 06:12:49 -07:00
robertphillips
320c92380f Add plot-based purging to GrLayerCache
This CL allows a GrPlot full of atlased layer to be purged from the atlas to make room for new layers.

R=jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/411703003
2014-07-29 06:07:19 -07:00
borenet
e7416bfc98 Update SKP version to 62
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/428733004
2014-07-29 00:56:39 -07:00
tfarina
a8e2e1504b Cleanup: Rename SkOSPath functions.
Mostly for brevity and matches better with Python:

Python           | Old C++                 | New C++
os.path.join     | SkOSPath::SkPathJoin    | SkOSPath::Join
os.path.basename | SkOSPath::SkBasename    | SkOSPath::Basename

BUG=None
TEST=make all
R=mtklein@google.com, bsalomon@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/428443002
2014-07-28 19:26:58 -07:00
yunchao.he
2bff230d83 round and bevel hairline rects show the same as miter hairline rects
So round and bevel hairline rects can generate the vertices and indices the same as miter rects do. The original code behaves the same as bevel rects for round and bevel hairline rects.

This small CL can save (vertices and indices) buffer memory as well as improve performance (draw less triangles).

gm cases show no difference after this CL is applied.

BUG=skia:
R=robertphillips@google.com

Author: yunchao.he@intel.com

Review URL: https://codereview.chromium.org/417113002
2014-07-28 19:18:49 -07:00
cdalton
15ab26d942 Rebaseline needed nvpr gms after text change
Updates a few nvpr expectations for slight pixel diffs after a change
in the math that positions glyphs.

BUG=skia:
R=jvanverth@google.com, bungeman@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/421423002
2014-07-28 15:39:06 -07:00
krajcevski
d5e46c7893 Generalize compressed blitter into its own templated class
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/421593004
2014-07-28 14:14:16 -07:00
bsalomon
2354f8432a Test abandoning GL context in dm/nanobench.
Rename GrContext::contextDestroyed to GrContext::abandonContext.

Remove GrContext::resetContext.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/422903002
2014-07-28 13:48:36 -07:00
bsalomon
4beef91ec0 Revert of Remove relative path to GrColor.h in SkShader.h (https://codereview.chromium.org/422023005/)
Reason for revert:
As Ben suspected, this breaks the chrome build.

Original issue's description:
> Remove relative path to GrColor.h in SkShader.h
>
> Committed: https://skia.googlesource.com/skia/+/939f430f660d26e46116a38d2a8436afbd55dfb9

R=bungeman@google.com, george@mozilla.com
TBR=bungeman@google.com, george@mozilla.com
NOTREECHECKS=true
NOTRY=true

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/423943005
2014-07-28 13:43:04 -07:00