Commit Graph

18404 Commits

Author SHA1 Message Date
bsalomon
16ed6adb65 Fix silly mistake in allocating geoms in TextBatch
TBR=joshualitt@google.com

Review URL: https://codereview.chromium.org/1259103004
2015-07-29 06:54:33 -07:00
mtklein
e0effd6080 Allow Srcs to veto Sinks based on their broad type.
This breaks Sinks down into three auto-detected types:
  - GPU:    anything that requests to be run in the GPU enclave
  - Vector: anything that writes to the stream instead of the bitmap
  - Raster: everything else

Some examples: gpu -> GPU, msaa16 -> GPU, 8888 -> raster, pdf -> vector,
               svg -> vector, pipe-8888 -> raster, tiles_rt-gpu -> GPU

This lets image decoding sinks veto non-raster backends explicitly,
and can let particular GMs veto GPU or non-GPU sinks as they like.

BUG=skia:

Review URL: https://codereview.chromium.org/1239953004
2015-07-29 06:37:28 -07:00
bsalomon
636e8024f8 Skip temp texture when config conversion test has already failed.
Review URL: https://codereview.chromium.org/1261033005
2015-07-29 06:08:46 -07:00
caryclark
125960152d make tests portable by using 565 compatible colors
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1262703002
2015-07-29 05:27:47 -07:00
bsalomon
a52b7a03c6 Don't read from unref'ed RT in GrContext::readSurfacePixels
BUG=chromium:514716

TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/1258673009
2015-07-28 15:39:45 -07:00
bsalomon
f0674516cb Move draw on upload decision in GrGpu
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/0341b4427e5f037e3b501ed6e57dfdb7b40f150e

Review URL: https://codereview.chromium.org/1257073003
2015-07-28 13:26:16 -07:00
Mike Klein
3a4b134988 Revert "Move the rest of src headers used by include to include/private."
This reverts commit d12e6ffa5c.

Our Chrome roll canaries are failing with the dreaded
Ninja-says-there's-more-work-to-do message.  I will break this up
smaller (if possible) and try again tomorrow.

BUG=skia:4126

Review URL: https://codereview.chromium.org/1258293004 .
2015-07-28 16:01:24 -04:00
bsalomon
c3fb74693e Revert of Move draw on upload decision in GrGpu (patchset #4 id:50001 of https://codereview.chromium.org/1257073003/)
Reason for revert:
breaking write pixels test on bots

Original issue's description:
> Move draw on upload decision in GrGpu
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/0341b4427e5f037e3b501ed6e57dfdb7b40f150e

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

Review URL: https://codereview.chromium.org/1260293004
2015-07-28 12:23:26 -07:00
caryclark
efa1ece07e gm missed portable text in textblobshader
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1263593004
2015-07-28 11:55:50 -07:00
mtklein
d12e6ffa5c Move the rest of src headers used by include to include/private.
$ git grep "../../src/" | grep include

now returns nothing.

BUG=skia:4126

No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1261013003
2015-07-28 11:51:50 -07:00
wangyix
570e7a34da Removed GrFragmentProcessor::fWillUseInputColor
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1259303003
2015-07-28 11:47:44 -07:00
caryclark
66fb63ffec gm fix missed portable gm text in samplerstress
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1261093002
2015-07-28 11:22:48 -07:00
caryclark
f597c42c50 make pixelsnap textblob* etc gm portable
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1263553002
2015-07-28 10:37:53 -07:00
joshualitt
7a0d697ed6 Change GrDefaultGeoProcFactory to a namespace
BUG=skia:

Review URL: https://codereview.chromium.org/1257333002
2015-07-28 10:20:08 -07:00
joshualitt
0d986d877e Cleanup GrDefaultGeoProcFactory localCoords
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1257193002
2015-07-28 10:01:18 -07:00
joshualitt
b542bae1f5 Rename GrInOrderDrawBuffer to GrBufferedDrawTarget
BUG=skia:

Review URL: https://codereview.chromium.org/1261033002
2015-07-28 09:58:39 -07:00
mtklein
fd8ed69447 Move SkTHash.h to include/private.
include/views/SkOSWindow_Win.h includes it.

To move SkTHash.h to include/private, SkChecksum.h needs to go there too.  To move SkChecksum.h to include/private, SkTLogic needs to go there too.

This adds a bunch of -Iinclude/private to tools.gyp I missed in the last CL.

No public API changes.
TBR=reed@google.com

BUG=skia:4126

Review URL: https://codereview.chromium.org/1260613006
2015-07-28 09:54:52 -07:00
mtklein
3073b5fabe Fix a stray -Winconsistent-missing-override warning.
TBR=

BUG=skia:

Review URL: https://codereview.chromium.org/1261043002
2015-07-28 09:35:19 -07:00
bsalomon
0341b4427e Move draw on upload decision in GrGpu
BUG=skia:

Review URL: https://codereview.chromium.org/1257073003
2015-07-28 09:13:47 -07:00
mtklein
cd1f2daf44 add -Iinclude/private anywhere we have -Isrc/core
I'll be moving headers from src/core to include/private, so this guarantees
that anyone who was finding them via -Isrc/core can now find them via
-Iinclude/private.

This is purely mechanical, mostly to preserve my sanity, so it's likely
(harmless) overkill.

Chromium's GYP and GN builds already set -Iinclude/private for Skia builds.

BUG=skia:4126

Review URL: https://codereview.chromium.org/1265443002
2015-07-28 08:55:14 -07:00
mtklein
bda1267770 update presubmit to know about include/private
BUG=skia:4126

Review URL: https://codereview.chromium.org/1259953004
2015-07-28 08:54:12 -07:00
reed
562fe4767c remove all guards for changes to drawBitmapRect / drawImageRect
BUG=skia:

Review URL: https://codereview.chromium.org/1239193002
2015-07-28 07:35:14 -07:00
reed
91f283bb4e change getBounds to return 0000 iff there are zero points
This is a contract change for SkPath::getBounds(), which formally was defined to return 0,0,0,0 for a 1-point path, regardless of the coordinates of that point. This seems wacky/inconsistent, and was causing other bugs (incorrect bounds) when this was unioned with other rects.

Does anyone remember why we defined it this way?

BUG=513799

Review URL: https://codereview.chromium.org/1261773002
2015-07-28 06:00:50 -07:00
borenet
b2c07364a3 Fix android_launch_app after Gradle change
NOTRY=true
TBR=djsollen
BUG=skia:

Review URL: https://codereview.chromium.org/1258253002
2015-07-28 06:00:36 -07:00
borenet
5f4dc38325 android_install_app: Use lower-cased app name
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1261873002
2015-07-28 05:13:41 -07:00
caryclark
bb13433364 compute split conic endpoints exactly
The divide by w can generate slightly erroneous results even
for t == 0 or t == 1. The error in turn defeats detecting
a point in common for a pair of curves that travel in
opposite directions.

Instead, special case endpoints when the t is 0 or 1.

TBR=reed@google.com
BUG=514118

Review URL: https://codereview.chromium.org/1259513004
2015-07-28 05:12:19 -07:00
msarett
614aa072cb Pass the destination pointer to next() in SkSwizzler
Per our discussion, we can make the swizzler simpler and more usable
for SkCodec and SkScanlineDecoder by only having a single version of
next() which takes a pointer to the srcRow and a pointer to the
dstRow.

BUG=skia:

Review URL: https://codereview.chromium.org/1256373002
2015-07-27 15:13:17 -07:00
halcanary
a3a9ebcfb0 documentation: more API details and examples.
NOTRY=true
DOCS_PREVIEW= https://skia.org/user/api/skpaint?cl=1240893003

Review URL: https://codereview.chromium.org/1240893003
2015-07-27 13:13:03 -07:00
junov
6e9aed9dfe Fixing src rect constraint support for drawImage with SkPicture
Follow-up to https://codereview.chromium.org/1228083004

BUG=skia:

Review URL: https://codereview.chromium.org/1256853004
2015-07-27 13:11:55 -07:00
reed
bca140010f remove pixel assert from ctable validator
BUG=514143

Review URL: https://codereview.chromium.org/1252973003
2015-07-27 12:19:16 -07:00
joshualitt
e9d6095674 Cleanup Default Geo Proc API
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1253393002
2015-07-27 12:13:14 -07:00
mtklein
2c323427cb No one calls SkXfermode::GetProc16
BUG=skia:

Review URL: https://codereview.chromium.org/1253493002
2015-07-27 12:07:29 -07:00
mtklein
56b78a7a2a Revert of Lay groundwork for SkOpts. (patchset #3 id:40001 of https://codereview.chromium.org/1255193002/)
Reason for revert:
Chromium doesn't call SkGraphics::Init().  This setup won't work.

Original issue's description:
> Lay groundwork for SkOpts.
>
> This doesn't really do anything yet.  It's just the CPU detection code, skeleton new .cpp files, and a few little .gyp tweaks.
>
> BUG=skia:4117
>
> Committed: https://skia.googlesource.com/skia/+/ce2c5055cee5d5d3c9fc84c1b3eeed4b4d84a827

TBR=djsollen@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4117

Review URL: https://codereview.chromium.org/1261743002
2015-07-27 12:03:23 -07:00
joshualitt
513f265877 fix up GrImmediateDrawTarget.cpp
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1260023003
2015-07-27 11:41:15 -07:00
mtklein
58fd2c8af4 Remove sk_memcpy32
It's only implemented on x86, where the exisiting benchmark says memcpy() is
faster for all cases:

Timer overhead: 24ns
curr/maxrss    loops    min    median    mean    max    stddev    samples       config    bench
  10/10  MB    1    35.9µs    36.2µs    36.2µs    36.6µs    1%    ▁▂▄▅▅▃█▄▄▅    nonrendering    sk_memcpy32_100000
  10/10  MB    13    2.27µs    2.28µs    2.28µs    2.29µs    0%    █▄▃▅▃▁▃▅▁▄    nonrendering    sk_memcpy32_10000
  11/11  MB    677    91.6ns    95.9ns    94.5ns    99.4ns    3%    ▅▅▅▅▅█▁▁▁▁    nonrendering    sk_memcpy32_1000
  11/11  MB    1171    20ns    20.9ns    21.3ns    23.4ns    6%    ▁▁▇▃▃▃█▇▃▃    nonrendering    sk_memcpy32_100
  11/11  MB    1952    14ns    14ns    14.3ns    15.2ns    3%    ▁▁██▁▁▁▁▁▁    nonrendering    sk_memcpy32_10
  11/11  MB    5    33.6µs    33.7µs    34.1µs    35.2µs    2%    ▆▇█▁▁▁▁▁▁▁    nonrendering    memcpy32_memcpy_100000
  11/11  MB    18    2.12µs    2.22µs    2.24µs    2.39µs    5%    ▂█▄▇█▄▇▁▁▁    nonrendering    memcpy32_memcpy_10000
  11/11  MB    1112    87.3ns    87.3ns    89.1ns    93.7ns    3%    ▄██▄▁▁▁▁▁▁    nonrendering    memcpy32_memcpy_1000
  11/11  MB    2124    12.8ns    13.3ns    13.5ns    14.8ns    6%    ▁▁▁█▃▃█▇▃▃    nonrendering    memcpy32_memcpy_100
  11/11  MB    3077    9ns    9.41ns    9.52ns    10.2ns    4%    ▃█▁█▃▃▃▃▃▃    nonrendering    memcpy32_memcpy_10

(Why?  One fewer thing to port to SkOpts.)

BUG=skia:4117

Review URL: https://codereview.chromium.org/1256763003
2015-07-27 11:08:28 -07:00
mtklein
ce2c5055ce Lay groundwork for SkOpts.
This doesn't really do anything yet.  It's just the CPU detection code, skeleton new .cpp files, and a few little .gyp tweaks.

BUG=skia:4117

Review URL: https://codereview.chromium.org/1255193002
2015-07-27 10:52:33 -07:00
fmalita
9a5d1ab54d Make peekPixels() usable with raster surface snapshots
SkSurface_Raster snapshots do not lock their backing bitmaps when the
pixel ref is shared - they only lock on deep-copy.

But since for raster surfaces the pixels are always in memory, I think
it would be OK to also lock in the former case.

This allows for optimized (zero-copy) reads of raster surface snapshot
data.

R=reed@google.com

Review URL: https://codereview.chromium.org/1256993002
2015-07-27 10:27:29 -07:00
bsalomon
1c63436f39 Steal refs from other TextBatch in onCombineIfPossible
Review URL: https://codereview.chromium.org/1257683004
2015-07-27 07:00:00 -07:00
mtklein
cf4e567612 NEON has a ternary instruction.
Nothing seems to run any faster or slower, but it is terser.

BUG=skia:

Review URL: https://codereview.chromium.org/1255913004
2015-07-27 06:12:05 -07:00
bsalomon
d602f4d1f7 Make allocation count in TextBatch implicit
Review URL: https://codereview.chromium.org/1254903002
2015-07-27 06:12:01 -07:00
Brian Salomon
4239fc2f69 Remove skia_arch_width, fold into skia_arch_type.
DOCS_PREVIEW= https://skia.org/?cl=1228553010

BUG=skia:4042
R=borenet@google.com, mtklein@google.com

Review URL: https://codereview.chromium.org/1228553010
2015-07-27 09:10:36 -04:00
wangyix
cef14bf9ce Added GrGLBlend.h|cpp with helper function AppendPorterDuffBlend() in preparation for SkComposeShader gpu backend
BUG=skia:

Review URL: https://codereview.chromium.org/1254833003
2015-07-24 13:48:26 -07:00
joshualitt
20dac88565 mixed text blobs really draws LCD
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1261483002
2015-07-24 13:16:24 -07:00
djsollen
d18b861061 Update Android Apps to use gradle
This CL replaces ant with gradle for the task of building APKs.
The primary driver of this change is that it now allow us to
develop and test our apps using Android Studio.
DOCS_PREVIEW= https://skia.org/?cl=1215023017

Committed: https://skia.googlesource.com/skia/+/425535f1626932e4e22f61a2571f9c3c2b1c5977

Review URL: https://codereview.chromium.org/1215023017
2015-07-24 13:15:59 -07:00
caryclark
1818acb6a4 rename portable_typeface_always to portable_typeface
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1257773002
2015-07-24 12:09:25 -07:00
joshualitt
d9f13aef8d fix for GrAtlasTextContext occasionally crashes on mixed runs
TBR=bsalomon@google.com
BUG=510931

Review URL: https://codereview.chromium.org/1252423002
2015-07-24 11:24:31 -07:00
caryclark
37213558e6 make fontscalar gammatext lcdtext typeface verttext2 gm portable
Pass generic font names to tool util function to generate
platform specific fonts and gm test output by unique name.

R=bungeman@google.com

Review URL: https://codereview.chromium.org/1256903002
2015-07-24 11:08:01 -07:00
joshualitt
6c2c2b07ed Minimize retrieving SkGlyph in GrTextContext
BUG=skia:

Review URL: https://codereview.chromium.org/1257603005
2015-07-24 10:37:00 -07:00
robertphillips
29ccdf86ab Fix Ganesh drawAtlas bug with quad colors
Ganesh was not expanding the quad colors to vertex colors before calling drawVertices.

The new GM would've caught this bug and reveals Ganesh's limitations re the various xfer modes used with drawAtlas (i.e., w/o AA Ganesh only supports kModulate, w/ AA Ganesh only supports the coefficient-based xfer modes).

Review URL: https://codereview.chromium.org/1254943002
2015-07-24 10:20:45 -07:00
bsalomon
965b36cb16 Set preallocated TextBatch geometries to 4 rather than 32
Review URL: https://codereview.chromium.org/1256843003
2015-07-24 08:10:43 -07:00