Commit Graph

13865 Commits

Author SHA1 Message Date
egdaniel
85f94844fc Possible fix to Restore text vertex buffer alloc and other optimizations.
NOTRY=True
NOTREECHECKS=True
R=jvanverth@google.com
TBR=jvanverth@google.com

BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/513863004
2014-08-27 12:23:23 -07:00
egdaniel
af013bf8af Make setVertexAttribs in GrDrawState take a stride parameter.
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/511593004
2014-08-27 12:17:24 -07:00
mtklein
d72094d1c1 Add test that confirms Pictures don't leak pixel refs.
Have been investigating memory leak failures that show SkRecords'
ImmutableBitmap copy leaking.  I think this test proves its not
an obvious problem with ImmutableBitmap or SkRecord.

http://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%282%29/builds/2509/steps/interactive_ui_tests/logs/stdio

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/516593002
2014-08-27 12:12:23 -07:00
robertphillips
d62833079f Switch GPU Optimization code to SkRecord
R=mtklein@google.com, bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/504393002
2014-08-27 11:53:28 -07:00
jvanverth
9c3d24b9d1 Restore text vertex buffer alloc and other optimizations.
Modifies the fontcache GM to ensure that the font cache is forced to flush.

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

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/466363009
2014-08-27 11:53:17 -07:00
Derek Sollenberger
31067ddfdd Update GPU baselines for the fontMgr GMs.
BUG=skia:2829

Review URL: https://codereview.chromium.org/511973002
2014-08-27 14:48:09 -04:00
Derek Sollenberger
f0393f035b Update non-GPU baselines for the fontMgr GMs.
BUG=skia:2829

Review URL: https://codereview.chromium.org/515473003
2014-08-27 14:38:45 -04:00
Hal Canary
aca14f41c8 Add resources/mandrill_512_q075.jpg
convert resources/mandrill_512.png ppm:- | cjpeg -quality 75 > resources/mandrill_512_q075.jpg

Motivation:  We need JPEG images for testing PDF.  (e.g. http://crrev.com/515493003 )

R=djsollen@google.com

Review URL: https://codereview.chromium.org/508173002
2014-08-27 13:44:34 -04: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
fmalita
3031350e05 Add missing text blob SkDrawCommand string.
R=robertphillips@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/510853002
2014-08-27 08:41:25 -07:00
mtklein
7deeaf9521 add n5
NOTRY=true

BUG=skia:
R=djsollen@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/506403004
2014-08-27 08:38:12 -07:00
djsollen
6b0d6b43cf Fail gracefully for KTX files with width or height of zero.
R=robertphillips@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/514603003
2014-08-27 08:00:09 -07:00
humper
ce7b1d5fad always scale to an integer; compensate for fractional image sizes by leaving the fractional scale in the matrix
BUG=skia:
R=reed@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/470233002
2014-08-27 07:56:49 -07:00
Derek Sollenberger
390f62479a Ignore font_mgr gms until we can rebase them
BUG=skia:2829
R=mtklein@google.com

Review URL: https://codereview.chromium.org/513813002
2014-08-27 10:45:37 -04:00
djsollen
0d393a92ca Lookup glyphs based on character code and language tag.
This is particularly important on Android where we expect the
FontManager to return different glyphs for the same character code
depending on language.

BUG=skia:2829
R=bungeman@google.com, tomhudson@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/492763003
2014-08-27 07:03:13 -07:00
egdaniel
5219e57a02 Remove skip draw check in GrContext
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/488563003
2014-08-27 06:58:54 -07:00
mtklein
4473be874f Clean up some benches that answer questions we're no longer asking.
NOTREECHECKS=true

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/512503002
2014-08-27 06:34:16 -07:00
borenet
5e8dbd31de Update SKP version to 85
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/513563003
2014-08-26 21:18:32 -07:00
qiankun.miao
d3f6e893df Improve performance of highQualityFilter
Move loop invariant caculation out of loop. This gives about 15% speedup
for bitmap_BGRA_8888_A_scale_rotate_bicubic on my desktop i7-3770.

BUG=skia:
R=humper@google.com, mtklein@google.com, reed@google.com

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/502953004
2014-08-26 19:06:42 -07:00
mtklein
2a65a238b0 Remove SkQuadTree.
We're not testing it to the same degree we do RTree and TileGrid.  Any changes
we'll make to BBH APIs become 33% easier without it.  If find we want it again,
we can always resurrect it.

BUG=skia:1021,skia:2834
R=robertphillips@google.com, mtklein@google.com
TBR=reed

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/500373005
2014-08-26 14:07:04 -07:00
senorblanco
8a914a7650 Remove SkImageFilter::Set/GetExternalCache.
These were removed from the .cpp in
be129b26f1, but I forgot to remove them
from the header.

R=bsalomon@google.com, reed@google.com
BUG=skia:

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/492693003
2014-08-26 14:06:01 -07:00
bsalomon
169612621f Make GrGpuResources register with GrResourceCache2 after fully constructed.
Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/504313002
2014-08-26 14:01:07 -07:00
rmistry
9407eceb27 PRESUBMIT should only check owners for the top level include directory
BUG=skia:1846
R=borenet@google.com

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/511503002
2014-08-26 14:00:55 -07:00
bungeman
50119fa861 Update valgrind suppression file for new FontConfig code.
BUG=skia:2879
R=djsollen@google.com, mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/488343003
2014-08-26 13:48:00 -07:00
bungeman
f87650c39c Ensure SkFontMgr_fontconfig debug thread locking is initialized.
R=mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/512433002
2014-08-26 13:47:20 -07:00
bsalomon
a2b0af82f0 Revert of Make GrGpuResources register with GrResourceCache2 after fully constructed. (patchset #3 of https://codereview.chromium.org/504313002/)
Reason for revert:
Breaking the bots

Original issue's description:
> Make GrGpuResources register with GrResourceCache2 after fully constructed.
>
> Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b

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

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/488463004
2014-08-26 13:11:11 -07:00
bsalomon
d68b3e491b Make GrGpuResources register with GrResourceCache2 after fully constructed.
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/504313002
2014-08-26 12:51:20 -07:00
senorblanco
5e5f948b6b Reimplement deserialization of SkImageFilter's uniqueID.
9fa60d ("Simplify flattening to just write enough ... ") simplified just
a tad too much. In particular, it disabled deserialization of
SkImageFilter's uniqueID, which in turn caused the failure of
SkImageFilter's cache, which caused a large regression in Chrome's SVG
filter performance.

The medium-term fix is to switch to the new SkRecordDraw SkPicture
backend, which will make the unique IDs unnecessary.

This change is an "in case of emergecy" CL, in the event that there are
problems switching on the new backend in Chrome. For that reason, it's
minimalist: only the filters used by Chrome are modified, and whitespace
changes are kept to a minimum. In this way, it should be easy to revert
once the new backend goes in.

R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/503833002
2014-08-26 12:27:12 -07:00
egdaniel
21aed57023 Create Read-only Base class for GrDrawState that holds data members and getters
Base class will but used also in follow up cl that will create an OptDrawState class which will
share much of the same data/functions as DrawState. Thus the base class
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/506803003
2014-08-26 12:24:06 -07:00
borenet
6aa164a11c Copy SkImage expectations for ChromeOS recipes bot
BUG=skia:761
R=rmistry@google.com
TBR=rmistry
NOTRY=true

Author: borenet@google.com

Review URL: https://codereview.chromium.org/485563005
2014-08-26 12:20:53 -07:00
halcanary
c6c0624cb6 git-sync-deps: handle recursion and deps_os at the same time
NOTRY=true
R=mtklein@google.com, borenet@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/494713005
2014-08-26 12:06:47 -07:00
piotaixr
fac4e0e836 Fallback to moveTo when unable to find the first tangent in cubicTo
When calling cubicTo(a, b, c) and if the distance between fPrevPt and a
is too small, b is used instead of a to calculate the first tangent,
even if the distance between fPrevPt and b is too small.

In debug mode, this is causing an assertion to fail in
SkPathStroker::preJoinTo() and, in Release, the use of an
unitialized value.

The first patch set is adding a failing test.
The second one add the fix to SkPathStroker::cubicTo()

BUG=skia:2820
R=bsalomon@chromium.org, junov@chromium.org, reed@google.com, caryclark@google.com, bsalomon@google.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/460813002
2014-08-26 11:59:04 -07:00
bsalomon
a721c81672 Remove reliance on linked in GL functions for assembling GLES interfaces.
Make Android pull in gl2.h directly to workaround broken eglGetProcAddress for unextended GLES2 functions.

Use interface assembler for angle and iOS.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/500153002
2014-08-26 11:35:23 -07:00
djsollen
6a9c7b1dbd Prevent malformed ICO files from recursively decoding
R=reed@google.com, scroggo@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/511453002
2014-08-26 11:35:14 -07:00
djsollen
ad726a3196 Always use cpu-features library on android.
This CL also removes the debug capability of runtime switching
in/out of NEON mode as it uses deprecated APIs.

BUG=skia:1061
R=tomhudson@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/506033003
2014-08-26 11:30:15 -07:00
reed
99ae881a7f remove (unused) scale parameter from measureText
BUG=skia:
R=bungeman@google.com, djsollen@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/510433002
2014-08-26 11:30:01 -07:00
halcanary
1790e25e18 SkAutoTDelete::operator T*()
R=reed@google.com, bungeman@google.com, mtklein@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/506963002
2014-08-26 11:06:25 -07:00
reed
32eb063800 remove commented-out code
TBR=senorblanco@google.com
NOTRY=True

Author: reed@google.com

Review URL: https://codereview.chromium.org/505253002
2014-08-26 11:04:16 -07:00
rmistry
c3cf5a515d Revert of Testing TBR'ing public API owners (patchset #1 of https://codereview.chromium.org/486203009/)
Reason for revert:
Reverting whitespace change

Original issue's description:
> Testing TBR'ing public API owners
>
> BUG=skia:2870
> TBR=xyz,reed
> NOTRY=true
>
> (SkipBuildbotRuns)
>
> Committed: https://skia.googlesource.com/skia/+/96b77dee4e985513abd4042db088bd286fd84383

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

(SkipBuildbotRuns)

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/504193003
2014-08-26 10:43:14 -07:00
rmistry
96b77dee4e Testing TBR'ing public API owners
BUG=skia:2870
TBR=xyz,reed
NOTRY=true

(SkipBuildbotRuns)

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/486203009
2014-08-26 10:41:21 -07:00
halcanary
a4c6094177 SkData to SkStreamAsset to avoid unneeded copying
R=mtklein@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/502193002
2014-08-26 10:38:07 -07:00
rmistry
f2d83caf13 Public API changes are allowed if an owner is TBR'ed.
The following TBR formats are supported:
* TBR=reed
* TBR=reed@google.com
* TBR=xyz,reed
* TBR=xyz,reed@google.com

BUG=skia:2870
R=borenet@google.com

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/504843003
2014-08-26 10:30:30 -07:00
reed
680fb9e8f1 retool image cache to be generic cache, allowing the client to subclass "Rec", so they can provide a custom Key and arbitrary Value.
Follow-on CLs

- rename ScaledimageCache to something like GeneralCache
- explore if we can use call-backs or some mechanism to completely hide "lock/unlock", by forcing all clients to support "copying" their value out of the cache as the result of a Find.

R=mtklein@google.com, senorblanco@google.com, bsalomon@google.com, qiankun.miao@intel.com, senorblanco@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/507483002
2014-08-26 09:08:04 -07:00
djsollen
97b49478cf Fix overflow when comparing two ints by promoting the sum to 64-bits.
R=reed@google.com, scroggo@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/505153003
2014-08-26 08:31:24 -07:00
Florin Malita
0b14aa80dd Add text blob gm baselines.
Review URL: https://codereview.chromium.org/504203002
2014-08-26 11:17:02 -04:00
fmalita
b7425173f9 SkTextBlob plumbing
Add SkTextBlob serialization + drawTextBlob() overrides.

R=mtklein@google.com, reed@google.com, robertphillips@google.com
BUG=269080

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/499413002
2014-08-26 07:56:44 -07:00
qiankun.miao
3d2e50d1aa Remove unused header file in SkScaledImageCache.cpp
BUG=skia:
R=reed@google.com

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/506783003
2014-08-26 07:33:07 -07:00
borenet
6451bc0b02 Update SKP version to 84
Automatic commit by the RecreateSKPs bot.

TBR=
BUG=skia:

Author: borenet@google.com

Review URL: https://codereview.chromium.org/506783006
2014-08-26 05:07:35 -07:00
kkinnunen
ec56e45454 Implement NV_path_rendering on OpenGL ES
Implement support for NV_path_rendering on OpenGL ES. Use
glProgramPathFragmentInputGenNV function call instead of glPathTexGenNV to
communicate transforms to fragment shader.

The intention is that the NVPR paths will be drawn with the same shader program
as non-NVPR geometry. For NVPR calls, the GPU will skip the vertex shader and
just run the fragment shader.

After program is linked, query the locations of the fragment shader inputs with
glGetResourceLocation. The location will be used to set the transforms with
glProgramPathFragmentInputGenNV.

The functions and their workings are documented in:

glProgramPathFragmentInputGenNV
https://www.opengl.org/registry/specs/NV/path_rendering.txt
(note: addition as of API version 1.3)

glGetResourceLocation
https://www.opengl.org/registry/specs/ARB/program_interface_query.txt
http://www.opengl.org/registry/doc/glspec44.core.pdf
(function is in core Open GL 4.4)

Note: glProgramPathFragmentInputGenNV could be used also for OpenGL. However,
using seems to trigger a bug in the driver. Disable this feature on OpenGL at
least until the driver is fixed and released. The bug manifests in shadertext
test, where the lower-left text pair is missing. Valgrind catches a bad read
for the test and causes the context to OOM reproducibly.

R=bsalomon@google.com, cdalton@nvidia.com, joshualitt@google.com, joshualitt@chromium.org

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/367643004
2014-08-25 22:21:16 -07:00
bungeman
bc818f513b Rebaselines for a6785ccb54 (Add a working SkFontMgr_fontconfig.) 2014-08-25 17:18:53 -04:00