egdaniel [Tue, 14 Oct 2014 13:48:46 +0000 (06:48 -0700)]
Track if all stages modulate inputColor in computeInvariantOutput
BUG=skia:
Review URL: https://codereview.chromium.org/
647863002
borenet [Tue, 14 Oct 2014 11:44:44 +0000 (04:44 -0700)]
Fix links to skia-buildbot code in preparation for deletion
BUG=skia:761
Review URL: https://codereview.chromium.org/
655643002
reed [Tue, 14 Oct 2014 02:43:17 +0000 (19:43 -0700)]
parse outline to generate slides
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
643113005
Greg Humphreys [Tue, 14 Oct 2014 01:52:05 +0000 (21:52 -0400)]
Re-land ganesh checkbox. I needed to increase the size of the address
space available to a fiddle because linking against libGL causes the
amount of memory used by a process to bloat to over 100M. Yikes.
BUG=skia:
Review URL: https://codereview.chromium.org/
638003008
humper [Mon, 13 Oct 2014 23:05:05 +0000 (16:05 -0700)]
Revert of add ganesh checkbox to skfiddle interface (patchset #6 id:270001 of https://codereview.chromium.org/
649313002/)
Reason for revert:
adding -Dskia_mesa=1 broke production; don't yet know why and don't want to leave things in a broken state.
Original issue's description:
> add ganesh checkbox to skfiddle interface
>
> BUG=skia:
> R=mtklein@google.com, tfarina@chromium.org
>
> Committed: https://skia.googlesource.com/skia/+/
ccb54895c614632fd01d22b64ab614921f980eb1
TBR=tfarina@chromium.org,jcgregorio@google.com,mtklein@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
655633003
Greg Humphreys [Mon, 13 Oct 2014 22:12:33 +0000 (18:12 -0400)]
add ganesh checkbox to skfiddle interface
BUG=skia:
R=mtklein@google.com, tfarina@chromium.org
Review URL: https://codereview.chromium.org/
649313002
mtklein [Mon, 13 Oct 2014 21:50:41 +0000 (14:50 -0700)]
Revert of No threadsafe statics. (patchset #1 id:1 of https://codereview.chromium.org/
654663002/)
Reason for revert:
Want to think about how to do this only to skialib and not to tools (gms, tests, etc.)
Original issue's description:
> No threadsafe statics.
>
> Chrome disables these for speed and code size, so we need
> to disable them to make sure our code is safe when used
> this way.
>
> int foo() {
> static int32_t atomic_thing;
> return sk_atomic_inc(&atomic_thing);
> }
>
> is not safe in Chrome. Making the static global is:
>
> static int32_t atomic_thing;
> int foo() {
> return sk_atomic_inc(&atomic_thing);
> }
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
cad5d3e264535c919b80e1e2a85407307961f221
TBR=bungeman@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
649343003
mtklein [Mon, 13 Oct 2014 21:00:42 +0000 (14:00 -0700)]
Revert of Create a single command buffer for GrInOrderDrawBuffer (patchset #14 id:1050001 of https://codereview.chromium.org/
628453002/)
Reason for revert:
New test failing on Android: http://build.chromium.org/p/client.skia.android/builders/Test-Android-Nexus7-Tegra3-Arm7-Release/builds/89/steps/dm/logs/stdio
Original issue's description:
> Adds a GrTBaseList class that GrInOrderDrawBuffer uses to allocate
> all its commands interleaved in contiguous memory. GrTBaseList also
> supports extra data associated with objects, so we can store arrays
> inline without having to call malloc().
>
> Committed: https://skia.googlesource.com/skia/+/
47c844aaba81e5a29c773b660e1d6062c766d253
TBR=bsalomon@google.com,reed@google.com,cdalton@nvidia.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
652843002
Thiago Farina [Mon, 13 Oct 2014 20:56:30 +0000 (17:56 -0300)]
Link to skiadocs site, since that is the canonical location for documentation.
BUG=None
TEST=None
R=borenet@google.com, rmistry@google.com
Review URL: https://codereview.chromium.org/
646853002
reed [Mon, 13 Oct 2014 20:53:48 +0000 (13:53 -0700)]
experimental parser
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
651023002
Thiago Farina [Mon, 13 Oct 2014 20:51:57 +0000 (17:51 -0300)]
Fix reference to non-existant 'tests' target.
This target was previously folded into dm. Do not advertise it anymore.
BUG=None
TEST=None
R=borenet@google.com
Review URL: https://codereview.chromium.org/
646843002
mtklein [Mon, 13 Oct 2014 20:17:56 +0000 (13:17 -0700)]
Require SK_DECLARE_STATIC_LAZY_PTR is used in global scope.
Function- or method- local scope isn't threadsafe; the pointer is generally
zero-initialized on first use in function scope (i.e. lazily... we have to go
deeper), but for globals we can be pretty sure the linker will do that for us.
BUG=skia:
No public API changes.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
651723003
tfarina [Mon, 13 Oct 2014 19:58:33 +0000 (12:58 -0700)]
Archive svndiff script.
Nobody is using this script anymore, so to prevent more changes to it,
let's remove it now.
BUG=None
TEST=None
R=borenet@google.com
Review URL: https://codereview.chromium.org/
646043002
egdaniel [Mon, 13 Oct 2014 19:53:46 +0000 (12:53 -0700)]
Create helper functions to use in computeInvariantOutput calls
BUG=skia:
Review URL: https://codereview.chromium.org/
643743003
mtklein [Mon, 13 Oct 2014 19:53:27 +0000 (12:53 -0700)]
No threadsafe statics.
Chrome disables these for speed and code size, so we need
to disable them to make sure our code is safe when used
this way.
int foo() {
static int32_t atomic_thing;
return sk_atomic_inc(&atomic_thing);
}
is not safe in Chrome. Making the static global is:
static int32_t atomic_thing;
int foo() {
return sk_atomic_inc(&atomic_thing);
}
BUG=skia:
Review URL: https://codereview.chromium.org/
654663002
mtklein [Mon, 13 Oct 2014 19:48:16 +0000 (12:48 -0700)]
Fix race in supports_simd().
Local statics are not thread safe in Chrome. Use an SkLazyPtr instead.
See https://code.google.com/p/chromium/issues/detail?id=418041
BUG=418041
Review URL: https://codereview.chromium.org/
655573002
jvanverth [Mon, 13 Oct 2014 19:48:10 +0000 (12:48 -0700)]
Enable color emoji GM on Android
BUG=skia:2887
Review URL: https://codereview.chromium.org/
656433002
cdalton [Mon, 13 Oct 2014 19:43:10 +0000 (12:43 -0700)]
Adds a GrTBaseList class that GrInOrderDrawBuffer uses to allocate
all its commands interleaved in contiguous memory. GrTBaseList also
supports extra data associated with objects, so we can store arrays
inline without having to call malloc().
Review URL: https://codereview.chromium.org/
628453002
tfarina [Mon, 13 Oct 2014 19:43:01 +0000 (12:43 -0700)]
bug_chomper: Make server's port configurable.
Make 'port' a flag so you can change it from the command line, making the
server more flexible and allowing us to change in which port it listen
to requests.
$ ./run_server.sh --port :8002
BUG=None
TEST=see above
R=borenet@google.com
Review URL: https://codereview.chromium.org/
649663003
reed [Mon, 13 Oct 2014 19:38:04 +0000 (12:38 -0700)]
add pictures to lua
BUG=skia:
Review URL: https://codereview.chromium.org/
650263002
tfarina [Mon, 13 Oct 2014 19:37:52 +0000 (12:37 -0700)]
Fix webtry setup once instructions in README doc.
BUG=None
TEST=NOne
R=humper@google.com
TBR=humper@google.com
Review URL: https://codereview.chromium.org/
648563003
bsalomon [Mon, 13 Oct 2014 19:32:55 +0000 (12:32 -0700)]
Devirtualize read/write pixels on surface.
Consolidate read/write funcs in context.
Remove support for reading pixels from a surface that's not a target. It's currently broken and neither used nor tested.
Review URL: https://codereview.chromium.org/
648863002
mtklein [Mon, 13 Oct 2014 19:32:34 +0000 (12:32 -0700)]
Allow GCC to build Skia on Mac.
GCC doesn't understand -fasm-blocks or -mpascal-strings, but we don't care
about them.
While looking around in Gyp, I noticed a better way to disable warnings about
offsetof so that it doesn't tell us "disabling this warning makes no sense in C"
for every C source file we compile.
BUG=skia:
Review URL: https://codereview.chromium.org/
650553002
Greg Humphreys [Mon, 13 Oct 2014 17:58:09 +0000 (13:58 -0400)]
add support for skfiddle width/height options
BUG=skia:
R=jcgregorio@google.com
Review URL: https://codereview.chromium.org/
656463002
borenet [Mon, 13 Oct 2014 16:52:20 +0000 (09:52 -0700)]
Whitespace change to trigger builds
BUG=skia:761
TBR=rmistry
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
621353002
rmistry [Mon, 13 Oct 2014 13:02:28 +0000 (06:02 -0700)]
Whitespace change to test the CQ's new trybots
BUG=skia:2973
TBR=
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
654463003
reed [Mon, 13 Oct 2014 02:05:52 +0000 (19:05 -0700)]
add fade_slide transition to lua slides
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/
646613004
reed [Sun, 12 Oct 2014 19:18:40 +0000 (12:18 -0700)]
add canvas:clear to lua
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
648083002
reed [Sun, 12 Oct 2014 17:36:47 +0000 (10:36 -0700)]
add surfaces to lua
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
649973002
bsalomon [Sun, 12 Oct 2014 12:40:00 +0000 (05:40 -0700)]
Fix leak in GLPrograms test.
TBR=joshualitt@google.com
Review URL: https://codereview.chromium.org/
648063002
reed [Sat, 11 Oct 2014 20:13:11 +0000 (13:13 -0700)]
add key handlers to lua
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
652473002
reed [Sat, 11 Oct 2014 18:28:07 +0000 (11:28 -0700)]
allow for lua click handlers
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
649013002
reed [Sat, 11 Oct 2014 03:31:24 +0000 (20:31 -0700)]
move test for lua into separate resource file
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
645283002
tfarina [Sat, 11 Oct 2014 01:40:45 +0000 (18:40 -0700)]
bug_chomper: Use parenthesized declaration style for const and vars.
It seems cleaner that way and nicer to read, also avoids repeating
'const' and 'var' everytime you have to add more items.
BUG=None
TEST=./run_server.sh
R=borenet@google.com
Review URL: https://codereview.chromium.org/
645803003
joshualitt [Sat, 11 Oct 2014 00:47:00 +0000 (17:47 -0700)]
Opt state takes a GP instead of a GeometryStage
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
71856d520461ae025a0332aa0ce9735a096d9baf
Review URL: https://codereview.chromium.org/
637003003
reed [Fri, 10 Oct 2014 22:28:19 +0000 (15:28 -0700)]
add drawImageRect to lua, update sample
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
642353005
joshualitt [Fri, 10 Oct 2014 21:11:59 +0000 (14:11 -0700)]
Revert of Opt state takes a GP instead of a GeometryStage (patchset #18 id:1500001 of https://codereview.chromium.org/
637003003/)
Reason for revert:
Revert because this may be causing a break in a chrome gpu test
Original issue's description:
> Opt state takes a GP instead of a GeometryStage
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
71856d520461ae025a0332aa0ce9735a096d9baf
TBR=bsalomon@google.com,egdaniel@google.com,danakj@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
647183002
tfarina [Fri, 10 Oct 2014 20:34:25 +0000 (13:34 -0700)]
Remove empty recordy.gypi file.
Fixes the TODO in that file.
BUG=None
TEST=None
R=mtklein@google.com
Review URL: https://codereview.chromium.org/
643543002
jvanverth [Fri, 10 Oct 2014 19:58:46 +0000 (12:58 -0700)]
Update coloremoji expectations
TBR=reed@google.com
BUG=skia:2887
Review URL: https://codereview.chromium.org/
649753003
robertphillips [Fri, 10 Oct 2014 18:38:29 +0000 (11:38 -0700)]
Fix bug in GrCachedLayer reuse
In the new MultiPictureDraw tests a single hoisted layer is reused multiple times. The previous plot locking scheme allowed GrCachedLayer objects to be aggressively deleted prematurely leaving the reusing GrHoistedLayer objects with dangling pointers.
This CL changes adds a new pseudo-ref to GrCachedLayer. (It can't be a real ref since the cached layers aren't deleted when it goes to 0).
NOTRY=true
Committed: https://skia.googlesource.com/skia/+/
5c481666c9678f43e039ad605457be3854cf8de3
Review URL: https://codereview.chromium.org/
640323002
jvanverth [Fri, 10 Oct 2014 18:36:12 +0000 (11:36 -0700)]
Fix color emoji.
Removes the GrMaskFormat and single atlas in GrTextStrike.
Replaces it by storing the GrMaskFormat in each GrGlyph, and
doing a lookup for the correct atlas based on that.
Disables color glyph rendering in GrDistanceFieldTextContext
for now.
BUG=skia:2887
Committed: https://skia.googlesource.com/skia/+/
bc92163ddfe957ad6ffbb02ac40e0ba75ff82216
Review URL: https://codereview.chromium.org/
636183005
joshualitt [Fri, 10 Oct 2014 16:56:55 +0000 (09:56 -0700)]
Opt state takes a GP instead of a GeometryStage
BUG=skia:
Review URL: https://codereview.chromium.org/
637003003
reed [Fri, 10 Oct 2014 16:09:52 +0000 (09:09 -0700)]
detect --loops is < 0 and interpret that as running forever (mostly)
BUG=skia:
Review URL: https://codereview.chromium.org/
643143002
jvanverth [Fri, 10 Oct 2014 15:52:03 +0000 (08:52 -0700)]
Revert of Fix color emoji. (patchset #11 id:320001 of https://codereview.chromium.org/
636183005/)
Reason for revert:
Crashing the Windows bots.
Original issue's description:
> Fix color emoji.
>
> Removes the GrMaskFormat and single atlas in GrTextStrike.
> Replaces it by storing the GrMaskFormat in each GrGlyph, and
> doing a lookup for the correct atlas based on that.
>
> Disables color glyph rendering in GrDistanceFieldTextContext
> for now.
>
> BUG=skia:2887
>
> Committed: https://skia.googlesource.com/skia/+/
bc92163ddfe957ad6ffbb02ac40e0ba75ff82216
TBR=robertphillips@google.com,bungeman@google.com,reed@google.com,bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2887
Review URL: https://codereview.chromium.org/
640413004
jvanverth [Fri, 10 Oct 2014 15:21:29 +0000 (08:21 -0700)]
Fix color emoji.
Removes the GrMaskFormat and single atlas in GrTextStrike.
Replaces it by storing the GrMaskFormat in each GrGlyph, and
doing a lookup for the correct atlas based on that.
Disables color glyph rendering in GrDistanceFieldTextContext
for now.
BUG=skia:2887
Review URL: https://codereview.chromium.org/
636183005
jvanverth [Fri, 10 Oct 2014 14:14:55 +0000 (07:14 -0700)]
Ignore complexclip_path_aa on Win7-HD2000 for the moment.
TBR=reed@google.com
BUG=skia:3006
Review URL: https://codereview.chromium.org/
643103002
joshualitt [Fri, 10 Oct 2014 13:48:48 +0000 (06:48 -0700)]
updating expectations
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/
646963002
tfarina [Fri, 10 Oct 2014 13:19:09 +0000 (06:19 -0700)]
Turn SkCanvasStateUtils into a class with static functions.
That simplifies the way to declare it a friend, as needed in SkCanvas.
BUG=skia:2914
TEST=make most
R=reed@google.com
Review URL: https://codereview.chromium.org/
645773002
reed [Fri, 10 Oct 2014 12:50:15 +0000 (05:50 -0700)]
faster SkRect::sort
BUG=skia:
Review URL: https://codereview.chromium.org/
646863002
tfarina [Fri, 10 Oct 2014 12:20:51 +0000 (05:20 -0700)]
Add template.cpp to gitignore.
It is generated experimental/webtry/build script, not checked-in the
source tree.
BUG=None
TEST=git status do not show it anymore as untracked file.
R=humper@google.com
Review URL: https://codereview.chromium.org/
647633002
borenet [Fri, 10 Oct 2014 04:26:14 +0000 (21:26 -0700)]
Update SKP version to 122
Automatic commit by the RecreateSKPs bot.
TBR=
Review URL: https://codereview.chromium.org/
647663002
Thiago Farina [Fri, 10 Oct 2014 03:25:29 +0000 (00:25 -0300)]
Use the function recently added to common in svndiff.py
GetModifiedFiles() function was added to common repo in
https://skia.googlesource.com/common/+/
af1de867422c42855ae54ed3838c62ea445ea6b4
BUG=None
TEST=None
R=borenet@google.com
Review URL: https://codereview.chromium.org/
634313006
mtklein [Fri, 10 Oct 2014 01:22:41 +0000 (18:22 -0700)]
Use BBH reserve hook to preallocate space for tiles.
Before getting too far into changing how SkTileGrid stores its tiles, I figured I'd
better see how much I can tweak out the existing format. Cleverly, that way
any improvements I make by changing the format will look that much less
impressive.
This CL looks like it will be a 5-15% win in time spent recording, with no effect
on playback.
This CL also shrinks the tiles to fit exactly when we're done inserting,
using newly added SkTDArray::shrinkToFit(). It's quite cheap to run (maybe
taking back 1-2% from those 5-15% wins), and means we'll lug around about 15%
fewer bytes in the tile grids. Note though this strategy temporarily uses up to
30% more memory while building the tile grid. For our largest SKPs, that's
maybe 75-100K extra.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
52455cbc02d7f480d988ae7cdacc11ad69078c2c
CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot
Review URL: https://codereview.chromium.org/
639823005
robertphillips [Thu, 9 Oct 2014 23:43:42 +0000 (16:43 -0700)]
Remove unused SaveLayerInfo::fValid field
Minor code cleanup
Review URL: https://codereview.chromium.org/
643713002
robertphillips [Thu, 9 Oct 2014 22:36:06 +0000 (15:36 -0700)]
Refactor GrLayerHoister::FindLayersToHoist to prep for adding clip to cache key
NOTRY=true
Committed: https://skia.googlesource.com/skia/+/
27415b71bd529456165945e19b5b7efbebf6fb51
Review URL: https://codereview.chromium.org/
640373002
joshualitt [Thu, 9 Oct 2014 22:04:05 +0000 (15:04 -0700)]
FPs now use the correct builder types(just a rename)
BUG=skia:
Review URL: https://codereview.chromium.org/
648463003
reed [Thu, 9 Oct 2014 21:29:01 +0000 (14:29 -0700)]
cleanup and optimize rect intersect routines
BUG=skia:
Review URL: https://codereview.chromium.org/
640723004
mtklein [Thu, 9 Oct 2014 20:55:20 +0000 (13:55 -0700)]
Revert of Use BBH reserve hook to preallocate space for tiles. (patchset #2 id:80001 of https://codereview.chromium.org/
639823005/)
Reason for revert:
failed assertion "fXTiles * fYTiles != 0"
Original issue's description:
> Use BBH reserve hook to preallocate space for tiles.
>
> Before getting too far into changing how SkTileGrid stores its tiles, I figured I'd
> better see how much I can tweak out the existing format. Cleverly, that way
> any improvements I make by changing the format will look that much less
> impressive.
>
> This CL looks like it will be a 5-15% win in time spent recording, with no effect
> on playback.
>
> This CL also shrinks the tiles to fit exactly when we're done inserting,
> using newly added SkTDArray::shrinkToFit(). It's quite cheap to run (maybe
> taking back 1-2% from those 5-15% wins), and means we'll lug around about 15%
> fewer bytes in the tile grids. Note though this strategy temporarily uses up to
> 30% more memory while building the tile grid. For our largest SKPs, that's
> maybe 75-100K extra.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
52455cbc02d7f480d988ae7cdacc11ad69078c2c
TBR=reed@google.com,robertphillips@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
642933002
egdaniel [Thu, 9 Oct 2014 20:47:05 +0000 (13:47 -0700)]
Store color and coverage stages in a single array in GrOptDrawState.
BUG=skia:
Review URL: https://codereview.chromium.org/
641223002
joshualitt [Thu, 9 Oct 2014 20:12:35 +0000 (13:12 -0700)]
Force linking of static member variables for GLPrograms
BUG=skia:
Review URL: https://codereview.chromium.org/
614163002
robertphillips [Thu, 9 Oct 2014 19:47:08 +0000 (12:47 -0700)]
Revert of Refactor GrLayerHoister::FindLayersToHoist to prep for adding clip to cache key (patchset #1 id:1 of https://codereview.chromium.org/
640373002/)
Reason for revert:
Failing unit tests
Original issue's description:
> Refactor GrLayerHoister::FindLayersToHoist to prep for adding clip to cache key
>
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/
27415b71bd529456165945e19b5b7efbebf6fb51
TBR=jvanverth@google.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
644823003
robertphillips [Thu, 9 Oct 2014 19:47:01 +0000 (12:47 -0700)]
Revert of Fix bug in plot locking system (patchset #3 id:80001 of https://codereview.chromium.org/
640323002/)
Reason for revert:
Failing unit tests
Original issue's description:
> Fix bug in plot locking system
>
> In the new MultiPictureDraw tests a single hoisted layer is reused multiple times. The previous plot locking scheme allowed GrCachedLayer objects to be aggressively deleted prematurely leaving the reusing GrHoistedLayer objects with dangling pointers.
>
> This CL changes the plot locking system to add a pseudo-ref for each GrHoistedLayer.
>
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/
5c481666c9678f43e039ad605457be3854cf8de3
TBR=jvanverth@google.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
643673004
jvanverth [Thu, 9 Oct 2014 19:37:35 +0000 (12:37 -0700)]
Update expectations for distance field path rendering.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
641203002
mtklein [Thu, 9 Oct 2014 19:36:48 +0000 (12:36 -0700)]
Use BBH reserve hook to preallocate space for tiles.
Before getting too far into changing how SkTileGrid stores its tiles, I figured I'd
better see how much I can tweak out the existing format. Cleverly, that way
any improvements I make by changing the format will look that much less
impressive.
This CL looks like it will be a 5-15% win in time spent recording, with no effect
on playback.
This CL also shrinks the tiles to fit exactly when we're done inserting,
using newly added SkTDArray::shrinkToFit(). It's quite cheap to run (maybe
taking back 1-2% from those 5-15% wins), and means we'll lug around about 15%
fewer bytes in the tile grids. Note though this strategy temporarily uses up to
30% more memory while building the tile grid. For our largest SKPs, that's
maybe 75-100K extra.
BUG=skia:
Review URL: https://codereview.chromium.org/
639823005
robertphillips [Thu, 9 Oct 2014 19:30:10 +0000 (12:30 -0700)]
Fix bug in plot locking system
In the new MultiPictureDraw tests a single hoisted layer is reused multiple times. The previous plot locking scheme allowed GrCachedLayer objects to be aggressively deleted prematurely leaving the reusing GrHoistedLayer objects with dangling pointers.
This CL changes the plot locking system to add a pseudo-ref for each GrHoistedLayer.
NOTRY=true
Review URL: https://codereview.chromium.org/
640323002
robertphillips [Thu, 9 Oct 2014 19:29:24 +0000 (12:29 -0700)]
Refactor GrLayerHoister::FindLayersToHoist to prep for adding clip to cache key
NOTRY=true
Review URL: https://codereview.chromium.org/
640373002
egdaniel [Thu, 9 Oct 2014 19:07:20 +0000 (12:07 -0700)]
Fix restore in AVMR to have correct coverage count.
BUG=skia:
Review URL: https://codereview.chromium.org/
638173003
mtklein [Thu, 9 Oct 2014 18:49:30 +0000 (11:49 -0700)]
Small improvements to SkBitSet:
- implement O(1) operations in SkBitSet.h so they can inline away
- use calloc to allocate empty bitsets instead of malloc then clear
- little style things
BUG=skia:
Review URL: https://codereview.chromium.org/
640243003
jmuizelaar [Thu, 9 Oct 2014 18:43:02 +0000 (11:43 -0700)]
Improve SkARGB32_A8_BlitMask_SSE2
With clang this:
- movzbl -3(%rbx), %edx
- pxor %xmm5, %xmm5
- pinsrw $0, %edx, %xmm5
- pinsrw $1, %edx, %xmm5
- movzbl -2(%rbx), %edx
- pinsrw $2, %edx, %xmm5
- pinsrw $3, %edx, %xmm5
- movzbl -1(%rbx), %edx
- pinsrw $4, %edx, %xmm5
- pinsrw $5, %edx, %xmm5
- movzbl (%rbx), %edx
- pinsrw $6, %edx, %xmm5
- pinsrw $7, %edx, %xmm5
becomes:
+ movd (%rbx), %xmm4
+ punpcklbw %xmm9, %xmm4
+ punpcklwd %xmm4, %xmm4
And clang already does better codegen than msvc 2013 on this.
BUG=skia:
Review URL: https://codereview.chromium.org/
609823003
sugoi [Thu, 9 Oct 2014 18:35:09 +0000 (11:35 -0700)]
Attempt at fixing color cube bench
The original bench was hitting the cache since it was using the same color filter for all loops. By creating a new color filter within the loop, at least this part of it is solved. I'm not 100% sure this is the right way, but at least the numbers are a bit more reasonable and are affected by the output resolution.
BUG=skia:
Review URL: https://codereview.chromium.org/
648483002
rmistry [Thu, 9 Oct 2014 18:10:33 +0000 (11:10 -0700)]
Whitespace change to test CQ's trybots
(SkipBuildbotRuns)
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/
646663002
egdaniel [Thu, 9 Oct 2014 17:34:58 +0000 (10:34 -0700)]
Remove tab parameter from GrGLSLMulVarBy4f function
With pretty printing of shader code, there is no longer a need to explictily
have tabs in our code.
BUG=skia:
Review URL: https://codereview.chromium.org/
648463002
bsalomon [Thu, 9 Oct 2014 16:57:18 +0000 (09:57 -0700)]
Use presence of a content key as non-scratch indicator
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/
9eefe0851eeaa8ded05b4774ebcb38ed201d5dbf
Review URL: https://codereview.chromium.org/
639873002
tfarina [Thu, 9 Oct 2014 16:00:29 +0000 (09:00 -0700)]
Clarify what DM means in the README file.
It took me a while to figure out what this acronym meant. ;)
Googling for it lead me to gyp/dm.gyp.
BUG=None
TEST=None
R=mtklein@google.com
Review URL: https://codereview.chromium.org/
638083003
tfarina [Thu, 9 Oct 2014 15:56:55 +0000 (08:56 -0700)]
Remove references to out/Debug/tests executable.
This target does not exists anymore, it was folded into out/Debug/dm.
You can't do `ninja -C out/Debug tests` either anymore.
BUG=None
TEST=None
R=mtklein@google.com
Review URL: https://codereview.chromium.org/
638913005
sugoi [Thu, 9 Oct 2014 15:09:04 +0000 (08:09 -0700)]
Leak fixed
BUG=skia:
Review URL: https://codereview.chromium.org/
639423002
joshualitt [Thu, 9 Oct 2014 14:25:36 +0000 (07:25 -0700)]
gl programs rewrite
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
07a255310aca9f3e83bf741dc663a58818ad681c
Review URL: https://codereview.chromium.org/
628633003
caryclark [Thu, 9 Oct 2014 14:08:59 +0000 (07:08 -0700)]
rename command line flag to avoid conflict, use very verbose
TBR=
NOTRY=true
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
645573003
mtklein [Thu, 9 Oct 2014 13:49:47 +0000 (06:49 -0700)]
Add SkBBoxHierarchy::reserve() as an optional size hint.
I want to play around with how SkTileGrid stores its tiles. Having a
cap on the number of insert() calls can be pretty handy.
While I'm at it, I gave flush() a default empty impl. Like reserve(),
it's really an optional hook for subclasses.
BUG=skia:
Review URL: https://codereview.chromium.org/
639933003
caryclark [Thu, 9 Oct 2014 13:37:50 +0000 (06:37 -0700)]
try again to fix ios build
TBR=
NOTRY=true
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
638403002
caryclark [Thu, 9 Oct 2014 13:13:49 +0000 (06:13 -0700)]
fix ios build
NOTREECHECKS=true
NOTRY=true
TBR=
Review URL: https://codereview.chromium.org/
641063002
caryclark [Thu, 9 Oct 2014 12:36:03 +0000 (05:36 -0700)]
Draw more accurate thick-stroked Beziers (disabled)
Draw thick-stroked Beziers by computing the outset quadratic, measuring the error, and subdividing until the error is within a predetermined limit.
To try this CL out, change src/core/SkStroke.h:18 to
#define QUAD_STROKE_APPROXIMATION 1
or from the command line: CPPFLAGS="-D QUAD_STROKE_APPROXIMATION=1" ./gyp_skia
Here's what's in this CL:
bench/BezierBench.cpp : a microbench for examining where the time is going
gm/beziers.cpp : random Beziers with various thicknesses
gm/smallarc.cpp : a distillation of bug skia:2769
samplecode/SampleRotateCircles.cpp : controls added for error, limit, width
src/core/SkStroke.cpp : the new stroke implementation (disabled)
tests/StrokerTest.cpp : a stroke torture test that checks normal and extreme values
The new stroke algorithm has a tweakable parameter:
stroker.setError(1); (SkStrokeRec.cpp:112)
The stroke error is the allowable gap between the midpoint of the stroke quadratic and the center Bezier. As the projection from the quadratic approaches the endpoints, the error is decreased proportionally so that it is always inside the quadratic curve.
An overview of how this works:
- For a given T range of a Bezier, compute the perpendiculars and find the points outset and inset for some radius.
- Construct tangents for the quadratic stroke.
- If the tangent don't intersect between them (may happen with cubics), subdivide.
- If the quadratic stroke end points are close (again, may happen with cubics), draw a line between them.
- Compute the quadratic formed by the intersecting tangents.
- If the midpoint of the quadratic is close to the midpoint of the Bezier perpendicular, return the quadratic.
- If the end of the stroke at the Bezier midpoint doesn't intersect the quad's bounds, subdivide.
- Find where the Bezier midpoint ray intersects the quadratic.
- If the intersection is too close to the quad's endpoints, subdivide.
- If the error is large proportional to the intersection's distance to the quad's endpoints, subdivide.
BUG=skia:723,skia:2769
Review URL: https://codereview.chromium.org/
558163005
reed [Thu, 9 Oct 2014 12:30:10 +0000 (05:30 -0700)]
use real pdfdevice behind SkDocument
BUG=skia:
TBR=bungeman@google.com
Review URL: https://codereview.chromium.org/
645563002
sugoi [Thu, 9 Oct 2014 12:27:23 +0000 (05:27 -0700)]
Adding 3D lut color filter
Included in this cl is support for 3D textures.
BUG=skia:
Review URL: https://codereview.chromium.org/
580863004
kkinnunen [Thu, 9 Oct 2014 12:24:15 +0000 (05:24 -0700)]
Make the Sk GL context class an abstract base class
Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before,
it depended on ifdefs to implement the platform dependent polymorphism. Move
the logic to subclasses of the various platform implementations.
This a step to enable Skia embedders to compile dm and bench_pictures. The
concrete goal is to support running these test apps with Chromium command buffer.
With this change, Chromium can implement its own version of SkGLNativeContext
that uses command buffer, and host the implementation in its own repository.
Implements the above by renaming the SkGLContextHelper to SkGLContext and
removing the unneeded SkGLNativeContext. Also removes
SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused:
no use in Skia code, and no tests.
BUG=skia:2992
Committed: https://skia.googlesource.com/skia/+/
a90ed4e83897b45d6331ee4c54e1edd4054de9a8
Review URL: https://codereview.chromium.org/
630843002
robertphillips [Thu, 9 Oct 2014 11:59:19 +0000 (04:59 -0700)]
Update old tools to allow MultiPictureDraw rendering
I'll post a separate patch for nanobench and dm
Review URL: https://codereview.chromium.org/
639013003
borenet [Thu, 9 Oct 2014 04:24:38 +0000 (21:24 -0700)]
Update SKP version to 121
Automatic commit by the RecreateSKPs bot.
TBR=
Review URL: https://codereview.chromium.org/
644633002
tfarina [Thu, 9 Oct 2014 03:05:13 +0000 (20:05 -0700)]
webtry: Simply move sys/ directory into setup/.
That seems to make things more tied and that seems to be where we have
the same scripts/configs in the perf directory:
https://skia.googlesource.com/buildbot/+/master/perf/setup/sys/
That way we keep all files used/related to setting up a new webtry server in one place.
BUG=None
TEST=None
R=humper@google.com
Review URL: https://codereview.chromium.org/
644513003
bsalomon [Wed, 8 Oct 2014 19:36:54 +0000 (12:36 -0700)]
call derived ~ from GrIORef
TBR=mtklein@google.com
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
641813002
bsalomon [Wed, 8 Oct 2014 18:42:10 +0000 (11:42 -0700)]
Remove ~GrIORef since last remaining virtual and now all inline
TBR=reed@google.com
NOTRY=true
Review URL: https://codereview.chromium.org/
638003003
bsalomon [Wed, 8 Oct 2014 18:21:33 +0000 (11:21 -0700)]
Revert of Use presence of a content key as non-scratch indicator (patchset #5 id:80001 of https://codereview.chromium.org/
639873002/)
Reason for revert:
breaking nanobench on ubuntu
Original issue's description:
> Use presence of a content key as non-scratch indicator
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/
9eefe0851eeaa8ded05b4774ebcb38ed201d5dbf
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/
642493003
reed [Wed, 8 Oct 2014 18:10:51 +0000 (11:10 -0700)]
use SkDocument to capture pdfs from SampleApp 'e'
BUG=skia:
TBR=
NOTRY=True
Review URL: https://codereview.chromium.org/
634293004
bsalomon [Wed, 8 Oct 2014 17:48:15 +0000 (10:48 -0700)]
Use presence of a content key as non-scratch indicator
BUG=skia:2889
Review URL: https://codereview.chromium.org/
639873002
bsalomon [Wed, 8 Oct 2014 17:24:07 +0000 (10:24 -0700)]
Add SK_API to GrGpuResource
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
638963003
egdaniel [Wed, 8 Oct 2014 16:38:30 +0000 (09:38 -0700)]
Rebase Nexus 10 gm failure
TBR=robertphillips@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
638043002
Greg Humphreys [Wed, 8 Oct 2014 16:36:42 +0000 (12:36 -0400)]
pre-build the resources library for the fiddle jail
BUG=skia:
TBR=jcgregorio
Review URL: https://codereview.chromium.org/
637353003
Greg Humphreys [Wed, 8 Oct 2014 16:33:31 +0000 (12:33 -0400)]
repair the webtry setup process
The previous version of the script didn't properly update the code for the webtry
user, so only changes to skia would really be pulled, not changes to the actual
webtry server itself.
This version of the setup script is 100% automated and brings everything up to date.
It's also a little more verbose about what it's doing, so it's easier to debug.
BUG=skia:
R=tfarina@chromium.org
TBR=jcgregorio, mtklein, tfarina
Review URL: https://codereview.chromium.org/
636173003
Greg Humphreys [Wed, 8 Oct 2014 16:21:41 +0000 (12:21 -0400)]
allow fiddles to use the futex system call; fixes fonts finally
BUG=skia:
Review URL: https://codereview.chromium.org/
639013002
jvanverth [Wed, 8 Oct 2014 16:07:27 +0000 (09:07 -0700)]
Rearrange code in TextContexts to be more consistent and match style guide.
Review URL: https://codereview.chromium.org/
641613003
Greg Humphreys [Wed, 8 Oct 2014 16:04:20 +0000 (12:04 -0400)]
In the generated fiddle, set the portable fonts flag first.
BUG=skia:
TBR=jcgregorio
Review URL: https://codereview.chromium.org/
635373002