Commit Graph

18388 Commits

Author SHA1 Message Date
jvanverth
31ff762dc8 First pass at drawAtlas batching.
Moves drawAtlas setup into its own method in GrDrawContext, and adds
DrawAtlasBatch.
Uses pre-built index buffer for quads.

TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1277933003
2015-08-07 10:09:28 -07:00
hcm
767276e4bd Gold Workflows Documentation
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1276663003

Review URL: https://codereview.chromium.org/1276663003
2015-08-07 10:09:03 -07:00
joshualitt
922c8b13c5 Break LCD and Bitmap text dependency on hardcoded atlas values
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/846b022f6b469cfde285372f26e0d5c593d122ac

Review URL: https://codereview.chromium.org/1271873002
2015-08-07 09:55:23 -07:00
mtklein
469a3fe6ed Add approxBytesUsed to hashes.
BUG=skia:

Review URL: https://codereview.chromium.org/1280653003
2015-08-07 09:33:37 -07:00
mtklein
3848427d88 The compiler can generate smulbb perfectly well nowadays.
BUG=skia:4117

Review URL: https://codereview.chromium.org/1273203002
2015-08-07 08:48:12 -07:00
joshualitt
ca1f07eb5f Add Batch logging
BUG=skia:

Review URL: https://codereview.chromium.org/1276913002
2015-08-07 08:11:19 -07:00
mtklein
f1595185e3 This iOS crash makes little sense to me. Add some debugging.
We called new float[...].  The pointer returned should be aligned for float writes.

See https://uberchromegw.corp.google.com/i/client.skia/builders/Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/30e4d75c3aebf49b179c265a91adbb6012970d2b

Review URL: https://codereview.chromium.org/1270403006
2015-08-07 07:22:44 -07:00
mtklein
30e4d75c3a This iOS crash makes little sense to me. Add some debugging.
We called new float[...].  The pointer returned should be aligned for float writes.

See https://uberchromegw.corp.google.com/i/client.skia/builders/Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release

BUG=skia:

Review URL: https://codereview.chromium.org/1270403006
2015-08-07 06:55:31 -07:00
bsalomon
9bca52629c Fix StringTest for VS2015
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1280853002
2015-08-06 17:56:13 -07:00
bsalomon
ebc1c10fe1 Fix warnings on VS2015 x86_64 build
TBR=bungeman@google.com

Review URL: https://codereview.chromium.org/1276133002
2015-08-06 17:33:16 -07:00
msarett
4ab9d5f1bc Split SkBmpCodec into three separate classes
Will regress behavior on gold on test32bfv4.bmp, where we
will no longer fix transparent decodes.

TODO: Start fixing transparent decodes again, or decide
that we don't want to fix them and remove isTransparent
from SkSwizzler.  I think this may become more clear when I
start implementing the scanline decoder.

BUG=skia:

Review URL: https://codereview.chromium.org/1258863008
2015-08-06 15:34:42 -07:00
scroggo
74992b5794 Let SkWebpCodec decode to 565
BUG=skia:3257

Review URL: https://codereview.chromium.org/1277893002
2015-08-06 13:50:15 -07:00
senorblanco
275412cf3e Plug a leak in GrTestUtils.
TBR=mtklein,bsalomon

Review URL: https://codereview.chromium.org/1274963003
2015-08-06 12:29:03 -07:00
scroggo
9ce386a27d Fix color swap for webp 565
When webp decoding to 565, swap the colors so they look right.

BUG=skia:4174

Review URL: https://codereview.chromium.org/1280693003
2015-08-06 11:44:56 -07:00
reed
743087687a remove guard for SrcPtr in drawBitmapRect for android
BUG=skia:
NOTRY=True
TBR=

Review URL: https://codereview.chromium.org/1277963002
2015-08-06 11:25:15 -07:00
mtklein
e683e810a3 Purge non-NEON ARM code.
As I begin to wade in here, it's nice to remove as much code as possible.

BUG=skia:4117

Review URL: https://codereview.chromium.org/1277953002
2015-08-06 11:18:50 -07:00
mtklein
765d6ad975 __ARM_NEON is defined both by ARMv8 and ARMv7 + -mfpu=neon.
Can't hurt to simplify a little.

BUG=skia:4117

Review URL: https://codereview.chromium.org/1274513003
2015-08-06 11:17:06 -07:00
egdaniel
51c8d409ad Move some work from backend onClear to base class clear
BUG=skia:

Review URL: https://codereview.chromium.org/1275543005
2015-08-06 10:54:13 -07:00
senorblanco
b4f9d0ec6c Implement caching of stroked paths in the tessellating path renderer.
This requires adding the stroke info to the cache key, and doing the
stroking and dashing before rendering as triangles.

BUG=skia:3755

Committed: https://skia.googlesource.com/skia/+/29e0d3f267a03546f236023347cdb4595ece2fd1

Review URL: https://codereview.chromium.org/1275553002
2015-08-06 10:28:55 -07:00
reed
e47829b6b1 flag to use const& instead of const* for src-rect
BUG=skia:

Review URL: https://codereview.chromium.org/1272713005
2015-08-06 10:02:53 -07:00
bsalomon
fb1141ae1d Don't pass pipeline to GrBatch::generateGeometry()
R=joshualitt@google.com

Review URL: https://codereview.chromium.org/1275083002
2015-08-06 08:52:49 -07:00
joshualitt
c8da81df6b Another small fix for reordering
BUG=skia:

Review URL: https://codereview.chromium.org/1274763008
2015-08-06 08:39:22 -07:00
mtklein
b6394746ff Port SkTextureCompression opts to SkOpts
Pretty vanilla translation.  I cleaned up who calls whom a little.
Used to be utils -> opts -> utils, now it's just utils -> opts.

I may follow up with a pass over the NEON code for readability
and to clean up dead code.

This turns on NEON A8->R11EAC conversion for ARMv8.
Unit tests which now hit the NEON code still pass.
I can't find any related bench.

BUG=skia:4117

Review URL: https://codereview.chromium.org/1273103002
2015-08-06 08:17:16 -07:00
robertphillips
d0cf9d831f Remove SK_LEGACY_SKPOINT3_CTORS flag
Cannot land before Blink https://codereview.chromium.org/1274673002/ (Remove reliance on legacy Skia SkPoint3 ctors in FELighting.cpp)

Review URL: https://codereview.chromium.org/1269383003
2015-08-06 07:08:31 -07:00
fmalita
e2639089bd SkSurface copy-on-write can yield stale GPU render targets.
Prepare_rt_for_external_access() grabs the render target and then fires
access notifications.

But the notification handlers may trigger copy-on-write, causing the
returned render target to be stale (pointing at the detached snapshot).

We should grab the render target after firing notifications.

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

Review URL: https://codereview.chromium.org/1276713002
2015-08-06 07:04:52 -07:00
senorblanco
ebe06c0560 Minor cleanup: remove GR_TESSELLATING_PATH_RENDERING #ifdef.
Also, new -> SkNEW.

Review URL: https://codereview.chromium.org/1280433002
2015-08-06 06:52:10 -07:00
reed
2dcc759cd2 use kFast_SrcRectConstraint to match drawAtlas semantics
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1272743003
2015-08-06 06:51:52 -07:00
scroggo
ab60c5bd9f Support decoding PNG to 565.
Although we initially discussed not supporting 565, SkCodec needs to
support Android's BitmapFactory and BitmapRegionDecoder, which need to
support 565.

We could instead implement 565 on top of SkCodec, but this would require
more memory and run more slowly.

An open question is whether to support dithering, and how. In order to
support dithering, we need to pass y to RowProc, which I believe means
we will need to pass y to SkSwizzler::swizzle().

I dislike having an option which is typically ignored - SkImageDecoder
allows you to turn on dithering when decoding to any color type, but it
is only meaningful only if the output color type is 565.

We could also make the client implement dithering, which I believe would
mean forcing them to do the conversion to 565 (since we have already
thrown away data when we convered to 565 without dithering).

BUG=skia:3257

Review URL: https://codereview.chromium.org/1277593002
2015-08-06 06:08:18 -07:00
reed
fd3d87cf67 simulate drawatlas
BUG=skia:

Review URL: https://codereview.chromium.org/1279733002
2015-08-06 05:14:11 -07:00
mtklein
1a3976795b Rephrase Windows gyp instructions
The existing instructions seem misleading.

BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1275753002

Review URL: https://codereview.chromium.org/1275753002
2015-08-05 16:18:03 -07:00
joshualitt
4fc6ff22c8 Fix reording across rendertarget switching
BUG=skia:

Review URL: https://codereview.chromium.org/1276633003
2015-08-05 14:36:31 -07:00
mtklein
f62833d9c9 Detect MIPS DSP and DSPR2 programattically.
Procedure:

$ platform_tools/android/toolchains/ndk-r10c-mips-darwin_v14/bin/mipsel-linux-android-gcc -dM -E - < /dev/null | sort > vanilla.mips
$ platform_tools/android/toolchains/ndk-r10c-mips-darwin_v14/bin/mipsel-linux-android-gcc -mdsp -dM -E - < /dev/null | sort > dsp.mips
$ platform_tools/android/toolchains/ndk-r10c-mips-darwin_v14/bin/mipsel-linux-android-gcc -mdspr2 -dM -E - < /dev/null | sort > dspr2.mips

$ diff vanilla.mips dsp.mips
239a240,241
> #define __mips_dsp 1
> #define __mips_dsp_rev 1

$ diff vanilla.mips dspr2.mips
239a240,242
> #define __mips_dsp 1
> #define __mips_dsp_rev 2
> #define __mips_dspr2 1

So, defined(__mips_dsp) -> SK_MIPS_HAS_DSP, defined(__mips_dspr2) -> SK_MIPS_HAS_DSPR2.

BUG=skia:

Review URL: https://codereview.chromium.org/1274873002
2015-08-05 14:17:32 -07:00
brucedawson
7b77ac100e Fix variable shadowing and unreachable code that it caused
Change https://codereview.chromium.org/1261643004 renamed a function
parameter so that some code became unreachable. This renames that
parameter back.

R=bsalomon@google.com
BUG=skia:4169

Review URL: https://codereview.chromium.org/1271353003
2015-08-05 14:05:17 -07:00
msarett
cbb12ca953 Fix ASAN error for wbmp swizzles
BUG=skia:

Review URL: https://codereview.chromium.org/1269413006
2015-08-05 13:59:40 -07:00
bungeman
d3ebb48320 IWYU: 'core' target, files starting A-C.
TBR=reed@google.com
Verbal lgtm, does not change API.

Committed: https://skia.googlesource.com/skia/+/7403d87db8e43d4c2b5b25ac22a0ebc22bd09d69

Review URL: https://codereview.chromium.org/1265033002
2015-08-05 13:57:49 -07:00
senorblanco
59cd36765c Revert of Implement caching of stroked paths in the tessellated path renderer. (patchset #4 id:60001 of https://codereview.chromium.org/1275553002/ )
Reason for revert:
Breaking/asserting in Debug on DM.

Original issue's description:
> Implement caching of stroked paths in the tessellated path renderer.
>
> This requires adding the stroke info to the cache key, and doing the
> stroking and dashing before rendering as triangles.
>
> BUG=skia:3755
>
> Committed: https://skia.googlesource.com/skia/+/29e0d3f267a03546f236023347cdb4595ece2fd1

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

Review URL: https://codereview.chromium.org/1276633002
2015-08-05 13:37:49 -07:00
senorblanco
29e0d3f267 Implement caching of stroked paths in the tessellated path renderer.
This requires adding the stroke info to the cache key, and doing the
stroking and dashing before rendering as triangles.

BUG=skia:3755

Review URL: https://codereview.chromium.org/1275553002
2015-08-05 13:18:03 -07:00
mtklein
94df02344b Update NOPRESUBMIT docs.
"NOPRESUBMIT=true" does not work anymore for me.

BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1271423002

Review URL: https://codereview.chromium.org/1271423002
2015-08-05 13:08:12 -07:00
msarett
99f567e617 Scanline decoding for wbmp
We are also changing the wbmp to use SkSwizzler.  This
will allow us to take advantage of the sampling routines
that are being implemented in SkSwizzler.

The image in this upload came from:
https://commons.wikimedia.org/wiki/File:Android_robot.png

It is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.

BUG=skia:

Review URL: https://codereview.chromium.org/1254483004
2015-08-05 12:58:26 -07:00
oysteine
dfcba473b0 Moved common cross-project functionality out from SkTraceEvent.h into SkTraceEventCommon.h
Traditionally, SkTraceEvent.h was manually kept in sync with base/trace_event/trace_event.h, with project-specific parts intermixed, and tended to drift out of sync a lot (mainly in Blink, less so in Skia).

The SkTraceEventCommon.h now has only the cross-project parts, and can be copy-pasted verbatim between projects (it's an identical copy of base/trace_event/trace_event_common.h), meaning SkTraceEvent.h shouldn't go out of sync as it has before.

BUG=skia:

[mtklein mucking around below here]
NOPRESUBMIT=true
CQ_EXCLUDE_TRYBOTS=client.skia.fyi:skia_presubmit-Trybot

Review URL: https://codereview.chromium.org/1270783002
2015-08-05 12:54:40 -07:00
bungeman
2bd028590d Add skstd::move and skstd::forward.
Since we can't use the c++11 standard library, re-implement the bits
we want to use now.

TBR=reed@google.com
The next CL is try to move SkTemplates into private.

Review URL: https://codereview.chromium.org/1273813002
2015-08-05 12:09:57 -07:00
joshualitt
2fe7923f7e Expose coord transforms from GrPipeline
BUG=skia:

Review URL: https://codereview.chromium.org/1275603002
2015-08-05 12:02:27 -07:00
joshualitt
b2aa7cb90f This CL wires up the backend portion necessary for sending transformed coords via vertex attributes.
BUG=skia:

Review URL: https://codereview.chromium.org/1243583002
2015-08-05 11:05:22 -07:00
bsalomon
0e8296eaa6 Move impl of stroke rect batch from h to cpp
Review URL: https://codereview.chromium.org/1275633003
2015-08-05 10:50:01 -07:00
bsalomon
ee14a622b0 Give strokerectbatch a proper home
Review URL: https://codereview.chromium.org/1274763002
2015-08-05 10:34:05 -07:00
joshualitt
847029043e fix for GrFragmentProcessor isEqual in GrPipeline
BUG=skia:

Review URL: https://codereview.chromium.org/1273693003
2015-08-05 09:30:02 -07:00
robertphillips
d8aa59df63 Remove SHADER_AA_FILL_RECT flag
Review URL: https://codereview.chromium.org/1271243004
2015-08-05 09:07:12 -07:00
mtklein
6c17ca5905 Update yasm .gyp for tweaked ASAN bots.
They're not passing -fsanitize=address anymore, rather
-fsanitize=address,bool,etc,etc,etc...

NOTREECHECKS=true

BUG=skia:

Review URL: https://codereview.chromium.org/1269383002
2015-08-05 08:58:45 -07:00
mtklein
c0e1af1422 Revert of Intentionally crash DM to make sure all bots are up-to-date. (patchset #1 id:1 of https://codereview.chromium.org/1274693002/ )
Reason for revert:
win x64 looks fixed

Original issue's description:
> Intentionally crash DM to make sure all bots are up-to-date.
>
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3749b9646103f544f17aa926fab050f1e5178b17

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

Review URL: https://codereview.chromium.org/1275543003
2015-08-05 08:40:19 -07:00
Eric Boren
fa1c073b4c Fix make.py: BUILDTYPE
TBR=mtklein
BUG=skia:
NOTRY=true
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1273793003 .
2015-08-05 11:30:28 -04:00