borenet [Thu, 23 Apr 2015 19:44:31 +0000 (12:44 -0700)]
Blacklist desk_unicodetable SKP on Nexus Player
It's getting us killed for OOM.
BUG=skia:3240
Review URL: https://codereview.chromium.org/
1104693002
bsalomon [Thu, 23 Apr 2015 19:25:51 +0000 (12:25 -0700)]
Remove validation of blend barrier until Chrome can provide this function
BUG=chromium:480534
TBR=egdaniel@google.com
Review URL: https://codereview.chromium.org/
1101143002
reed [Thu, 23 Apr 2015 17:30:27 +0000 (10:30 -0700)]
add GM to show bad banding in raster for radial gradients
BUG=427508
TBR=
Review URL: https://codereview.chromium.org/
1061753009
cdalton [Thu, 23 Apr 2015 16:40:23 +0000 (09:40 -0700)]
Add onGetBlendInfo to GrXferProcessor
Adds an onGetBlendInfo method for GrXferProcessor subclasses to
override instead of overriding getBlendInfo directly. This gives the
base class a chance to initialize the struct with default values
before passing it on. As the BlendInfo struct grows, this will keep
things simple and less error prone.
BUG=skia:
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1049143002
caryclark [Thu, 23 Apr 2015 16:13:37 +0000 (09:13 -0700)]
working on initial winding for cubics
Path ops works well for all tests except for cubics.
Isolate failures caused by cubics, and do a better job of computing
the initial winding for cubics.
TBR=reed@google.com
BUG=skia:3588
Review URL: https://codereview.chromium.org/
1096923003
msarett [Thu, 23 Apr 2015 15:53:39 +0000 (08:53 -0700)]
Ensure that we create a NULL codec for images with zero dimensions
BUG=skia:3534
BUG=skia:3257
Review URL: https://codereview.chromium.org/
1091043003
joshualitt [Thu, 23 Apr 2015 15:03:35 +0000 (08:03 -0700)]
small fix for perf regression in GrAtlasTextContext.cpp
BUG=skia:
Review URL: https://codereview.chromium.org/
1080673005
mtklein [Thu, 23 Apr 2015 03:30:12 +0000 (20:30 -0700)]
use acquire/release in SkEventTracer.cpp
BUG=chromium:437044
Review URL: https://codereview.chromium.org/
1091283006
joshualitt [Thu, 23 Apr 2015 01:23:15 +0000 (18:23 -0700)]
Remove unnecessary viewmatrix compare in GrAtlasTextContext
BUG=skia:
Review URL: https://codereview.chromium.org/
1088903009
reed [Thu, 23 Apr 2015 00:38:23 +0000 (17:38 -0700)]
new GM to test clipping cubics
BUG=skia:3716
TBR=caryclark@google.com
Review URL: https://codereview.chromium.org/
1096433009
fmalita [Wed, 22 Apr 2015 22:02:03 +0000 (15:02 -0700)]
[SkPDFDevice] Enable pathops-based inverse fills
Keeping the old compile guard for clipping only.
BUG=skia:3749
R=halcanary@google.com,caryclark@google.com,reed@google.com
Review URL: https://codereview.chromium.org/
1099953002
senorblanco [Wed, 22 Apr 2015 21:33:34 +0000 (14:33 -0700)]
Remove MSAA check from Ganesh veto (dashed paths are no longer slow).
R=egdaniel@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1098753004
egdaniel [Wed, 22 Apr 2015 20:58:58 +0000 (13:58 -0700)]
Move function to be static instead of anonymous namespace
TBR=bsalomon@google.com, jvanverth@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1057363004
joshualitt [Wed, 22 Apr 2015 20:47:02 +0000 (13:47 -0700)]
Fix for segfault on destruction of BitmapTextBlob
BUG=skia:
Review URL: https://codereview.chromium.org/
1065773005
senorblanco [Wed, 22 Apr 2015 20:45:18 +0000 (13:45 -0700)]
Improve the curve tessellation subdivision of the path renderers.
The stencil-and-cover and tessellating path renderers currently
tessellate curves to linear segments to within one screen space pixel.
This is fairly poor accuracy, as can be seen from the strokecircle GM:
there are noticeable rotating bumps on the circles.
Improving the tolerance to 0.25 pixel eliminates the bumps, and
approximates the 16x supersampling of the raster path.
This does have a performance hit: 3-6% on desktop on
the IE chalkboard demo, ~1% on Nexus 7 2013.
Note: this will require rebaselining a number of GPU and MSAA images
in Skia, but nothing in Chrome (yet).
BUG=skia:3731
Review URL: https://codereview.chromium.org/
1072273007
egdaniel [Wed, 22 Apr 2015 20:27:39 +0000 (13:27 -0700)]
Refactor createTexture and onCreateTexture
BUG=skia:
Review URL: https://codereview.chromium.org/
1102663002
joshualitt [Wed, 22 Apr 2015 18:38:58 +0000 (11:38 -0700)]
Revert of enable TextBlob / Batch (patchset #1 id:1 of https://codereview.chromium.org/
1077813004/)
Reason for revert:
seg fault
Original issue's description:
> enable TextBlob / Batch
>
> TBR=bsalomon@google.com
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
b75f8100ace48e74319ccf43d82deaac446784b2
TBR=bsalomon@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1096433007
bsalomon [Wed, 22 Apr 2015 18:34:46 +0000 (11:34 -0700)]
Make pixel_snap GMs incur less platform-specific variation
Review URL: https://codereview.chromium.org/
1080393009
joshualitt [Wed, 22 Apr 2015 18:24:20 +0000 (11:24 -0700)]
Fix for GrAtlasTextContext memory leak
BUG=skia:
Review URL: https://codereview.chromium.org/
1072193009
rmistry [Wed, 22 Apr 2015 18:03:12 +0000 (11:03 -0700)]
Rewrite and move Cluster Telemetry documentation to skia.org
BUG=skia:3754
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1074943003
Review URL: https://codereview.chromium.org/
1074943003
cdalton [Wed, 22 Apr 2015 17:39:03 +0000 (10:39 -0700)]
Add tokens and entry points for KHR_blend_equation_advanced
Also adds glBlendEquation, which the extension interacts with, to the
core of GrGLInterface. Validation of this function is temporarily
disabled until Chrome hooks it up.
BUG=skia:
Review URL: https://codereview.chromium.org/
1039693004
bsalomon [Wed, 22 Apr 2015 15:51:38 +0000 (08:51 -0700)]
Add GM to test non-AA pixel snapping for points, lines, rects.
Review URL: https://codereview.chromium.org/
1070213003
joshualitt [Wed, 22 Apr 2015 12:19:54 +0000 (05:19 -0700)]
enable TextBlob / Batch
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1077813004
mtklein [Tue, 21 Apr 2015 22:23:59 +0000 (15:23 -0700)]
O(1) SkPictureUtils::ApproxBytesUsed()
Chrome wants to call this more often, and it's quite slow today.
Seems like this could be clearer if SkPictureUtils::ApproxBytesUsed() were SkPicture::approxBytesUsed().
BUG=chromium:471873
Review URL: https://codereview.chromium.org/
1090943004
mtklein [Tue, 21 Apr 2015 21:25:34 +0000 (14:25 -0700)]
Default to arm_v7_neon.
This aliases all devices we know have NEON over to that too.
BUG=skia:
Review URL: https://codereview.chromium.org/
1095953007
tomhudson [Tue, 21 Apr 2015 21:16:53 +0000 (14:16 -0700)]
Revert of Add tokens and entry points for KHR_blend_equation_advanced (patchset #3 id:40001 of https://codereview.chromium.org/
1039693004/)
Reason for revert:
We're getting repeated crashes since this CL landed when we try to evaluate a roll into Chrome on our bots. (https://uberchromegw.corp.google.com/i/client.skia/builders/Linux%20Tests/builds/1902)
Our initial reflex is to put a #if 0 around this code (just like the immediately following lines 334-338 in GrGLInterface.cpp), but the error isn't what the GPU team expected to see if that was all we needed, so we're reverting now and asking you to resubmit tomorrow after running more thorough tests.
Original issue's description:
> Add tokens and entry points for KHR_blend_equation_advanced
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
8e578859f80b46a63144add215955221017d3609
TBR=markkilgard@gmail.com,bsalomon@google.com,cdalton@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1101593002
joshualitt [Tue, 21 Apr 2015 20:24:37 +0000 (13:24 -0700)]
fix some small bugs with GrAtlasTextContext
BUG=skia:
Review URL: https://codereview.chromium.org/
1098093003
cdalton [Tue, 21 Apr 2015 19:34:09 +0000 (12:34 -0700)]
Add tokens and entry points for KHR_blend_equation_advanced
BUG=skia:
Review URL: https://codereview.chromium.org/
1039693004
mtklein [Tue, 21 Apr 2015 19:07:38 +0000 (12:07 -0700)]
Android's Clang toolchain can't assemble the JPEG's .S files.
Only affecting Build-Mac10.8-Clang-Arm7-Debug-Android.
BUG=skia:
Review URL: https://codereview.chromium.org/
1093423003
cdalton [Tue, 21 Apr 2015 18:45:56 +0000 (11:45 -0700)]
Import glTextureBarrier
BUG=skia:
Review URL: https://codereview.chromium.org/
1090163002
mtklein [Tue, 21 Apr 2015 18:25:47 +0000 (11:25 -0700)]
Skip msaa4 on Tegra 2 and 3.
This will fix the N7 and Xoom bots.
TBR=borenet@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1099943002
senorblanco [Tue, 21 Apr 2015 18:13:17 +0000 (11:13 -0700)]
Revert "One more ASAN fix."
This reverts commit
409fd66a5afcef5f165f7ccec7c3473add231752.
We don't expect to pass this test until the ASAN bots are
correctly configured, and can run GPU tests.
BUG=skia:
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/
1080393003
mtklein [Tue, 21 Apr 2015 17:49:13 +0000 (10:49 -0700)]
DM: failure to canary a sink is now fatal.
This requires we remove NVPR from the default set of configs, as we only find
out at runtime that it's not available. All the other defaults will either be
compiled in and supported, or not compiled in and non-fatally skipped as
unknown configs.
BUG=skia:
Review URL: https://codereview.chromium.org/
1100773003
mtklein [Tue, 21 Apr 2015 17:34:47 +0000 (10:34 -0700)]
Ask for NVPR only when we expect it to be available.
BUG=skia:
Review URL: https://codereview.chromium.org/
1099023003
Greg Humphreys [Tue, 21 Apr 2015 17:28:44 +0000 (10:28 -0700)]
typo in sherrifing docs
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1097353002
Review URL: https://codereview.chromium.org/
1097353002
tomhudson [Tue, 21 Apr 2015 17:09:07 +0000 (10:09 -0700)]
Support HWUI rename of DisplayListRenderer
R=djsollen@google.com,ccraik@google.com
Review URL: https://codereview.chromium.org/
1086083004
joshualitt [Tue, 21 Apr 2015 17:07:26 +0000 (10:07 -0700)]
Some simple optimizations for improving GrAtlasTextContext perf
BUG=skia:
Review URL: https://codereview.chromium.org/
1093083003
senorblanco [Tue, 21 Apr 2015 16:43:08 +0000 (09:43 -0700)]
One more ASAN fix.
Don't fail the GL validation check if the GL context fails to create.
TBR=robertphillips@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1096113003
joshualitt [Tue, 21 Apr 2015 16:43:03 +0000 (09:43 -0700)]
Add support for rotating / scaling / translating gpu cached distance field textblobs
BUG=skia:
Review URL: https://codereview.chromium.org/
1092283002
mtklein [Tue, 21 Apr 2015 16:38:03 +0000 (09:38 -0700)]
Split default and user-supplied event tracers.
Chrome's got a test scenario where setting the user-supplied tracer is racing with a concurrent use of the default tracer.
BUG=chromium:437044
No public API changes.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
1099123002
joshualitt [Tue, 21 Apr 2015 16:37:57 +0000 (09:37 -0700)]
Store pointers to GrGlyph directly in BitmapTextBlob. This patch improves performance by avoiding hashmap lookups under normal use
BUG=skia:
Review URL: https://codereview.chromium.org/
1087203004
stephana [Tue, 21 Apr 2015 15:31:59 +0000 (08:31 -0700)]
Landing directly for testing the ios buildbot code.
BUG=skia:
TBR=borenet
Review URL: https://codereview.chromium.org/
1087653005
mtklein [Tue, 21 Apr 2015 15:09:30 +0000 (08:09 -0700)]
Revert of Convert Color32 code to perfect blend. (patchset #6 id:100001 of https://codereview.chromium.org/
1098913002/)
Reason for revert:
Xfermode_SrcOver not looking encouraging. Up to 50% regressions.
https://perf.skia.org/#3242
Original issue's description:
> Convert Color32 code to perfect blend.
>
> Before we commit to blend_256_round_alt, let's make sure blend_perfect is
> really slower in practice (i.e. regresses on perf.skia.org).
>
> blend_perfect is really the most desirable algorithm if we can afford it. Not
> only is it correct, but it's easy to think about and break into correct pieces:
> for instance, its div255() doesn't require any coordination with the multiply.
>
> This looks like a 30% hit according to microbenches. That said, microbenches
> said my previous change would be a 20-25% perf improvement, but it didn't end
> up showing a significant effect at a high level.
>
> As for correctness, I see a bunch of off-by-1 compared to blend_256_round_alt
> (exactly what we'd expect), and one off-by-3 in a GM that looks like it has a
> bunch of overdraw.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
61221e7f87a99765b0e034020e06bb018e2a08c2
TBR=reed@google.com,fmalita@chromium.org,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1083923006
joshualitt [Tue, 21 Apr 2015 15:03:04 +0000 (08:03 -0700)]
Pack BitmapTextBlob a bit tighter
BUG=skia:
Review URL: https://codereview.chromium.org/
1092973004
joshualitt [Tue, 21 Apr 2015 14:49:49 +0000 (07:49 -0700)]
reuse scaler across consecutive textbatch flushes
BUG=skia:
Review URL: https://codereview.chromium.org/
1091313002
joshualitt [Tue, 21 Apr 2015 14:35:10 +0000 (07:35 -0700)]
A small patch to enable distance field text in textblobs
BUG=skia:
Review URL: https://codereview.chromium.org/
1098653005
senorblanco [Tue, 21 Apr 2015 14:20:36 +0000 (07:20 -0700)]
Yet more ASAN fixes.
More nullptr checks for factories I have added.
Other checks more Yoda-like I have made. (Skia style this is.)
BUG=skia:
Review URL: https://codereview.chromium.org/
1086393004
senorblanco [Tue, 21 Apr 2015 13:59:17 +0000 (06:59 -0700)]
Another speculative ASAN fix.
Add a GrContext nullptr check in SurfaceTest.
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/
1098993004
mtklein [Tue, 21 Apr 2015 13:53:56 +0000 (06:53 -0700)]
SkTHash: remove()
BUG=skia:
Review URL: https://codereview.chromium.org/
1057043003
egdaniel [Tue, 21 Apr 2015 13:28:08 +0000 (06:28 -0700)]
Undo the bounds mapping of bounds for GrOvalRenderer for certain draws
BUG=skia:
Review URL: https://codereview.chromium.org/
1099873002
caryclark [Tue, 21 Apr 2015 12:27:02 +0000 (05:27 -0700)]
fix valgrind uninitialized var error
R=mtklein@google.com
Review URL: https://codereview.chromium.org/
1097293002
senorblanco [Mon, 20 Apr 2015 22:00:06 +0000 (15:00 -0700)]
Speculative fix for ASAN build.
Check for NULL GrContext in TessellatingPathRendererTests.
Also fix an upload nag (no #includes before GPU #ifdef).
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/
1097943004
senorblanco [Mon, 20 Apr 2015 21:44:26 +0000 (14:44 -0700)]
Make the GPU dashing effect MSAA-friendly.
Review URL: https://codereview.chromium.org/
1092793006
bungeman [Mon, 20 Apr 2015 20:31:46 +0000 (13:31 -0700)]
Regularize lmp::XXX_element_handler.
This makes all non-XMLCALL element_handler functions uniform by making
their signature
void XXX_element_handler(FamilyData* self, const char** attributes)
This makes the code somewhat easier to follow, as it makes explicit
which functions are actually logically methods of FamilyData (start
with 'FamilyData* self') and which are called directly by expat
(start with 'void* data').
Review URL: https://codereview.chromium.org/
1086943007
jvanverth [Mon, 20 Apr 2015 19:29:37 +0000 (12:29 -0700)]
Minor modifications to GrProgramDesc.h.
BUG=skia:
Review URL: https://codereview.chromium.org/
1100483003
egdaniel [Mon, 20 Apr 2015 19:28:57 +0000 (12:28 -0700)]
Return correctly mapped bounds from GrOvalRenderer.
Before we were returning non transformed bounds for the ovals instead of
device bounds from the various draw calls. This was causing us to do dst
copies from the wrong portion of the screen when there was some transform
on the matrix.
This fixes the gpu issues from the new imagefilters-xfermodes gm as well an
old bug from the srcmode GM.
BUG=skia:
Review URL: https://codereview.chromium.org/
1090453003
bungeman [Mon, 20 Apr 2015 18:16:48 +0000 (11:16 -0700)]
Regularize informative messages in Android font parser.
The Android font parser prints a number of helpful messages when
something seems amiss in the configuration file. Give all of these
messages a common and more informative format.
Review URL: https://codereview.chromium.org/
1096063003
mtklein [Mon, 20 Apr 2015 17:52:26 +0000 (10:52 -0700)]
Convert Color32 code to perfect blend.
Before we commit to blend_256_round_alt, let's make sure blend_perfect is
really slower in practice (i.e. regresses on perf.skia.org).
blend_perfect is really the most desirable algorithm if we can afford it. Not
only is it correct, but it's easy to think about and break into correct pieces:
for instance, its div255() doesn't require any coordination with the multiply.
This looks like a 30% hit according to microbenches. That said, microbenches
said my previous change would be a 20-25% perf improvement, but it didn't end
up showing a significant effect at a high level.
As for correctness, I see a bunch of off-by-1 compared to blend_256_round_alt
(exactly what we'd expect), and one off-by-3 in a GM that looks like it has a
bunch of overdraw.
BUG=skia:
Review URL: https://codereview.chromium.org/
1098913002
reed [Mon, 20 Apr 2015 16:10:31 +0000 (09:10 -0700)]
adjust GM to have a final opaque bg, to make it easier to triage
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1085333003
caryclark [Mon, 20 Apr 2015 15:31:59 +0000 (08:31 -0700)]
Now, path ops natively intersect conics, quads, and cubics in any combination. There are still a class of cubic tests that fail and a handful of undiagnosed failures from skps and fuzz tests, but things are much better overall.
Extended tests (150M+) run to completion in release in about 6 minutes; the standard test suite exceeds 100K and finishes in a few seconds on desktops.
TBR=reed
BUG=skia:3588
Review URL: https://codereview.chromium.org/
1037953004
reed [Mon, 20 Apr 2015 15:04:21 +0000 (08:04 -0700)]
apply xfermode after imagefilter when we create a tmp layer
BUG=skia:3741
Review URL: https://codereview.chromium.org/
1091173003
reed [Mon, 20 Apr 2015 14:27:15 +0000 (07:27 -0700)]
add GM to test imagefilters + xfermodes
draws incorrectly as is, but will be fixed by https://codereview.chromium.org/
1091173003
BUG=skia:3741
Review URL: https://codereview.chromium.org/
1088773004
scroggo [Mon, 20 Apr 2015 13:58:49 +0000 (06:58 -0700)]
Update our libjpeg to the version used by Chromium.
We had previously not updated since 2013. This includes the fix
for http://seclists.org/fulldisclosure/2013/Nov/83
BUG=skia:3744
Review URL: https://codereview.chromium.org/
1097943002
senorblanco [Mon, 20 Apr 2015 12:41:48 +0000 (05:41 -0700)]
Fix point count computation in tessellating path renderer.
The conic, quadratic and cubic computations were using tolerance^2
instead of tolerance when computing maximum point count, causing paths
to be undertessellated when magnifying and overtessellated when minifying.
(Funny story: this bug went unnoticed back when we were tessellating
paths in screen space, when tolerance and its square were both 1.)
BUG=skia:3731
Review URL: https://codereview.chromium.org/
1095773003
reed [Mon, 20 Apr 2015 12:18:01 +0000 (05:18 -0700)]
remove dead code from SK_SUPPORT_LEGACY_BLITANTIH2V2
no image changes expected in skia or chrome/blink
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1050953003
skia.buildbots [Sun, 19 Apr 2015 08:15:08 +0000 (01:15 -0700)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=
Review URL: https://codereview.chromium.org/
1095953002
mtklein [Fri, 17 Apr 2015 21:02:40 +0000 (14:02 -0700)]
Revert of Allow NEON on iOS. (patchset #3 id:40001 of https://codereview.chromium.org/
1091823002/)
Reason for revert:
need to coordinate this with chrome gyps/gn
Original issue's description:
> Allow NEON on iOS.
>
> I have nanobench building and running (Color32_arm_neon) on my iPad.
>
> No public API changes.
> TBR=reed@google.com
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
e5043b7ea5170a639367b67c986568907576be4b
TBR=caryclark@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1094843005
bungeman [Fri, 17 Apr 2015 20:51:08 +0000 (13:51 -0700)]
Respect declared font style on Android.
Previously the normal/italic style bit was obtained from scanning the
font file. With the new format the style may be stated explicitly, and
this explicit value in the configuration file should override any
information obtained from the font data itself.
This change allows the font element's style attribute to override the
font's style, but retains the default 'auto' setting for backwards
compatibility. Repecting the style bit may become more important with
variation fonts, because it will be up to the configuration writer to
determine what values of the 'slnt' variation should be considered
'normal' or 'italic'.
DOCS_PREVIEW= https://skia.org/?cl=
1092093002
Committed: https://skia.googlesource.com/skia/+/
673e902c9b9982a167f54f1cc175d8d9cab8bcaf
Review URL: https://codereview.chromium.org/
1092093002
jcgregorio [Fri, 17 Apr 2015 20:30:35 +0000 (13:30 -0700)]
Revert of Respect declared font style on Android. (patchset #6 id:100001 of https://codereview.chromium.org/
1092093002/)
Reason for revert:
Failed on the compile bots.
Original issue's description:
> Respect declared font style on Android.
>
> Previously the normal/italic style bit was obtained from scanning the
> font file. With the new format the style may be stated explicitly, and
> this explicit value in the configuration file should override any
> information obtained from the font data itself.
>
> This change allows the font element's style attribute to override the
> font's style, but retains the default 'auto' setting for backwards
> compatibility. Repecting the style bit may become more important with
> variation fonts, because it will be up to the configuration writer to
> determine what values of the 'slnt' variation should be considered
> 'normal' or 'italic'.
>
> DOCS_PREVIEW= https://skia.org/?cl=
1092093002
>
> Committed: https://skia.googlesource.com/skia/+/
673e902c9b9982a167f54f1cc175d8d9cab8bcaf
TBR=mtklein@google.com,tomhudson@google.com,scroggo@google.com,bungeman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1082173004
halcanary [Fri, 17 Apr 2015 20:27:24 +0000 (13:27 -0700)]
PDF: Correctly embed JPEG images directly into PDF output.
We only embed images with YUV planes. That should only grab the
subset of color JPEGs supported by PDF.
BUG=skia:3180
Review URL: https://codereview.chromium.org/
1025773002
bungeman [Fri, 17 Apr 2015 20:25:03 +0000 (13:25 -0700)]
Respect declared font style on Android.
Previously the normal/italic style bit was obtained from scanning the
font file. With the new format the style may be stated explicitly, and
this explicit value in the configuration file should override any
information obtained from the font data itself.
This change allows the font element's style attribute to override the
font's style, but retains the default 'auto' setting for backwards
compatibility. Repecting the style bit may become more important with
variation fonts, because it will be up to the configuration writer to
determine what values of the 'slnt' variation should be considered
'normal' or 'italic'.
DOCS_PREVIEW= https://skia.org/?cl=
1092093002
Review URL: https://codereview.chromium.org/
1092093002
enne [Fri, 17 Apr 2015 19:42:49 +0000 (12:42 -0700)]
Trace contention for lockPixels mutex
Review URL: https://codereview.chromium.org/
1090103002
mtklein [Fri, 17 Apr 2015 18:00:54 +0000 (11:00 -0700)]
Rework SSE and NEON Color32 algorithms to be more correct and faster.
This algorithm changes the blend math, guarded by SK_LEGACY_COLOR32_MATH. The new math is more correct: it's never off by more than 1, and correct in all the interesting 0x00 and 0xFF edge cases, where the old math was never off by more than 2, and not always correct on the edges.
If you look at tests/BlendTest.cpp, the old code was using the `blend_256_plus1_trunc` algorithm, while the new code uses `blend_256_round_alt`. Neither uses `blend_perfect`, which is about ~35% slower than `blend_256_round_alt`.
This will require an unfathomable number of rebaselines, first to Skia, then to Blink when I remove the guard.
I plan to follow up with some integer SIMD abstractions that can unify these two implementations into a single algorithm. This was originally what I was working on here, but the correctness gains seem to be quite compelling. The only places these two algorithms really differ greatly now is the kernel function, and even there they can really both be expressed abstractly as:
- multiply 8-bits and 8-bits producing 16-bits
- add 16-bits to 16-bits, returning the top 8 bits.
All the constants are the same, except SSE is a little faster to keep 8 16-bit inverse alphas, NEON's a little faster to keep 8 8-bit inverse alphas. I may need to take this small speed win back to unify the two.
We should expect a ~25% speedup on Intel (mostly from unrolling to 8 pixels) and a ~20% speedup on ARM (mostly from using vaddhn to add `color`, round, and narrow back down to 8-bit all into one instruction.
(I am probably missing several more related bugs here.)
BUG=skia:3738,skia:420,chromium:111470
Review URL: https://codereview.chromium.org/
1092433002
bungeman [Fri, 17 Apr 2015 18:00:06 +0000 (11:00 -0700)]
Remove filename from SkFontDescriptor.
No one actually uses it, so remove it. Keep the string id for backward
compatibility.
TBR=reed@google.com
This doesn't change any public API.
Review URL: https://codereview.chromium.org/
1057413005
joshualitt [Fri, 17 Apr 2015 17:32:32 +0000 (10:32 -0700)]
Small change to allow DistanceField and BMP text to coexist in a blob
BUG=skia:
Review URL: https://codereview.chromium.org/
1096753002
bungeman [Fri, 17 Apr 2015 17:05:43 +0000 (10:05 -0700)]
Correct SkFixedToDouble.
SkFixedToDouble uses the decimal floating point string representation
of 1/(2^16) to provide a constant value. This value is exactly
representable by a double but the decimal constant currently used
does not map to this value.
This change modifies this constant to more decimal digits so that
the actual double value desired is created.
Review URL: https://codereview.chromium.org/
1097473002
joshualitt [Fri, 17 Apr 2015 16:30:06 +0000 (09:30 -0700)]
Initial CL to add distance field support to GrAtlasTextContext
BUG=skia:
Review URL: https://codereview.chromium.org/
1082843002
joshualitt [Fri, 17 Apr 2015 16:01:05 +0000 (09:01 -0700)]
adding new gm to rotate, translate, and scale textblobs
this is to test distance field caching and regen of texture blobs on scale.
BUG=skia:
Review URL: https://codereview.chromium.org/
1097563002
mtklein [Fri, 17 Apr 2015 13:36:53 +0000 (06:36 -0700)]
Allow NEON on iOS.
I have nanobench building and running (Color32_arm_neon) on my iPad.
No public API changes.
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1091823002
mtklein [Fri, 17 Apr 2015 13:32:13 +0000 (06:32 -0700)]
add a GM to demo the blend bug
BUG=skia:3739
Review URL: https://codereview.chromium.org/
1094863003
reed [Fri, 17 Apr 2015 03:10:55 +0000 (20:10 -0700)]
Revert of Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/
1060703003/)
Reason for revert:
fix (removal from gypi/gn files) has landed in chrome.
Original issue's description:
> Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/
1088383003/)
>
> Reason for revert:
> This change is causing the DEPS roll to fail:
>
>
> http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/78771/steps/gn/logs/stdio
>
> Original issue's description:
> > remove unused (by clients) SkPathUtils
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/
aab35d91b8b80acd1902594bbf542083fdfa4bb7
>
> TBR=scroggo@google.com,reed@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
bdb0bf5f8858043878d8a4fa8130c6c87bef3fd4
TBR=scroggo@google.com,jcgregorio@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1091963002
bungeman [Thu, 16 Apr 2015 21:22:46 +0000 (14:22 -0700)]
Add PS 'all' weight name to scanFont.
Multiple Master fonts often list their weight as 'all'. However, they
usually default to normal weight. State explicitly that we know about
this weight string.
Review URL: https://codereview.chromium.org/
1092793002
mtklein [Thu, 16 Apr 2015 20:29:58 +0000 (13:29 -0700)]
Default iOS builds to our code signing identity.
It's super tedious to keep setting it every time I rerun ./gyp_skia.
Doesn't look like it'll bother the bots.
BUG=skia:
Review URL: https://codereview.chromium.org/
1053493005
tfarina [Thu, 16 Apr 2015 20:28:06 +0000 (13:28 -0700)]
contrib: Simplify the command to create a feature branch.
You can create a work branch off origin/master by simply running:
$ git checkout -b my-feature origin/master
BUG=None
R=borenet@google.com
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1057513004
Review URL: https://codereview.chromium.org/
1057513004
mtklein [Thu, 16 Apr 2015 19:45:38 +0000 (12:45 -0700)]
This section is moot: we divert ios to opts_none above.
(We never set arm_version = 7 for iOS...)
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot
BUG=skia:
Review URL: https://codereview.chromium.org/
1092753002
bungeman [Thu, 16 Apr 2015 19:18:28 +0000 (12:18 -0700)]
Add SkTPin.
Currently there exist SkScalarPin and SkPin32, and in a future change
another version is desired. This change introduces SkTPin and changes
SkScalarPin and SkPin32 to use it.
Review URL: https://codereview.chromium.org/
1090003002
senorblanco [Thu, 16 Apr 2015 18:47:18 +0000 (11:47 -0700)]
Improve tessellating path rasterizer performance on dashed paths.
With dashed paths, we get a lot of geometry on the same sort line.
Since the vertices are sorted, it makes more sense to insert edges
from the end (in sort order) than the beginning. This requires
maintaining both the head and tail of the active edge list.
This gives a ~20% perf improvement on tabl_digg.skp.
BUG=skia:3733
Review URL: https://codereview.chromium.org/
1089903002
joshualitt [Thu, 16 Apr 2015 18:24:04 +0000 (11:24 -0700)]
add textblob cache freeall
BUG=skia:
Review URL: https://codereview.chromium.org/
1088683004
egdaniel [Thu, 16 Apr 2015 18:22:42 +0000 (11:22 -0700)]
Rename GrStencilBuffer to GrStencilAttachment
BUG=skia:
Review URL: https://codereview.chromium.org/
1083133002
zoran.jovanovic [Thu, 16 Apr 2015 18:03:16 +0000 (11:03 -0700)]
SkScaledBitmapSampler: fix memory overwritten
Memory will be overwritten while downsampling some
interlaced gif images, most commonly with odd sizes,
when index of destination row stores in the current
line computed from GifInterlaceIter meets:
X is an integer in [0..height-1]
and
(X < height)
&& ((X - sampleSize/2) % sampleSize == 0)
&& ((X - sampleSize/2)/sampleSize >= height/sampleSize)
Signed-off-by: Lu Tong <lu.x.tong@sonymobile.com>
BUG=skia:
Review URL: https://codereview.chromium.org/
1085253002
cdalton [Thu, 16 Apr 2015 17:42:49 +0000 (10:42 -0700)]
Add ReverseIter to GrTRecorder
BUG=skia:
Review URL: https://codereview.chromium.org/
1035083004
jcgregorio [Thu, 16 Apr 2015 16:47:36 +0000 (09:47 -0700)]
Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/
1088383003/)
Reason for revert:
This change is causing the DEPS roll to fail:
http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/78771/steps/gn/logs/stdio
Original issue's description:
> remove unused (by clients) SkPathUtils
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
aab35d91b8b80acd1902594bbf542083fdfa4bb7
TBR=scroggo@google.com,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1060703003
mtklein [Thu, 16 Apr 2015 14:59:12 +0000 (07:59 -0700)]
Don't serialize anything for SkEmptyShader.
BUG=skia:3735
Review URL: https://codereview.chromium.org/
1097433002
Brian Salomon [Thu, 16 Apr 2015 14:46:18 +0000 (10:46 -0400)]
widen output png size of bmp_filter_quality_repeat
BUG=skia:
Review URL: https://codereview.chromium.org/
1097443002
bsalomon [Thu, 16 Apr 2015 13:54:28 +0000 (06:54 -0700)]
Add GM that tests bmp filter qualities with repeat mode
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
1086203002
reed [Thu, 16 Apr 2015 13:16:38 +0000 (06:16 -0700)]
remove unused (by clients) SkPathUtils
BUG=skia:
Review URL: https://codereview.chromium.org/
1088383003
mtklein [Thu, 16 Apr 2015 13:09:27 +0000 (06:09 -0700)]
Zero jpeg_decompress_struct before calling jpeg_calc_output_dimensions().
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Valgrind/builds/38/steps/dm/logs/stdio
(Must have been https://codereview.chromium.org/
1076923002 ?)
BUG=skia:
Review URL: https://codereview.chromium.org/
1094603002
reed [Thu, 16 Apr 2015 02:57:54 +0000 (19:57 -0700)]
remove older version of cubic->coeff
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1084623004
reed [Thu, 16 Apr 2015 01:23:03 +0000 (18:23 -0700)]
Speeup hairline curves (quads and cubics) (patchset #7 id:120001 of https://codereview.chromium.org/
1078413003/)"
ah ha! Check for the define *after* we pull in SkUserConfig.h (indirectly)
This reverts commit
639a82855b94b93c4fa45560e67df8ec4a8bbb3a.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1084283003
reed [Thu, 16 Apr 2015 01:05:47 +0000 (18:05 -0700)]
Revert of make blitAntiH2 virtual, to prep for larger change (patchset #1 id:1 of https://codereview.chromium.org/
1048323005/)
Reason for revert:
end of test
Original issue's description:
> make blitAntiH2 virtual, to prep for larger change
>
> testing...
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/
33afdaa5213cf118b3ca290bb343253c8593756d
TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1086293002