Commit Graph

12735 Commits

Author SHA1 Message Date
reed
b8f0798849 speed up rgn building by inlining memcmp for 32bit values
on mac/clang, using circularclips gm/bench

- before: 400ms
- after:  250ms

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

Author: reed@google.com

Review URL: https://codereview.chromium.org/348143002
2014-06-20 13:59:15 -07:00
krajcevski
61843107f6 Rebaseline clip on Win7 ShuttleA HD2000
BUG=skia:
R=bsalomon@google.com
TBR=bsalomon@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/342403002
2014-06-20 13:07:15 -07:00
george
bf1850ec7e Fix SkBlitRow_opts_arm so that it works on ARM v4t.
Original Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=901208

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

Author: george@mozilla.com

Review URL: https://codereview.chromium.org/337853003
2014-06-20 12:03:35 -07:00
george
9eb182ac4b Add some missing header include guards
BUG=skia:
R=reed@google.com, bsalomon@google.com, tfarina@chromium.org

Author: george@mozilla.com

Review URL: https://codereview.chromium.org/325843002
2014-06-20 12:01:06 -07:00
krajcevski
eecc35f988 Some improvements to LATC compression
R=bsalomon@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/347673002
2014-06-20 11:43:00 -07:00
Ben Wagner
909f91dc4c Rebaselines for DirectWrite non-rounding.
Review URL: https://codereview.chromium.org/337923004
2014-06-20 14:41:35 -04:00
krajcevski
bbf93efdd0 Restore bug numbers
BUG=skia:
R=bsalomon@google.com
TBR=bsalomon@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/341313002
2014-06-20 11:39:27 -07:00
reed
bbf3e8982d optimize circularclips to act as a bench, fix null-check bug in etcbench
BUG=skia:
R=krajcevski@google.com, rmistry@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/345183003
2014-06-20 11:33:59 -07:00
mtklein
9ac68ee259 Move BenchTimer to tools as Timer
This breaks a bunch of circular dependencies between tools and gm and bench.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/4ed75287aed6371c6e4a41ffcc78c8a49c9810ed

CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot,Test-Ubuntu12-ShuttleA-GTX660-x86-Debug-Trybot
R=tfarina@chromium.org, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/344213003
2014-06-20 11:29:21 -07:00
halcanary
24480bc71e Use SkMutex::assertHeld in SkPDFFont and SkPDFShader.
R=mtklein@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/348113002
2014-06-20 11:28:37 -07:00
mtklein
9e64b78ff6 Revert of Move BenchTimer to tools as Timer (https://codereview.chromium.org/344213003/)
Reason for revert:
GpuTimer broken

Original issue's description:
> Move BenchTimer to tools as Timer
>
> This breaks a bunch of circular dependencies between tools and gm and bench.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4ed75287aed6371c6e4a41ffcc78c8a49c9810ed

R=tfarina@chromium.org, mtklein@chromium.org
TBR=mtklein@chromium.org, tfarina@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/346753003
2014-06-20 10:43:07 -07:00
bungeman
a3530ef268 DirectWrite to not round already subpixel metrics.
In keeping with the FreeType and Mac scaler contexts, do not artificially
round already subpixel metrics.

The subpixel flag should be the 'forceSubpixel' flag when it comes to
metrics. Existing backends will give subpixel metrics when 'subpixel' is
requested, but will not round proper metrics when 'subpixel' is not
requested.

R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/344253002
2014-06-20 10:35:00 -07:00
mtklein
4ed75287ae Move BenchTimer to tools as Timer
This breaks a bunch of circular dependencies between tools and gm and bench.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/344213003
2014-06-20 10:31:49 -07:00
sheyang
7b2b29abdb Add Project to skia
BUG=374398
R=reed@google.com, bsalomon@google.com, rmistry@google.com, borenet@google.com

Author: sheyang@chromium.org

Review URL: https://codereview.chromium.org/346853004
2014-06-20 09:39:15 -07:00
halcanary
e486ec48b1 In Debug, SkMutex(pthread) crashes on re-entrant aquire from same thread.
R=mtklein@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/338973006
2014-06-20 09:05:56 -07:00
krajcevski
912d809a85 Rebaseline after dithering change
TBR=bsalomon@google.com
BUG=skia:

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/347103003
2014-06-20 09:02:16 -07:00
halcanary
2983ff5da3 CrashHandler calls strsignal on linux
R=mtklein@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/349623004
2014-06-20 08:26:23 -07:00
mtklein
77a83962ac undefok -> bool
BUG=skia:

not waiting for (dead?) win builder
NOTRY=True
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/348063002
2014-06-20 08:24:56 -07:00
borenet
f6fb36eebc Add DEPS entry for common repo
BUG=skia:
R=reed@google.com, rmistry@google.com

Author: borenet@google.com

Review URL: https://codereview.chromium.org/334633008
2014-06-20 07:55:03 -07:00
borenet
a535b7beec Add common/ to .gitignore
BUG=skia:2682
NOTRY=true
R=rmistry@google.com

Author: borenet@google.com

Review URL: https://codereview.chromium.org/342353002
2014-06-20 07:47:36 -07:00
bsalomon
160a52ba21 Stop referencing gl_FragCoord z and w components.
This fixes an Adreno driver bug where GL programs fail to link if the FS refers to these components of gl_FragCoord.

R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/345083002
2014-06-20 07:25:14 -07:00
egdaniel
6b8f1ba1ef Rebaseline win7-HD2000 for flaky dashing4 gm
R=bsalomon@google.com
TBR=bsalomon@google.com

BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/344853005
2014-06-20 06:33:05 -07:00
george
ae6a059c68 Undef FloatToFixed and FixedToFloat as well in SkConvolver to avoid confusion with OS X's maths library
BUG=skia:
R=reed@google.com

Author: george@mozilla.com

Review URL: https://codereview.chromium.org/326623004
2014-06-20 06:32:58 -07:00
krajcevski
aed7007e9e Fix shader code
R=bsalomon@google.com, reed@google.com
NOTREECHECKS=true
NOTRYS=true

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/347563006
2014-06-20 05:46:12 -07:00
mtklein
fd117d8829 Port SampleApp to SkCommandLineFlags.
BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/344873004
2014-06-19 14:18:56 -07:00
krajcevski
f461a8fdf6 Simple GPU based dithering:
If dithering is turned on, apply an effect that filters the pixel through
the following pipeline:

for each channel c:
  1. Compute quantized colors [low, high] that c is between
  2. Pick high by flipping a coin weighted by (c - low)

R=bsalomon@google.com, egdaniel@google.com, robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/321253002
2014-06-19 14:14:06 -07:00
bsalomon
8b2fac4b25 Cache the GrEffect used for text rendering in GrBitmapTextContext.
R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/338093005
2014-06-19 14:13:45 -07:00
senorblanco
9efd66b845 Revert "Fix external SkImageFilter caching with clips."
This reverts commit ffa9b500d7.

R=reed@google.com
TBR=reed@google.com
NOTRY=True
NOTREECHECKS=True

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/340413004
2014-06-19 13:23:27 -07:00
bsalomon
3935a7bfe6 Check for degenerate edges in cubic->quad conversion called by convex path renderer.
Cubics that are nearly degenerate now make it down here via the convex path renderer. They used to get filtered out by the path iterator but that was problematic. We wound up producing NaN vertices.

BUG=2677
R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/338633007
2014-06-19 12:33:08 -07:00
tfarina
f168b86d7f Remove Sk prefix from some bench classes.
This idea came while commenting on
https://codereview.chromium.org/343583005/

Since SkBenchmark, SkBenchLogger and SkGMBench are not part of the Skia library,
they should not have the Sk prefix.

BUG=None
TEST=make all
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/347823004
2014-06-19 12:32:29 -07:00
jvanverth
8e80d17d2b Reduce texture uploads for font atlas.
Also adds upload tracing for Chrome.

R=bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/347563005
2014-06-19 12:01:11 -07:00
bungeman
d7f846bdd1 Add needed virtual destructors.
These were found by the clang on Windows build.

R=mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/328303005
2014-06-19 11:26:59 -07:00
vandebo
0f9bad01b0 [PDF] Fix font embedding restrictions.
Stop using restricted font outlines and honor don't subset restriction.

Resubmit of r12600.

R=halcanary@google.com, bungeman@google.com, reed@google.com

Author: vandebo@chromium.org

Review URL: https://codereview.chromium.org/334443002
2014-06-19 11:05:39 -07:00
egdaniel
bbcb38df4f Allow gpu debug markers to be placed by using a GrContext
If a marker is placed using a GrContext, it will add a marker to both the
drawBuffer and gpu targets of that context.

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/340893002
2014-06-19 10:19:29 -07:00
mtklein
3f73e8c8d5 CrashHandler for Windows.
Plus, print out assertion failures on Windows,
and some little tweaks to CrashHandler on other platforms for consistency.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/340523007
2014-06-19 07:41:59 -07:00
senorblanco
373dd9b52f New Nexus4 baselines for imagefiltersclipped, GPU path.
R=reed@google.com
TBR=reed@google.com
NOTRY=True
BUG=skia:

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/347693002
2014-06-18 16:26:39 -07:00
reed
9f0147143f Revert of remove guarded code - there are no more callers (https://codereview.chromium.org/343783002/)
Reason for revert:
webkit still uses getTotalClip -- need to find where they define the guard.

../../skia/ext/skia_utils_mac.mm:400:42: error: no member named 'getTotalClip' in 'SkCanvas'
      const SkRegion& clipRgn = canvas_->getTotalClip();
                                ~~~~~~~  ^

Original issue's description:
> remove guarded code - there are no more callers
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c5d5cf9489977aa6fba077d1dc242029fbb4859e

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

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/342843002
2014-06-18 15:51:20 -07:00
senorblanco
ffa9b500d7 Fix external SkImageFilter caching with clips.
When the external cache is active, do not intersect the saveLayer
bounds with the clip bounds.  This is so that the cache is always the
full size of the primitive's bounds, regardless of the clip active on
first draw. (Drawing of the filtered or cached result is always drawn
against the active clip, though, since it is restored before
internalDrawDevice() is called.)

This is a slightly hacky solution, but this code can all go away
(including the external cache) once all platforms have switched to
impl-side painting.

See Chromium bug http://crbug.com/379147.

BUG=skia:
R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/340203002
2014-06-18 15:11:25 -07:00
reed
c5d5cf9489 remove guarded code - there are no more callers
BUG=skia:
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/343783002
2014-06-18 14:41:26 -07:00
tfarina
bcbc1788b4 Refactor how we handle resources path in Tests.
This idea emerged while doing https://codereview.chromium.org/321723002/
(commit 880914c35c).

BUG=None
TEST=make tests && out/Debug/tests
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/346453002
2014-06-18 14:32:49 -07:00
reed
6518eaaefa remove legacy moz flags
NOTRY=True
R=george@mozilla.com, scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/342803002
2014-06-18 14:05:22 -07:00
egdaniel
3eee3834fb Modify gpu debug markers to store gpu device markers when a flush occurs.
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/341583002
2014-06-18 13:09:11 -07:00
djsollen
1d7975b1c0 Remove unused class from the Android framework build
R=reed@google.com, scroggo@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/345613002
2014-06-18 12:35:10 -07:00
mtklein
4ea2661cbd No CrashHandler for NACL bots.
CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Ubuntu13.10-GCC4.8-NaCl-Debug-Trybot

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/344603005
2014-06-18 12:29:01 -07:00
mtklein
30e6e2af14 Add basic stacktrace handler using libunwind.
This means we will all have to apt-get install libunwind8-dev on Linux.  Mac comes with everything we need already.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/343583005
2014-06-18 11:44:18 -07:00
scroggo
f01a6c3663 In Android framework, make tools depend on jsoncpp
Always build the tools with JSON, but either build our own
or use the system's.

Rename skia_build_json_writer to skia_use_system_jsoncpp,
since we now always build with JSON.

Remove SK_BUILD_JSON_WRITER, which was only there so
we could build without JSON it in the framework.

BUG=skia:2448
R=djsollen@google.com, reed@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/303913002
2014-06-18 10:31:40 -07:00
mtklein
b59161f000 Add SkASSERTF.
Example failure:
fRefCnt was 3
../../../usr/local/google/home/mtklein/skia/include/core/SkRefCnt.h:40: failed assertion "(fRefCnt == 1) || (SkDebugf("fRefCnt was %d""\n", fRefCnt), false)"
Command terminated by signal 11

Not pretty, but everything's there.  Perhaps we'll think of ways to make it nicer later.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/337243004
2014-06-18 07:54:47 -07:00
egdaniel
12c2198535 Remove dashing from gpu veto
With new veto our new veto test results look like the following:
TP: true positive (picked to use gpu and gpu was faster)
I: inderminate, the raster time is withing 5% of gpu time

        TP  FP  TN  FN  I

old     21  9   15  12  3
new     29  12  11  6   3

There are three skps that tend to move from TN -> FP, however
the absolute difference in their run times are not huge between
them. The largest being desk_booking which is about 7.1 raster
and 8.8 gpu. The other two skps are desk_yahooanswers and
desk_linkedin

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

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/334053005
2014-06-18 07:34:39 -07:00
egdaniel
de10fdeee5 Add additional dashing rebaselines
NOTRY=True
NOTREECHECK=True
R=bsalomon@google.com
TBR=bsalomon@google.com

BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/347543003
2014-06-18 07:31:08 -07:00
caryclark
e4097e3a0b Fix last pathops skp bug
This fixes the last bug discovered by iterating through the 800K
skp corpus representing the top 1M websites. For every clip on the
stack, the paths are replaced with the pathop intersection. The
resulting draw is compared with the original draw for pixel errors.

At least two prominent bugs remain. In one, the winding value is
confused by a cubic with an inflection. In the other, a quad/cubic
pair, nearly coincident, fails to find an intersection.

These minor changes include ignoring very tiny self-intersections
of cubics, and processing degenerate edges that don't connect to
anything else.

R=reed@android.com
TBR=reed

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/340103002
2014-06-18 07:24:19 -07:00