reed [Mon, 29 Jun 2015 16:00:20 +0000 (09:00 -0700)]
remove premature discard optimization
BUG=skia:
Review URL: https://codereview.chromium.org/
1212613005
mtklein [Mon, 29 Jun 2015 15:40:30 +0000 (08:40 -0700)]
SoftLight with SkPMFloat
SSE speeds up about 4.5x over existing integer SSE,
NEON speeds up about 3x over serial integer code.
We expect 1-2 bit component diffs in the usual GMs.
Still guarded by SK_SUPPORT_LEGACY_XFERMODES,
which I'll now try to lift in Chrome.
BUG=skia:
Review URL: https://codereview.chromium.org/
1221493002
reed [Mon, 29 Jun 2015 14:37:01 +0000 (07:37 -0700)]
add getTextureHandle to SkSurface
BUG=485243
Review URL: https://codereview.chromium.org/
1210303003
joshualitt [Mon, 29 Jun 2015 13:58:06 +0000 (06:58 -0700)]
Fix for valgrind use of uninitialized variable
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1217843002
skia.buildbots [Sun, 28 Jun 2015 07:19:12 +0000 (00:19 -0700)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=
NO_MERGE_BUILDS
Review URL: https://codereview.chromium.org/
1218683003
joshualitt [Fri, 26 Jun 2015 21:20:41 +0000 (14:20 -0700)]
Benchmark to test native perf of GL Instanced Ararys
BUG=skia:
Review URL: https://codereview.chromium.org/
1216663002
cdalton [Fri, 26 Jun 2015 20:32:53 +0000 (13:32 -0700)]
Don't suppress nanobench output table in verbose mode
Changes verbose mode to print both the table and the individual sample
values. No need to hold back information in verbose mode.
BUG=skia:
Review URL: https://codereview.chromium.org/
1208763003
joshualitt [Fri, 26 Jun 2015 19:46:36 +0000 (12:46 -0700)]
add drawArraysInstanced to caps
BUG=skia:
Review URL: https://codereview.chromium.org/
1202383006
robertphillips [Fri, 26 Jun 2015 19:17:59 +0000 (12:17 -0700)]
Make SkPaint::glyphsToUnichars use explicit SkSurfaceProps
BUG=skia:3984,skia:3934
Review URL: https://codereview.chromium.org/
1211413003
mtklein [Fri, 26 Jun 2015 18:45:03 +0000 (11:45 -0700)]
remove SkInstCnt
It's been outclassed by Valgrind and leak sanitizer,
and it seems to be causing problems for external folks building Skia.
I'm not sure why our own builds seem unaffected.
Latest thread:
https://groups.google.com/forum/#!topic/skia-discuss/oj9FsQwwSF0
BUG=skia:
Review URL: https://codereview.chromium.org/
1217573002
mtklein [Fri, 26 Jun 2015 18:43:30 +0000 (11:43 -0700)]
Kill mixedxfermodes
It's too random to be helpful.
BUG=skia:
Review URL: https://codereview.chromium.org/
1215703005
bsalomon [Fri, 26 Jun 2015 18:38:25 +0000 (11:38 -0700)]
Turn off buffer mapping in Chromium
BUG=chromium:496224
Review URL: https://codereview.chromium.org/
1211363006
mtklein [Fri, 26 Jun 2015 18:10:28 +0000 (11:10 -0700)]
Add extra braces for uintNNxMx4_t initializers.
These structs are always implemented as
struct uintNNxMx4_t {
uintNNxM val[4];
};
So, the first set of braces is for the struct, the second for val.
BUG=skia:
Review URL: https://codereview.chromium.org/
1221453002
djsollen [Fri, 26 Jun 2015 18:03:56 +0000 (11:03 -0700)]
Android scripts now notify gyp that your building with clang
Review URL: https://codereview.chromium.org/
1217443004
mtklein [Fri, 26 Jun 2015 17:46:31 +0000 (10:46 -0700)]
Color dodge and burn with SkPMFloat.
Both 25-35% faster with SSE.
With NEON, Burn measures as a ~10% regression, Dodge a huge 2.9x improvement.
The Burn regression is somewhat artificial: we're drawing random colored rects onto an opaque white dst, so we're heavily biased toward the (d==da) fast path in the serial code. In the vector code there's no short-circuiting and we always pay a fixed cost for ColorBurn regardless of src or dst content.
Dodge's fast paths, in contrast, only trigger when (s==sa) or (d==0), neither of which happens any more than randomly in our benchmark. I don't think (d==0) should happen at all. Similarly, the (s==0) Burn fast path is really only going to happen as often as SkRandom allows.
In practice, the existing Burn benchmark is hitting its fast path 100% of the time. So I actually feel really great that this only dings the benchmark by 10%.
Chrome's still guarded by SK_SUPPORT_LEGACY_XFERMODES, which I'll lift after finishing the last xfermode, SoftLight.
BUG=skia:
Review URL: https://codereview.chromium.org/
1214443002
reed [Fri, 26 Jun 2015 17:23:07 +0000 (10:23 -0700)]
Revert of Revert of remove SK_SUPPORT_LEGACY_PATHOP_ENUMS (patchset #1 id:1 of https://codereview.chromium.org/
1203983003/)
Reason for revert:
fixes have landed in android
Original issue's description:
> Revert of remove SK_SUPPORT_LEGACY_PATHOP_ENUMS (patchset #1 id:1 of https://codereview.chromium.org/
1200323005/)
>
> Reason for revert:
> Breaking the Android build.
>
> Original issue's description:
> > remove SK_SUPPORT_LEGACY_PATHOP_ENUMS
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/
8bcc7a00febd737f7e82513bd5e4a697526626de
>
> TBR=reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
ba9a4aa8550c982c480d03cb6ba2cabaf6209b41
TBR=scroggo@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1218523002
egdaniel [Fri, 26 Jun 2015 15:12:46 +0000 (08:12 -0700)]
Fix nanobench to reset gl/gr context after every config run.
BUG=skia:
Review URL: https://codereview.chromium.org/
1214703002
robertphillips [Fri, 26 Jun 2015 15:07:39 +0000 (08:07 -0700)]
Fix SkTileImageFilter clipping/cropRect interaction issue
BUG=499499
Review URL: https://codereview.chromium.org/
1210053003
reed [Fri, 26 Jun 2015 14:26:19 +0000 (07:26 -0700)]
add/fix copyrights
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1212393002
fmalita [Fri, 26 Jun 2015 14:18:24 +0000 (07:18 -0700)]
Revert of Revert of added stroking support to GrAALinearizingConvexPathRenderer (patchset #1 id:1 of https://codereview.chromium.org/
1212833002/)
Reason for revert:
Manual roll is in: https://codereview.chromium.org/
1212373002
Let's re-land this.
Original issue's description:
> Revert of added stroking support to GrAALinearizingConvexPathRenderer (patchset #6 id:100001 of https://codereview.chromium.org/
1180903006/)
>
> Reason for revert:
> speculative revert to try to fix DEPS roll (layouttests)
>
> Original issue's description:
> > added stroking support to GrAALinearizingConvexPathRenderer
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/
2436f191e6602953b32a51cf50f2d7a4e2af90fd
>
> TBR=bsalomon@google.com,robertphillips@google.com,ethannicholas@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
9730f4a663534009d216c2f6d834bd534dd44a3d
TBR=bsalomon@google.com,robertphillips@google.com,ethannicholas@google.com,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1209003004
reed [Fri, 26 Jun 2015 12:06:43 +0000 (05:06 -0700)]
Revert of added stroking support to GrAALinearizingConvexPathRenderer (patchset #6 id:100001 of https://codereview.chromium.org/
1180903006/)
Reason for revert:
speculative revert to try to fix DEPS roll (layouttests)
Original issue's description:
> added stroking support to GrAALinearizingConvexPathRenderer
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
2436f191e6602953b32a51cf50f2d7a4e2af90fd
TBR=bsalomon@google.com,robertphillips@google.com,ethannicholas@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1212833002
reed [Fri, 26 Jun 2015 04:29:25 +0000 (21:29 -0700)]
Revert of Revert of Return GrGLContext from GrTestTarget (patchset #1 id:1 of https://codereview.chromium.org/
1211123004/)
Reason for revert:
un-referting, did not help DEPS roll
Original issue's description:
> Revert of Return GrGLContext from GrTestTarget (patchset #3 id:40001 of https://codereview.chromium.org/
1207393002/)
>
> Reason for revert:
> speculative revert to unblock DEPS roll (layout-tests)
>
> Original issue's description:
> > Return GrGLContext from GrTestTarget
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/
b6d93ea428ca5d13641c35faca7d0380980a3a17
>
> TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
1852ec2b46a2a0efbb3550ff4d8b640f56a810e9
TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1215593002
cdalton [Fri, 26 Jun 2015 02:17:08 +0000 (19:17 -0700)]
Add samplingTime mode to nanobench
Adds a nanobench mode that takes samples for a fixed amount of time,
rather than taking a fixed amount of samples.
BUG=skia:
Review URL: https://codereview.chromium.org/
1204153002
reed [Fri, 26 Jun 2015 01:59:32 +0000 (18:59 -0700)]
Revert of Return GrGLContext from GrTestTarget (patchset #3 id:40001 of https://codereview.chromium.org/
1207393002/)
Reason for revert:
speculative revert to unblock DEPS roll (layout-tests)
Original issue's description:
> Return GrGLContext from GrTestTarget
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
b6d93ea428ca5d13641c35faca7d0380980a3a17
TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1211123004
reed [Thu, 25 Jun 2015 23:25:25 +0000 (16:25 -0700)]
implement drawAtlas natively on gpu-device
BUG=skia:
Review URL: https://codereview.chromium.org/
1216433002
joshualitt [Thu, 25 Jun 2015 22:02:22 +0000 (15:02 -0700)]
Return GrGLContext from GrTestTarget
BUG=skia:
Review URL: https://codereview.chromium.org/
1207393002
ethannicholas [Thu, 25 Jun 2015 21:42:34 +0000 (14:42 -0700)]
added stroking support to GrAALinearizingConvexPathRenderer
BUG=skia:
Review URL: https://codereview.chromium.org/
1180903006
reed [Thu, 25 Jun 2015 21:26:11 +0000 (14:26 -0700)]
fix up virtual / override stuff
BUG=skia:
Review URL: https://codereview.chromium.org/
1210283002
reed [Thu, 25 Jun 2015 19:32:03 +0000 (12:32 -0700)]
add drawImageNine
this also exposes nine-patch drawing directly to devices, and creates a shared iterator for unrolling a nine-patch into single rect->rect draws.
BUG=skia:
Review URL: https://codereview.chromium.org/
1211583003
cdalton [Thu, 25 Jun 2015 17:51:56 +0000 (10:51 -0700)]
Add loopSKP flag to nanobench
Adds a loopSKP flag that forces SKPBenches to draw with only 1 loop.
BUG=skia:
Review URL: https://codereview.chromium.org/
1203193002
mtklein [Thu, 25 Jun 2015 17:26:46 +0000 (10:26 -0700)]
What did we learn today? 255 != 256
vcvt_n_f32_u32 and _u32_f32 work in power-of-2 fixed point, so (...,8)
meant 'please multiply or divide by 256'. We need to use 255. :(
BUG=skia:
Review URL: https://codereview.chromium.org/
1204363002
mtklein [Thu, 25 Jun 2015 15:56:28 +0000 (08:56 -0700)]
Convert SkPMFloat to [0,1] range and prune its API.
Now that Sk4px exists, there's a lot less sense in eeking out every
cycle of speed from SkPMFloat: if we need to go _really_ fast, we
should use Sk4px. SkPMFloat's going to be used for things that are
already slow: large-range intermediates, divides, sqrts, etc.
A [0,1] range is easier to work with, and can even be faster if we
eliminate enough *255 and *1/255 steps. This is particularly true
on ARM, where NEON can do the *255 and /255 steps for us while
converting float<->int.
We have lots of experimental SkPMFloat <-> SkPMColor APIs that
I'm now removing. Of the existing APIs, roundClamp() is the sanest,
so I've kept only that, now called round(). The 4-at-a-time APIs
never panned out, so they're gone.
There will be small diffs on:
colormatrix coloremoji colorfilterimagefilter fadefilter imagefilters_xfermodes imagefilterscropexpand imagefiltersgraph tileimagefilter
BUG=skia:
Review URL: https://codereview.chromium.org/
1201343004
fmalita [Thu, 25 Jun 2015 15:42:24 +0000 (08:42 -0700)]
Revert of Cleanup legacy NVPR-related definitions (patchset #3 id:40001 of https://codereview.chromium.org/
1177243004/)
Reason for revert:
Broke the GPU SAN bots: https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/779/steps/dm/logs/stdio
Original issue's description:
> Cleanup legacy NVPR-related definitions
>
> Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
> version 1.3 (PathFragmentInputGen) was left working. Remove
> backwards-compatibility code that was left behind.
>
> Remove some NVPR API function typedefs that were left from initial
> commits.
>
> Remove PathCoords function pointer from GrGLInterface, it has
> never been called and causes problems in the future, since it will
> not be implemented in the Chromium pseudo extension.
>
> Committed: https://skia.googlesource.com/skia/+/
fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e
TBR=joshualitt@google.com,cdalton@nvidia.com,bsalomon@google.com,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1206333003
borenet [Thu, 25 Jun 2015 15:05:19 +0000 (08:05 -0700)]
Fix link error when running `make tools` with skia_shared_lib=1
I'm getting this error, which is fixed by this change:
[75/76] LINK skpdiff
FAILED: c++ -m64 -pie -Wl,-rpath=\$ORIGIN/lib/ -Wl,-rpath-link=lib/ -o skpdiff -Wl,--start-group obj/tools/skpdiff/skpdiff.skpdiff_main.o obj/tools/skpdiff/skpdiff.SkDiffContext.o obj/tools/skpdiff/skpdiff.SkImageDiffer.o obj/tools/skpdiff/skpdiff.SkPMetric.o obj/tools/skpdiff/skpdiff.skpdiff_util.o obj/tools/skpdiff/skpdiff.SkDifferentPixelsMetric_cpu.o obj/gyp/libflags.a obj/gyp/libpicture_utils.a -Wl,--end-group lib/libskia.so -lrt -lz
/usr/bin/ld: obj/tools/skpdiff/skpdiff.SkDiffContext.o: undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
BUG=skia:
Review URL: https://codereview.chromium.org/
1206333002
borenet [Thu, 25 Jun 2015 14:47:40 +0000 (07:47 -0700)]
Add lua scripts for generating n-grams from SKPs
BUG=skia:3840
Review URL: https://codereview.chromium.org/
1204283002
kkinnunen [Thu, 25 Jun 2015 09:06:56 +0000 (02:06 -0700)]
Cleanup legacy NVPR-related definitions
Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
version 1.3 (PathFragmentInputGen) was left working. Remove
backwards-compatibility code that was left behind.
Remove some NVPR API function typedefs that were left from initial
commits.
Remove PathCoords function pointer from GrGLInterface, it has
never been called and causes problems in the future, since it will
not be implemented in the Chromium pseudo extension.
Review URL: https://codereview.chromium.org/
1177243004
mtklein [Wed, 24 Jun 2015 22:18:39 +0000 (15:18 -0700)]
Implement four more xfermodes with Sk4px.
HardLight, Overlay, Darken, and Lighten are all
~2x faster with SSE, ~25% faster with NEON.
This covers all previously-implemented NEON xfermodes.
3 previous SSE xfermodes remain. Those need division
and sqrt, so I'm planning on using SkPMFloat for them.
It'll help the readability and NEON speed if I move that
into [0,1] space first.
The main new concept here is c.thenElse(t,e), which behaves like
(c ? t : e) except, of course, both t and e are evaluated. This allows
us to emulate conditionals with vectors.
This also removes the concept of SkNb. Instead of a standalone bool
vector, each SkNi or SkNf will just return their own types for
comparisons. Turns out to be a lot more manageable this way.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
b9d4163bebab0f5639f9c5928bb5fc15f472dddc
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Arm64-Debug-Android-Trybot
Review URL: https://codereview.chromium.org/
1196713004
mtklein [Wed, 24 Jun 2015 22:14:48 +0000 (15:14 -0700)]
Revert of Switch SkJpegCode to libjpeg-turbo (patchset #11 id:540001 of https://codereview.chromium.org/
1180983002/)
Reason for revert:
https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-MipsDSP2-Debug-Android/builds/1136/steps/build%20most/logs/stdio
Original issue's description:
> Add libjpeg-turbo library (depends on yasm)
> Mangle external function names to avoid conflict with libjpeg
> Take advantage of direct color conversion (RGBA, BGRA, 565)
> Prepare to use jpeg_skip_scanlines (when it is upstreamed)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
b60c3f8291529303299262dba19b1a896060bd2d
TBR=scroggo@google.com,djsollen@google.com,emmaleer@google.com,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1199253006
msarett [Wed, 24 Jun 2015 22:10:25 +0000 (15:10 -0700)]
Add libjpeg-turbo library (depends on yasm)
Mangle external function names to avoid conflict with libjpeg
Take advantage of direct color conversion (RGBA, BGRA, 565)
Prepare to use jpeg_skip_scanlines (when it is upstreamed)
BUG=skia:
Review URL: https://codereview.chromium.org/
1180983002
bsalomon [Wed, 24 Jun 2015 22:04:13 +0000 (15:04 -0700)]
Revert of remove workaround for dx9 angle slow rgba pixel ops (patchset #1 id:1 of https://codereview.chromium.org/
1207003002/)
Reason for revert:
users are still on dx9 angle :(
Original issue's description:
> remove workaround for dx9 angle slow rgba pixel ops
>
> TBR=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/
1e1adc33ba1acb9a2ad41c0a5a9b6166ee9d7a2a
TBR=robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1205183002
mtklein [Wed, 24 Jun 2015 21:52:24 +0000 (14:52 -0700)]
Add a 64-bit ARM builder to the CQ.
It's possible this rarely breaks, but I do write ARMv8 code frequently
enough that it'll help prevent broken trees.
BUG=skia:
Review URL: https://codereview.chromium.org/
1209763003
mtklein [Wed, 24 Jun 2015 21:30:43 +0000 (14:30 -0700)]
Revert of Implement four more xfermodes with Sk4px. (patchset #16 id:290001 of https://codereview.chromium.org/
1196713004/)
Reason for revert:
64-bit ARM build failures.
Original issue's description:
> Implement four more xfermodes with Sk4px.
>
> HardLight, Overlay, Darken, and Lighten are all
> ~2x faster with SSE, ~25% faster with NEON.
>
> This covers all previously-implemented NEON xfermodes.
> 3 previous SSE xfermodes remain. Those need division
> and sqrt, so I'm planning on using SkPMFloat for them.
> It'll help the readability and NEON speed if I move that
> into [0,1] space first.
>
> The main new concept here is c.thenElse(t,e), which behaves like
> (c ? t : e) except, of course, both t and e are evaluated. This allows
> us to emulate conditionals with vectors.
>
> This also removes the concept of SkNb. Instead of a standalone bool
> vector, each SkNi or SkNf will just return their own types for
> comparisons. Turns out to be a lot more manageable this way.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
b9d4163bebab0f5639f9c5928bb5fc15f472dddc
TBR=reed@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1205703008
mtklein [Wed, 24 Jun 2015 21:27:35 +0000 (14:27 -0700)]
Implement four more xfermodes with Sk4px.
HardLight, Overlay, Darken, and Lighten are all
~2x faster with SSE, ~25% faster with NEON.
This covers all previously-implemented NEON xfermodes.
3 previous SSE xfermodes remain. Those need division
and sqrt, so I'm planning on using SkPMFloat for them.
It'll help the readability and NEON speed if I move that
into [0,1] space first.
The main new concept here is c.thenElse(t,e), which behaves like
(c ? t : e) except, of course, both t and e are evaluated. This allows
us to emulate conditionals with vectors.
This also removes the concept of SkNb. Instead of a standalone bool
vector, each SkNi or SkNf will just return their own types for
comparisons. Turns out to be a lot more manageable this way.
BUG=skia:
Review URL: https://codereview.chromium.org/
1196713004
bsalomon [Wed, 24 Jun 2015 20:22:50 +0000 (13:22 -0700)]
remove workaround for dx9 angle slow rgba pixel ops
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/
1207003002
bungeman [Wed, 24 Jun 2015 20:08:51 +0000 (13:08 -0700)]
Clarify iOS flush-to-zero status.
Modern processors support flush-to-zero and denormalized-are-zero
for floating point operations (with ARM NEON unable to disable them).
However, iOS on ARM is the only current system which defaults
processes to using both all the time. However, this is only iOS on
ARM, iOS on x86 (the simulator) does not. Correctly defining this
allows the math tests to run error free in the simulator.
Review URL: https://codereview.chromium.org/
1203533003
herb [Wed, 24 Jun 2015 20:06:21 +0000 (13:06 -0700)]
Cleanup: Comment and ordering changes.
This should be a whitespace only change.
BUG=skia:
Review URL: https://codereview.chromium.org/
1194423004
jvanverth [Wed, 24 Jun 2015 18:07:07 +0000 (11:07 -0700)]
Add default for GrGLSLCaps::fGLSLGeneration
Review URL: https://codereview.chromium.org/
1203153002
reed [Wed, 24 Jun 2015 17:29:17 +0000 (10:29 -0700)]
add SkCanvas::drawAtlas
BUG=skia:
Review URL: https://codereview.chromium.org/
1181913003
robertphillips [Wed, 24 Jun 2015 17:09:57 +0000 (10:09 -0700)]
Fix debugger compilation
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/
1205933002
egdaniel [Wed, 24 Jun 2015 15:14:49 +0000 (08:14 -0700)]
Alter shader code for soft light to avoid driver bug.
On the n5 there seems to be an issue where negating a variable at the start
of an equation doesn't work. Moving the negated variable to a subtract at the
end works around the issue (as would multiplying by -1.0).
The main bug was caused by the -DaCub in the else if block, but I also
adjusted the else block to make sure the same issue doesn't appear there
at some later date.
BUG=chromium:502434
Review URL: https://codereview.chromium.org/
1210573002
scroggo [Wed, 24 Jun 2015 15:05:52 +0000 (08:05 -0700)]
Revert of remove SK_SUPPORT_LEGACY_PATHOP_ENUMS (patchset #1 id:1 of https://codereview.chromium.org/
1200323005/)
Reason for revert:
Breaking the Android build.
Original issue's description:
> remove SK_SUPPORT_LEGACY_PATHOP_ENUMS
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/
8bcc7a00febd737f7e82513bd5e4a697526626de
TBR=reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1203983003
jvanverth [Wed, 24 Jun 2015 13:59:57 +0000 (06:59 -0700)]
Move GLSL-specific routines/classes to separate glsl directory
The purpose is to begin separating our GLSL-specific code from
our GL-specific code, so it can be used with the GL45 platform
Review URL: https://codereview.chromium.org/
1202293002
robertphillips [Wed, 24 Jun 2015 13:54:10 +0000 (06:54 -0700)]
Refactor GrBufferAllocPools to use resource cache
Committed: https://skia.googlesource.com/skia/+/
e935f1a0e2351373c33600b8388492ce1218014a
Review URL: https://codereview.chromium.org/
1139753002
reed [Wed, 24 Jun 2015 05:05:19 +0000 (22:05 -0700)]
remove SK_SUPPORT_LEGACY_PATHOP_ENUMS
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1200323005
reed [Wed, 24 Jun 2015 04:47:30 +0000 (21:47 -0700)]
remove SK_SUPPORT_LEGACY_FILTERLEVEL_ENUM
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1205803002
reed [Wed, 24 Jun 2015 04:31:08 +0000 (21:31 -0700)]
remove (legacy) NewFromData
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1199413003
bsalomon [Tue, 23 Jun 2015 21:38:48 +0000 (14:38 -0700)]
Make SkGpuDevice know its alpha type
Make SkImage_Gpu snapshots opaque if surface is opaque.
BUG=skia:3965
Review URL: https://codereview.chromium.org/
1205643002
reed [Tue, 23 Jun 2015 21:34:58 +0000 (14:34 -0700)]
add more tests
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1201333002
bsalomon [Tue, 23 Jun 2015 21:03:47 +0000 (14:03 -0700)]
Make SkNSView's window accept mouseMoved events
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
1206563003
bungeman [Tue, 23 Jun 2015 20:25:46 +0000 (13:25 -0700)]
Rename SkFontConfigParser_android SkFontMgr_android_parser.
There are a number of files with 'FontConfig' in their names which
just have to do with font configuration, but nothing to do with
the FontConfig project or even with each other. This clarifies
that these files deal with parsing for the Android font manager.
Review URL: https://codereview.chromium.org/
1200103008
cdalton [Tue, 23 Jun 2015 20:23:44 +0000 (13:23 -0700)]
Implement SkGLContext swapBuffers with fence syncs
Improves the GPU measuring accuracy of nanobench by using fence syncs.
Fence syncs are very widely supported and available on almost every
platform.
NO_MERGE_BUILDS
BUG=skia:
Review URL: https://codereview.chromium.org/
1194783003
robertphillips [Tue, 23 Jun 2015 19:36:12 +0000 (12:36 -0700)]
Revert of Refactor GrBufferAllocPools to use resource cache (patchset #15 id:280001 of https://codereview.chromium.org/
1139753002/)
Reason for revert:
Will reland after Chromium branch
Original issue's description:
> Refactor GrBufferAllocPools to use resource cache
>
> Committed: https://skia.googlesource.com/skia/+/
e935f1a0e2351373c33600b8388492ce1218014a
TBR=bsalomon@google.com,joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1204773003
reed [Tue, 23 Jun 2015 19:10:27 +0000 (12:10 -0700)]
remove SK_SUPPORT_LEGACY_OPTIONLESS_GET_PIXELS
BUG=skia:
Review URL: https://codereview.chromium.org/
1201233002
halcanary [Tue, 23 Jun 2015 17:59:12 +0000 (10:59 -0700)]
Revert of SkPDF: Annotations are clipped by canvas clip stack. (patchset #2 id:20001 of https://codereview.chromium.org/
1148263005/)
Reason for revert:
http://crbug.com/503541
Original issue's description:
> SkPDF: Annotations are clipped by canvas clip stack.
>
> Also, remove some SkPDFDevice functions.
>
> Will fix this GM: http://crrev.com/
1159273003
>
> BUG=skia:3872
>
> Committed: https://skia.googlesource.com/skia/+/
eee0e4e9d343d8b6c5ae2da7f17196f00d8859bc
TBR=tomhudson@google.com,reed@google.com
BUG=skia:3872
BUG=503541
Review URL: https://codereview.chromium.org/
1200193003
robertphillips [Tue, 23 Jun 2015 16:28:52 +0000 (09:28 -0700)]
Fix memory leak in simple-offsetimagefilter
Review URL: https://codereview.chromium.org/
1203613004
reed [Tue, 23 Jun 2015 15:29:20 +0000 (08:29 -0700)]
more tests for offsetimagefilter
BUG=skia:
Review URL: https://codereview.chromium.org/
1199933011
robertphillips [Tue, 23 Jun 2015 15:23:08 +0000 (08:23 -0700)]
Refactor GrBufferAllocPools to use resource cache
Review URL: https://codereview.chromium.org/
1139753002
kkinnunen [Tue, 23 Jun 2015 14:27:40 +0000 (07:27 -0700)]
Stop using the NVPR glyph loading functionality
Remove the NVPR glyph loading functionality. A bit risky feature.
Review URL: https://codereview.chromium.org/
1176113008
bungeman [Tue, 23 Jun 2015 14:18:21 +0000 (07:18 -0700)]
Rename SkFontHost_none.cpp to SkFontMgr_empty_factory.
When the current function was added in
https://skia.googlesource.com/skia/+/
070da5edcb1c6e9b9507f06a5e2c270e1c1fd796%5E%21/#F3
the SkFontHost was still alive and well. Now that this file no
longer contains any SkFontHost related code, rename the file for
clarity and uniformity.
Review URL: https://codereview.chromium.org/
1196313003
joshualitt [Tue, 23 Jun 2015 14:10:59 +0000 (07:10 -0700)]
add autotuning to visualbench
BUG=skia:
Review URL: https://codereview.chromium.org/
1201003002
robertphillips [Tue, 23 Jun 2015 13:54:56 +0000 (06:54 -0700)]
Fix memory leak in SkPictureRecord
Review URL: https://codereview.chromium.org/
1197283007
tomhudson [Tue, 23 Jun 2015 13:31:32 +0000 (06:31 -0700)]
Fix indirect use of defined() directive
BUG=432391
R=bsalomon,bungeman1
Review URL: https://codereview.chromium.org/
876933004
robertphillips [Tue, 23 Jun 2015 13:26:08 +0000 (06:26 -0700)]
Propagate SkSurfaceProps to more call sites
Start moving to a world where everyone provides surface properties.
Most notably this exposes a portion of SkSurfaceProps to the C API.
BUG=skia:3934
Review URL: https://codereview.chromium.org/
1195003003
borenet [Tue, 23 Jun 2015 13:05:01 +0000 (06:05 -0700)]
Tweak SkiaLab docs
BUG=skia:3850
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1203443003
Review URL: https://codereview.chromium.org/
1203443003
reed [Tue, 23 Jun 2015 13:01:10 +0000 (06:01 -0700)]
add simple test for offsetimagefilter
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1204723002
reed [Tue, 23 Jun 2015 00:03:10 +0000 (17:03 -0700)]
add break statement -- lost during rewrite earlier
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1193333004
reed [Mon, 22 Jun 2015 19:48:26 +0000 (12:48 -0700)]
change old picture serialization to really handle images
BUG=skia:3965
Review URL: https://codereview.chromium.org/
1199473002
joshualitt [Mon, 22 Jun 2015 19:31:31 +0000 (12:31 -0700)]
fix for calling bindFragDataLocation on OpenGL 2.1
BUG=skia:3966
Review URL: https://codereview.chromium.org/
1201623003
robertphillips [Mon, 22 Jun 2015 19:06:08 +0000 (12:06 -0700)]
Clean up usage of SkSurfaceProps
This CL continues cleaning up Skia's usage of SkSurfaceProps. It:
Removes the duplicate SkSurfaceProps object from SkImageFilter::Proxy.
Removes a dispreferred ctor from SkCanvas
Removes the initForRootLayer entry point from SkDevice (since the root device and the canvas should always have the same pixel geometry now).
Review URL: https://codereview.chromium.org/
1201983006
mtklein [Mon, 22 Jun 2015 18:00:47 +0000 (11:00 -0700)]
Use vmulq_n_u32(..., 0x01010101) to distribute alphas.
This seems to make alphas() faster and Load[24]Alphas() no slower.
The change is particularly noticeable on xfermodes that call alphas()
twice (on src and dst), with a 10-12% speedup.
Xfermode_Difference_aa 29ms -> 28.4ms 0.98x
Xfermode_DstATop_aa 27.2ms -> 26.7ms 0.98x
Xfermode_Xor_aa 27.2ms -> 26.5ms 0.98x
Xfermode_DstOver 23.6ms -> 22.9ms 0.97x
Xfermode_DstOver_aa 27.8ms -> 26.8ms 0.96x
Xfermode_DstOut 22.6ms -> 21.7ms 0.96x
Xfermode_Multiply_aa 30ms -> 28.5ms 0.95x
Xfermode_DstOut_aa 26.1ms -> 24.8ms 0.95x
Xfermode_DstIn_aa 25.4ms -> 24.1ms 0.95x
Xfermode_DstATop 28.7ms -> 26ms 0.9x
Xfermode_Multiply 35.5ms -> 31.3ms 0.88x
Xfermode_Difference 31.8ms -> 27.7ms 0.87x
Xfermode_Xor 30.1ms -> 26.1ms 0.87x
BUG=skia:
Review URL: https://codereview.chromium.org/
1203513002
joshualitt [Mon, 22 Jun 2015 17:44:46 +0000 (10:44 -0700)]
fix spurious init on VisualBench startup
BUG=skia:
Review URL: https://codereview.chromium.org/
1202023002
emmaleer [Mon, 22 Jun 2015 17:40:21 +0000 (10:40 -0700)]
Implemented onGetScanlines and onSkipScanlines for interlaced pngs
Modified DM tests to be faster when decoding interlaced pngs
BUG=skia:
Review URL: https://codereview.chromium.org/
1194703002
mtklein [Mon, 22 Jun 2015 17:39:38 +0000 (10:39 -0700)]
Update some Sk4px APIs.
Mostly this is about ergonomics, making it easier to do good operations and hard / impossible to do bad ones.
- SkAlpha / SkPMColor constructors become static factories.
- Remove div255TruncNarrow(), rename div255RoundNarrow() to div255(). In practice we always want to round, and the narrowing to 8-bit is contextually obvious.
- Rename fastMulDiv255Round() approxMulDiv255() to stress it's approximate-ness over its speed. Drop Round for the same reason as above... we should always round.
- Add operator overloads so we don't have to keep throwing in seemingly-random Sk4px() or Sk4px::Wide() casts.
- use operator*() for 8-bit x 8-bit -> 16-bit math. It's always what we want, and there's generally no 8x8->8 alternative.
- MapFoo can take a const Func&. Don't think it makes a big difference, but nice to do.
BUG=skia:
Review URL: https://codereview.chromium.org/
1202013002
robertphillips [Mon, 22 Jun 2015 16:46:59 +0000 (09:46 -0700)]
Begin kLegacyFontHost_InitType cleanup
This CL starts the process of pushing kLegacyFontHost_InitType-type SkSurfaceProps up the call stack and out of Skia. It:
Gets rid of the default SkBaseDevice ctor. This means everyone has to always hand an explicit SkSurfaceProps to it.
It makes public the SkBitmapDevice creation methods that require SkSurfaceProps.
Removes (in Skia's code base) all SkBitmapDevice ctor calls w/o SkSurfaceProps.
Makes the "recording" canvases (e.g., pdf, svg, xps) explicitly not use kLegacyFontHost_InitType.
Replicates the creating canvas/device's flags on saveLayer devices
BUG=skia:3934
Review URL: https://codereview.chromium.org/
1204433002
reed [Mon, 22 Jun 2015 16:10:14 +0000 (09:10 -0700)]
clean offsetimagefilter gm
BUG=skia:
TBR=robertphilips
Review URL: https://codereview.chromium.org/
1203473002
jvanverth [Mon, 22 Jun 2015 15:08:09 +0000 (08:08 -0700)]
Change large glyph check back to > threshold.
Using >= misses some Chromium test cases that are still
being rendered as paths.
BUG=chromium:467569
Review URL: https://codereview.chromium.org/
1202433002
jvanverth [Mon, 22 Jun 2015 13:46:56 +0000 (06:46 -0700)]
Remove distance field flag from SkPaint
Review URL: https://codereview.chromium.org/
1192413005
joshualitt [Mon, 22 Jun 2015 12:39:32 +0000 (05:39 -0700)]
Fixup android launch script to launch VisualBench as well as SampleApp
BUG=skia:
Review URL: https://codereview.chromium.org/
1185473003
kkinnunen [Mon, 22 Jun 2015 05:55:12 +0000 (22:55 -0700)]
Make GrGLProgramDataManager not refcounted
Make GrGLProgramDataManager not refcounted, refcounting is not used for
the instances.
Review URL: https://codereview.chromium.org/
1195573002
skia.buildbots [Sun, 21 Jun 2015 07:17:25 +0000 (00:17 -0700)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=
NO_MERGE_BUILDS
Review URL: https://codereview.chromium.org/
1194233002
reed [Sat, 20 Jun 2015 15:45:59 +0000 (08:45 -0700)]
remove SK_SUPPORT_LEGACY_OPTIONLESS_GET_PIXELS (now in SkUserConfig.h)
BUG=skia:
TBR=
NOTRY=True
Review URL: https://codereview.chromium.org/
1200623003
robertphillips [Fri, 19 Jun 2015 21:14:54 +0000 (14:14 -0700)]
Rename all things "leaky" in SkDevice
Review URL: https://codereview.chromium.org/
1198603002
joshualitt [Fri, 19 Jun 2015 19:46:33 +0000 (12:46 -0700)]
Fix for assert in VisualBench
BUG=skia:
Review URL: https://codereview.chromium.org/
1198433004
robertphillips [Fri, 19 Jun 2015 18:49:52 +0000 (11:49 -0700)]
remove SkDeviceProperties
There is a lot more clean up to do here but this is probably a big enough bite.
Review URL: https://codereview.chromium.org/
1196683003
jvanverth [Fri, 19 Jun 2015 18:06:28 +0000 (11:06 -0700)]
Switch to glyphs as paths at a higher point size on Android
The regression occurred when we dropped the maximum DF size from 192
to 162, which meant that any glyph > 324 ended up being rendered as paths
rather than the previous > 384. This pushes the threshold for
rendering paths up to 384. Quality looks fine on high-res devices
which is why this is restricted to Android-only (low-res Android devices
should only rarely have text that large).
BUG=chromium:467569
Committed: https://skia.googlesource.com/skia/+/
932d413e69845989fadaecf5bcb8686ec8c05032
Review URL: https://codereview.chromium.org/
1183053005
egdaniel [Fri, 19 Jun 2015 17:52:25 +0000 (10:52 -0700)]
Move rect_memcopy from helper to global static.
BUG=skia:
Review URL: https://codereview.chromium.org/
1197713003
msarett [Fri, 19 Jun 2015 14:44:05 +0000 (07:44 -0700)]
Do not fail on images that are too small to subset decode.
Specifically (0x0) images being produced by webp scaled
decodes are causing problems.
BUG=skia:
Review URL: https://codereview.chromium.org/
1192373003
msarett [Fri, 19 Jun 2015 14:34:30 +0000 (07:34 -0700)]
Prevent webp from producing 0 dimensional images
BUG=skia:
Review URL: https://codereview.chromium.org/
1196643002
joshualitt [Fri, 19 Jun 2015 14:28:15 +0000 (07:28 -0700)]
Revert of Disable failing GPU tests on Nexus 6. (patchset #1 id:1 of https://codereview.chromium.org/
1185753002/)
Reason for revert:
this should hopefully be fixed now.
Original issue's description:
> Disable failing GPU tests on Nexus 6.
>
> BUG=skia:3942
>
> Committed: https://skia.googlesource.com/skia/+/
8ed08e54f4868d3ef88225bf873ce678e7716bd9
TBR=bsalomon@google.com,djsollen@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3942
Review URL: https://codereview.chromium.org/
1196653002
robertphillips [Fri, 19 Jun 2015 13:40:02 +0000 (06:40 -0700)]
Fix precision error in https://codereview.chromium.org/
1188433011/
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
1192853002