Commit Graph

14115 Commits

Author SHA1 Message Date
mtklein
6bd41969a0 BBHs: void* data -> unsigned data
Now that the old backend's not using BBHs, we can specialize them for
SkRecord's needs.  The only thing we really want to store is op index, which
should always be small enough to fit into an unsigned (unsigned also helps keep
it straight from other ints floating around).

This means we'll need half (32-bit) or a quarter (64-bit) the bytes in SkTileGrid,
because we don't have to store an extra int for ordering.

BUG=skia:2834

Review URL: https://codereview.chromium.org/617393004
2014-10-02 07:41:56 -07:00
jungjik.lee
29fe24c0ed Remove duplicated code in android_get_gl_proc.
code for getting gles function pointer
has been written twice.
so this patch removes the last one.

BUG=skia:

Review URL: https://codereview.chromium.org/606413002
2014-10-02 05:28:32 -07:00
fmalita
08bd03bc17 Add blobshader GM baselines.
TBR=robertphillips@google.com
NOTRY=true

Review URL: https://codereview.chromium.org/616853003
2014-10-02 05:00:29 -07:00
robertphillips
2a382f5199 Revert of specialize setConcat for scale+translate (patchset #1 id:1 of https://codereview.chromium.org/620433002/)
Reason for revert:
Experimental to see if this revert "fixes" nanobench on the main console.

Original issue's description:
> specialize setConcat for scale+translate, helps drawText perf
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e8db3ef2a2161084fa8eb1fd1d54c35bfff52d6c

TBR=jvanverth@google.com,reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/620973003
2014-10-02 04:42:55 -07:00
humper
b77955e1b1 complete overhaul of webtry work partition between jail and host
BUG=skia:

Review URL: https://codereview.chromium.org/619943002
2014-10-01 14:27:31 -07:00
reed
4942e7550e fix prev change to tooBigForLCD, and add test
BUG=skia:

Review URL: https://codereview.chromium.org/617353003
2014-10-01 13:59:34 -07:00
reed
5817f21e0b remove suppression for gm
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/617193003
2014-10-01 12:53:53 -07:00
mtklein
8e393bf70e Don't adjust the bounds after a restore with the restore's paired saveLayer's paint.
It makes no sense for the paint from a saveLayer to effect anything outside its saveLayer/restore block.  But as currently written, we'll adjust the clip bounds just after a restore by that paint.

Turns out the test I wrote for the last CL (which caused this bug) actually had the bug baked into its expectations.  I've updated them and added some notes to explain.

BUG=418417

Review URL: https://codereview.chromium.org/623563002
2014-10-01 12:48:58 -07:00
reed
8324a6a27e add baseline for clip_strokerect
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/618373002
2014-10-01 12:41:13 -07:00
reed
39f31c6ed0 baseline new GMs
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/623443004
2014-10-01 12:18:40 -07:00
reed
b3da83a07f avoid extra math work in MackRec
BUG=skia:

Review URL: https://codereview.chromium.org/615053005
2014-10-01 12:06:12 -07:00
derekf
29dda80c01 Add support for EGL on linux
Allow setting skia_egl=1 to build skia against EGL instead of GLX on unix

Review URL: https://codereview.chromium.org/604853003
2014-10-01 10:52:52 -07:00
robertphillips
6589dec11e Rebaseline Unknown-Arm64 GM flakes
These inconsequential changes appeared after (GrResourceCache2 manages scratch texture - https://codereview.chromium.org/608883003) but persisted even after that CL was reverted.

TBR=bsalomon@google.com
NOTRY=true

Review URL: https://codereview.chromium.org/617103005
2014-10-01 09:47:11 -07:00
mtklein
8e12656096 Remove DEPRECATED_beginRecording().
This removes:
  1) ability to record old pictures with SkPictureRecorder;
  2) a couple tests specific to the old backend.

The functionality of DEPRECATED_beginRecording() now lives in
(private) SkPicture::Backport(), which is the only place we
need it now.

BUG=skia:
TBR=reed@google.com

Review URL: https://codereview.chromium.org/618303002
2014-10-01 09:29:35 -07:00
rmistry
23cd4d2d1a Whitespace change to test Skia's CQ
(SkipBuildbotRuns)

TBR=
BUG=skia:2973

Review URL: https://codereview.chromium.org/620783003
2014-10-01 09:29:17 -07:00
reed
10d0327c16 add SkRect::joinNonEmptyArg for faster unioning
BUG=skia:

Review URL: https://codereview.chromium.org/619853005
2014-10-01 09:24:12 -07:00
robertphillips
68cd2aa797 Update GrRecordReplaceDraw to use SkTDynamicHash & add ReplaceDraw
Having hoisted layers from different pictures invalidates the assumptions of the old GrReplacements object. This is fixed by switching to a SkTDynamicHash-based back-end.

Sub-picture-layers also require that the replacement drawing occur for the sub-pictures too. The ReplaceDraw object is added to make this happen and limit the replacement lookup to saveLayer draw commands.

This is split out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/).

BUG=skia:2315

Review URL: https://codereview.chromium.org/607763008
2014-10-01 09:24:06 -07:00
fmalita
dbcb5ff125 Add pdf-native textblobshader GM baseline
BUG=skia:2983
TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/615853004
2014-10-01 09:19:05 -07:00
tfarina
b1dfb03685 webtry: More README doc cleanups.
Puts it much more in sync with the README in perf/.

BUG=None
TEST=None
R=jcgregorio@google.com

Review URL: https://codereview.chromium.org/615313002
2014-10-01 09:18:58 -07:00
rmistry
cda6885f0a Whitespace change to test the new CQ trybot
(SkipBuildbotRuns)

TBR=
BUG=skia:2973

Review URL: https://codereview.chromium.org/615423003
2014-10-01 08:13:45 -07:00
robertphillips
92656eaaa8 Add buggy GPU baselines for MultiPictureDraw Sierpinski GM (with bug label)
I am checking in these baseline images even though they are afflicted by a bug (skia:2979).

NOTRY=true
NOTREECHECKS=true
BUG=skia:2979
TBR=jvanverth@google.com

Review URL: https://codereview.chromium.org/619873003
2014-10-01 08:04:29 -07:00
Justin Novosad
e946f7115c New baselines for image=surface gm
TBR=robertphillips@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/623473002
2014-10-01 10:29:16 -04:00
reed
d9c42f71c3 optimize setRectFan and join -- from profiling drawText
BUG=skia:
NOTREECHECKS=True
NOTRY=True

Review URL: https://codereview.chromium.org/615993003
2014-10-01 07:21:23 -07:00
robertphillips
24e430ff32 Add 8888 & 565 baselines for multipicturedraw Sierpinski GM
TBR=jvanverth@google.com
NOTRY=true
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/614353002
2014-10-01 05:33:25 -07:00
mtklein
f6fde175b8 Archive more dead code.
BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/617003004
2014-09-30 15:22:06 -07:00
mtklein
46616af01b Strip old backend recording down to essentials
Feature-wise, this removes:
  1) BBH support;
  2) peephole optimizations;
  3) record-time text op specializations;
  4) the guarantee that SkPaints are flattened.

This deletes the optimizations GM, which only exists to test the peepholes of
the old backend.  SkRecord optimizations are unit tested, and if that ever fails we
can think about adding another GM like this, but they're different enough we'd
want to start from scratch anyway.

We need to keep the code that plays back the specialized text ops around for
a while for compatibility with existing .SKPs that have those ops recorded.

BUG=skia:

CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot
R=robertphillips@google.com, reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/617953002
2014-09-30 14:47:10 -07:00
bsalomon
afbf2d6273 Make "priv" classes for GrTexure and GrSurface.
R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/596053002
2014-09-30 12:18:44 -07:00
mtklein
8de02f4bf3 Clean up SK_PICTURE_USE_SK_RECORD and SK_PICTURE_OPTIMIZE_SK_RECORD.
This folds the code through as if they were defined, which is the explicit
state in both our build and Chrome's.

This leaves the EXPERIMENTAL_ and DEPRECATED_ hooks in to be cleaned up or
privatized later.

CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/616033002
2014-09-30 11:43:53 -07:00
robertphillips
b5a97154f8 Allow previously-hoisted layers to be reused in the same draw
In the Sierpinkski test case there are only a few layers appear in the "to be drawn" lists but they those layers get reused a lot of times with different transforms. This CL adds an additional category to allow such layers to be placed in the GrReplacements object without needing to be rendered.

This is split out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/)

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/616023002
2014-09-30 11:33:02 -07:00
mtklein
5bc760a6a6 Remove support for SkPicture::clone().
This folds SK_SUPPORT_LEGACY_PICTURE_CLONE through as undefined.

Chrome's not used clone() for a month or two, and we don't use it ourselves.
Don't think Android ever did.

CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/620533002
2014-09-30 11:14:38 -07:00
reed
7874dc8e71 remove obsolete code for SK_SUPPORT_LEGACY_IMAGEGENERATORAPI
BUG=skia:
R=reed@google.com

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/613933002
2014-09-30 10:15:32 -07:00
tfarina
fffa16cc27 webtry: Only create sqlite3 tables if they don't exist yet.
Otherwise it will through an error like the following:

2014/09/28 21:22:24 Info: status creating sqlite table for sources:
"table source_images already exists"
2014/09/28 21:22:24 Info: status creating sqlite table for webtry:
"table webtry already exists"
2014/09/28 21:22:24 Info: status creating sqlite table for workspace:
"table workspace already exists"
2014/09/28 21:22:24 Info: status creating sqlite table for workspace
try: "table workspacetry already exists"

To test locally the following was done:

$ ./gyp_skia gyp/webtry.gyp gyp/most.gyp -Dskia_gpu=0
$ ninja -C out/Debug webtry
$ cd experimental/webtry
$ go get -d
$ go build webtry.go
$ ./webtry
$ google-chrome http://localhost:8000

Expected: see no more the above messages.

BUG=None
TEST=see above
R=stephana@google.com, jcgregorio@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/613593002
2014-09-30 08:17:11 -07:00
mtklein
1b466f7e21 Archive SkFloat
https://crrev.com/610153002/ reminded me that it existed, but it's entirely
unused and made moot by hardware FP.  Might as well trim a few K off libskia.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/619563003
2014-09-30 08:08:59 -07:00
reed
e8db3ef2a2 specialize setConcat for scale+translate, helps drawText perf
BUG=skia:
R=jvanverth@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/620433002
2014-09-30 07:24:47 -07:00
robertphillips
b06e5a2f55 Revert of Make "priv" classes for GrTexure and GrSurface. (patchset #9 id:260001 of https://codereview.chromium.org/596053002/)
Reason for revert:
Breaking the Chrome builds with:

 lib/libcc.so: error: undefined reference to 'GrAutoScratchTexture::detach()'

(http://108.170.220.120:10117/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-DRT/builds/2990/steps/Retry_BuildContentShell_1/logs/stdio)

Original issue's description:
> Make "priv" classes for GrTexure and GrSurface.

R=egdaniel@google.com, joshualitt@google.com, bsalomon@google.com
TBR=bsalomon@google.com, egdaniel@google.com, joshualitt@google.com
NOTREECHECKS=true
NOTRY=true

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/618733002
2014-09-30 06:58:20 -07:00
robertphillips
dbe6074a06 Revert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 of https://codereview.chromium.org/608883003/)
Reason for revert:
Turning bots red:
Nanobench seems to be uniformly failing on Android
(http://108.170.220.21:10117/builders/Perf-Android-Venue8-PowerVR-x86-Release/builds/99/steps/RunNanobench/logs/stdio)

Ubuntu GTX660 32bit is failing in both Debug and Release on GM generation (it appears to be out of memory) (http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Debug/builds/2457/steps/GenerateGMs/logs/stdio)

Original issue's description:
> GrResourceCache2 manages scratch texture.
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3d398c876440deaab39bbf2a9b881c337e6dc8d4

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/611383003
2014-09-30 06:54:17 -07:00
bsalomon
3d398c8764 GrResourceCache2 manages scratch texture.
BUG=skia:
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/608883003
2014-09-30 06:02:23 -07:00
bsalomon
c0eb9b9818 Make "priv" classes for GrTexure and GrSurface.
R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com, joshualitt@chromium.org

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/596053002
2014-09-29 14:20:11 -07:00
reed
c5e15a1afa remove alphatype from colortable
the owning bitmap is (already) responsible for knowing the alphatype

BUG=skia:
R=djsollen@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/611093002
2014-09-29 12:10:27 -07:00
humper
4572ae9221 allow caller to override the default output directory for gyp
BUG=skia:
R=jcgregorio@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/614753002
2014-09-29 11:42:25 -07:00
robertphillips
ed42059d2f Move offset and CTM from LayerCache Key to per-hoisted-layer info
This CL reduces the amount of information used in the layer cache key:
- the stop value isn't needed since the start value uniquely identifies the layer in the picture.
- only the upper-left 2x2 portion of the CTM should be used as a key for looking up cached layers.
- individual layers can be redraw in different locations so the final offset cannot be a part of the key.

Since this data is no longer stored in the cached layer, but is still required to draw the cached layer, it is now stored in the per-layer information (i.e., HoistedLayer).

This is split out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/).

BUG=skia:2315
R=egdaniel@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/609403003
2014-09-29 11:39:38 -07:00
robertphillips
92f7fc4868 Rebaselining Win7 image failures (textblob, verttext2)
Rebaselining these for now and see if they recur.

R=borenet@google.com
TBR=borenet@google.com

BUG=skia:2956

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/600533003
2014-09-29 11:17:58 -07:00
bsalomon
656f2cd558 Make writeRenderTargetPixels use draw buffer rather than GrGpu
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/586393005
2014-09-29 11:01:59 -07:00
tfarina
320a4e658b Fix some references to non-existant polyfill directory.
Looks like the name of the directory is "poly" rather than "polyfill".

BUG=None
TEST=None
R=humper@google.com, jcgregorio@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/610003003
2014-09-29 10:50:59 -07:00
tfarina
c425ae3a12 Mention 'go get' command in the README file.
This is necessary to build webtry.go as it imports packages from
github.com

BUG=None
TEST=follow the README instructions
R=humper@google.com, jcgregorio@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/601033004
2014-09-29 10:50:29 -07:00
junov
2bb52102b1 Applying post-commit comments from https://codereview.chromium.org/607993002/
BUG=skia:
R=robertphillips@google.com

Author: junov@chromium.org

Review URL: https://codereview.chromium.org/612063003
2014-09-29 10:19:00 -07:00
djsollen
47c548a670 Temp fix for crash when generating 16-bit cache for colorTables.
BUG=skia:2795
R=reed@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/617443002
2014-09-29 08:57:50 -07:00
piotaixr
b7bac3d015 Override drawImage*() in SkNWayCanvas
BUG=skia:2947
R=junov@chromium.org, reed@google.com, bsalomon@chromium.org

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/600643002
2014-09-29 08:56:19 -07:00
mtklein
a9ceaf5364 Don't test the old picture backend anymore.
This saves a bunch of CPU time in DM, and even better, lets us tear it down!

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/612603002
2014-09-29 08:44:46 -07:00
tfarina
4ceb039301 webtry database has more than one table.
Fix the wording in the DESIGN doc. Currently it says "the only table" as
implying the database has just a single table.

That is not true, the webtry database has four tables: webtry,
workspace, workspacetry and source_images.

BUG=None
TEST=None
R=jcgregorio@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/611763002
2014-09-29 08:16:12 -07:00