Commit Graph

13536 Commits

Author SHA1 Message Date
reed
8bf3df68c5 remove code for (dead) SK_SUPPORT_LEGACY_GETCLIPTYPE
BUG=skia:
R=djsollen@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/489103003
2014-08-21 05:51:22 -07:00
borenet
1f31e76717 Update SKP version to 79
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/485233003
2014-08-20 21:20:36 -07:00
mtklein
4082d290ee Revert back to SkPictureData pictures. Huge perf regression.
http://skiaperf.com/#108

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/496603002
2014-08-20 16:18:25 -07:00
mtklein
1b523babbe Always read .skp files and other serialized pictures into SkRecord.
This should switch all our internal tools that aren't clever about it over to SkRecord pictures.  (The clever tools know what they're doing.)

Also, deletes the old SkPicture::clone() path.  return this or die.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/7b705bb17e09508e3761b54f59833b1ceb4ce9a6

R=robertphillips@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/481743003
2014-08-20 15:50:46 -07:00
halcanary
39cd5b9041 Turn off NEON SkBoxBlurGetPlatformProcs for ARM64 (for now)
BUG=skia:2845
R=djsollen@google.com, senorblanco@google.com, senorblanco@chromium.org

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/491973002
2014-08-20 14:40:09 -07:00
mtklein
7b705bb17e Always read .skp files and other serialized pictures into SkRecord.
This should switch all our internal tools that aren't clever about it over to SkRecord pictures.  (The clever tools know what they're doing.)

Also, deletes the old SkPicture::clone() path.  return this or die.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/481743003
2014-08-20 14:22:58 -07:00
caryclark
74206bc489 ignore flaky failure on android
this failed to commit the first time

NOTREECHECKS=true
NOTRY=true
R=bsalomon@google.com
TBR=bsalomon

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/488273002
2014-08-20 14:01:28 -07:00
reed
4f987e9431 make imagecache's Key more general purpose
This should allow other clients with different sized keys to still use the cache.

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

Author: reed@google.com

Review URL: https://codereview.chromium.org/472343002
2014-08-20 13:41:56 -07:00
epoger
260d237566 rebaseline_server: force checksumValue to an integer to prevent spurious comparison failures
Without this change, SKP tests *appeared* to fail because the actuals reported
their checksumValues as integers, while the expectations recorded their
checksumValues as strings.

NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana
(SkipBuildbotRuns)

Author: epoger@google.com

Review URL: https://codereview.chromium.org/489023003
2014-08-20 12:21:48 -07:00
bungeman
df2ec358be Directly compute glyphToUnicode array in DirectWrite.
This new code is still rather bad, but has fewer steps.

The motivation for looking at this is that on Windows 8 the previous code
was occasionally asserting in such a way as to imply that GetGlyphIndices
might return different data the second time through the font. This avoids
that particular issue by only going through the font once.

R=mtklein@google.com, halcanary@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/472333003
2014-08-20 12:21:32 -07:00
epoger
d9f18a35d5 add headers to experimental SKP expectations
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana
(SkipBuildbotRuns)

Author: epoger@google.com

Review URL: https://codereview.chromium.org/491023003
2014-08-20 11:51:39 -07:00
mtklein
1915b62637 Add --properties for things like gitHash that describe the current nanobench run.
--key describes the type of run (describes the line on the chart), --properties
describes the run itself (describes the dot on the chart).

We'll pass --properties gitHash <git hash> build_number <build number>  --key
... to nanobench from the bots.

And... delete a whole lot of dead code.

Example: nanobench --properties gitHash foo build_number 1234 --key bar baz

{
   "build_number" : "1234",
   "gitHash" : "foo",
   "key" : {
      "bar" : "baz"
   },
   "results" : {
....

Friends with https://codereview.chromium.org/491943002
BUG=skia:
R=jcgregorio@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/488213002
2014-08-20 11:45:00 -07:00
epoger
1a17f7aeb2 rebaseline_server: if creating brand new expectations files, include the header
Otherwise, the first time you compare against these expectations, you get
failures.

NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana

Author: epoger@google.com

Review URL: https://codereview.chromium.org/491063002
2014-08-20 11:39:35 -07:00
epoger
5fc8edc81d update experimental SKP expectations using the new tool
BUG=skia:1918
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana

Author: epoger@google.com

Review URL: https://codereview.chromium.org/488203002
2014-08-20 11:10:30 -07:00
epoger
3144d37e5f rebaseline_server: add download link for SKP diff patchfile
BUG=skia:1918
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana
(SkipBuildbotRuns)

Author: epoger@google.com

Review URL: https://codereview.chromium.org/489183002
2014-08-20 10:55:27 -07:00
mtklein
46bc6217ca Dump out more information if this assert fails.
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/ec924b9696277df4c684e73315194482e1d43e50

R=caryclark@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/491903002
2014-08-20 09:44:28 -07:00
mtklein
ec924b9696 Dump out more information if this assert fails.
BUG=skia:
R=caryclark@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/491903002
2014-08-20 09:22:28 -07:00
epoger
a38acc74bb add 2 missing SKP expectations files within experimental dir
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana
(SkipBuildbotRuns)

Author: epoger@google.com

Review URL: https://codereview.chromium.org/470193006
2014-08-20 08:22:26 -07:00
caryclark
bdbb2422b9 copy points in array that may stretch
Description:
Potential SkOpSegment::addT() use-after-free

The 'pt' arg can be a reference to a point stored in the local fTs
TDArray => appending may cause a realloc and leave the reference
pointing to deallocated mem.

Copy the points from the stretchy array before adding them.

R=fmalita@google.com, fmalita@chromium.org, fmalita
BUG=405417

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/489853002
2014-08-20 08:11:24 -07:00
mtklein
c551d9fcae Implement SkPicture::hasText() for SkRecord backend.
Plus, some small tweaks to the existing code surrounding it.  Just proposals,
will undo whatever you don't like.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/494683003
2014-08-20 08:09:46 -07:00
bungeman
f47dfed7a2 Remove SK_FONT_HOST_DOES_NOT_USE_FONTMGR and guarded code.
This define is no longer needed or set, so remove it from the code.

R=tomhudson@google.com, djsollen@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/488083004
2014-08-20 08:01:35 -07:00
epoger
2c4352bb9d rebaseline_server: allow users to generate SKP diff patches on a shared instance
This will allow developers to maintain SKP baselines without ever running their
own rebaseline_server instance!

For now, the developer must manually apply the resulting patchset to his local
Skia checkout to actually modify expectations; in the near future, we hope to
make the UI upload the patchset to Rietveld on the user's behalf.

BUG=skia:1918
NOTRY=true
R=stephana@google.com, rmistry@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/487853004
2014-08-20 08:00:28 -07:00
epoger
802aa8c15b start maintaining some experimental SKP expectations
BUG=skia:1942
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana

Author: epoger@google.com

Review URL: https://codereview.chromium.org/491003002
2014-08-20 07:52:29 -07:00
mtklein
753b870c62 Define NDEBUG instead of SK_DEBUG/SK_RELEASE.
This makes our builds more like Chrome's, and will make our builds fail
if we accidentally use if SK_DEBUG instead of ifdef SK_DEBUG.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/481513004
2014-08-20 07:38:46 -07:00
reed
b88813683c fix Image::isOpaque test to not leak
BUG=skia:
R=halcanary@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/495523002
2014-08-20 07:24:01 -07:00
djsollen
858a789124 Revert to old autohinting behavior on Android.
This CL reverts to the NO_AUTOHINT behavior when autohinting is not
explicitly requested. This should be removed when Skia supports a
better API for selecting the correct variation.

This CL has landed in the Android repo and is being upstreamed to
avoid fragmenting the codebase.

R=bungeman@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/490913003
2014-08-20 07:03:23 -07:00
caryclark
367d03fb5a ignore release as well
This GM is flaky as Brian expected on both Release and Debug,
so suppress the Release expectation as well.

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

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/489083002
2014-08-20 06:34:15 -07:00
borenet
25008092d6 Rename Recipes bot expectations
Accidentally used the wrong name :-/

R=epoger@google.com, rmistry@google.com
TBR=epoger, rmistry
BUG=skia:761

Author: borenet@google.com

Review URL: https://codereview.chromium.org/495493002
2014-08-20 06:31:12 -07:00
tomhudson
3a0f279167 Move the code over using the same template type approach previously used for willPlayBackBitmaps in http://skbug.com/2702.
Also unifies that flag and this one into a struct so they and others can be computed together. The struct is stored const to enforce lifetime expectations. Adds a few new cases to the unit test.

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

Committed: https://skia.googlesource.com/skia/+/60c2a79cfa8ceebcbafc243407564dc71f5e3b4f

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/364823009
2014-08-20 05:29:41 -07:00
borenet
5dfe779c2e Copy skimage expectations for Recipes bots
BUG=skia:761
NOTRY=true
R=epoger@google.com, rmistry@google.com

Author: borenet@google.com

Review URL: https://codereview.chromium.org/480333003
2014-08-20 05:25:31 -07:00
caryclark
9a657fa0b4 fix #if to #ifdef for SK_DEBUG
fix the chrome build

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

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/495453003
2014-08-20 05:24:29 -07:00
kkinnunen
5b65357799 Simplify GrGLPathRendering interface
Simplify GrGLPathRendering interface by removing polymorphism and functions that
simply wrap GL functions unnecessarily.

Replace the polymorphism by if -condition.

Call the unconditional GL functions directly. GrGLPath, GrGLPathRange and
GrGLPathRendering are part of the same logical subsystem. This means that the
subsystem implementation details are taken into account within these
classes. Example: if support for using conics would be added, the feature flag
would go to GrGLPathRendering::Caps, the emulation would go to GrGLPath instead of
GrGLPathRendering::pathCommands. Wrapping glPathCommandsNV is not useful.

Try to expose the interface fully in same logical level; rename fragment input
function to reflect this.

R=bsalomon@google.com, cdalton@nvidia.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/450283002
2014-08-20 04:13:27 -07:00
kkinnunen
ccdaa04225 Separate GL path rendering state from GrGpuGL to GrGLPathRendering
Separate GL path rendering state from GrGpuGL to GrGLPathRendering. This
makes GrGpuGL code simpler.

The intention is that while GrGpuGL represents the global environment for GL,
the GrGLPathRendering represents the global environment for path rendering
extension.

Add GrPathRendering, a base class for path rendering, and inherit
GrGLPathRendering from that. Move the path rendering virtual functions from
GrGpu to GrPathRendering.

R=bsalomon@google.com, cdalton@nvidia.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/452823002
2014-08-20 01:36:24 -07:00
changjun.yang
cecc91c444 Make GrGLConfigConversionEffect work for Imagination and some other GPUs.
BUG=372341

Committed: https://skia.googlesource.com/skia/+/93cf46f7d687128d2ad05762bd65fea6c4539553

R=bsalomon@google.com, tomhudson@chromium.org

Author: changjun.yang@intel.com

Review URL: https://codereview.chromium.org/277323002
2014-08-19 18:24:30 -07:00
mtklein
a19afb4180 Cheat to go fast, but be careful in debug mode.
Turns out recording actual text metrics is currently really slow.
If we want to compete with the (cheating) status quo, gotta cheat too.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/494483002
2014-08-19 17:47:14 -07:00
mtklein
afb4379dbc Print max RSS in GM and nanobench too.
Everyone used MB, so update the API to just return that.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/483323002
2014-08-19 15:55:55 -07:00
piotaixr
d2a3522503 Add the method isOpaque() to SkImage
BUG=skia:2766
R=junov@chromium.org, halcanary@google.com, scroggo@google.com, reed@google.com, bsalomon@google.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/406673003
2014-08-19 14:29:02 -07:00
bsalomon
1d89ddc4a3 Revert of Add GrResourceCache2. (patchset #4 of https://codereview.chromium.org/481443002/)
Reason for revert:
Likely caused a leak detected in Chromium after last Skia roll.

Original issue's description:
> Add GrResourceCache2.
>
> Currently it just replaces GrGpu as the owner of the linked list of resources.
>
> Committed: https://skia.googlesource.com/skia/+/94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f

R=mtklein@google.com, robertphillips@google.com
TBR=mtklein@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/477323006
2014-08-19 14:20:58 -07:00
mtklein
a34633f358 Trim down OSX GYP rules. Same effect, shorter.
BUG=skia:
R=bungeman@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/486233003
2014-08-19 13:33:00 -07:00
bungeman
31c4772b78 Treat embedded bitmaps as a hinting method.
R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/483313002
2014-08-19 13:18:58 -07:00
mtklein
94e51567dd Add --options to nanobench, similar to --key but for non-identifying options.
Friends with https://codereview.chromium.org/487233003/

Example of out/Release/nanobench --options build_number 12374 --match patch_grid_texs_small

{
   "gitHash":"unknown-revision",
   "options":{
      "build_number":"12374",
      "system":"UNIX"
   },
   "results":{
      "patch_grid_texs_small_640_480":{
         "565":{
            "max_ms":0.268116,
            "mean_ms":0.2318529,
            "median_ms":0.235337,
            "min_ms":0.219158,
            "options":{
               "source_type":"bench"
            },
            "stddev_ms":0.01491263917658814
         },
         "8888":{
            "max_ms":0.231881,
            "mean_ms":0.2214668,
            "median_ms":0.219356,
            "min_ms":0.218887,
            "options":{
               "source_type":"bench"
            },
            "stddev_ms":0.004595541070791701
         },
         "gpu":{
            "max_ms":0.1398304782608696,
            "mean_ms":0.128833402173913,
            "median_ms":0.1316798695652174,
            "min_ms":0.1111915434782609,
            "options":{
               "GL_RENDERER":"Quadro 600/PCIe/SSE2",
               "GL_SHADING_LANGUAGE_VERSION":"4.40 NVIDIA via Cg compiler",
               "GL_VENDOR":"NVIDIA Corporation",
               "GL_VERSION":"4.4.0 NVIDIA 331.79",
               "source_type":"bench"
            },
            "stddev_ms":0.008923738937837156
         }
      }
   }
}

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/490683002
2014-08-19 12:41:56 -07:00
epoger
8ab362e6e5 rebaseline_server: in Pending Approval tab, change expected/actual labels to old/new
BUG=skia:1918
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana

Author: epoger@google.com

Review URL: https://codereview.chromium.org/484763004
2014-08-19 12:17:06 -07:00
bsalomon
94ce9ac862 Add GrResourceCache2.
Currently it just replaces GrGpu as the owner of the linked list of resources.

R=robertphillips@google.com, mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/481443002
2014-08-19 08:21:25 -07:00
caryclark
38dd9f2e41 remove unused SkIntToFloatCast_NoOverflowCheck
R=reed@google.com, reed
BUG=skia:2849

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/483273003
2014-08-19 07:39:41 -07:00
mtklein
3ba54fa0ad Roll jsoncpp, drop dependency on Chromium overrides.
This rolls jsoncpp to head, crucially past "Added missing includes for
std::istream." which has given us some grief in the past. And it's required to
build jsoncpp against libc++.

Vanilla jsoncpp works just fine for us, so no need for Chromium's overrides.
Like all DEPS, only tools depend on jsoncpp.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/481823003
2014-08-19 07:21:00 -07:00
mtklein
6332f1dd20 Record concat as setMatrix.
Mainly this cuts out a type to have to think about in SkRecord world.
It also means all the CTMs are recorded directly in the SkRecord, so
we can track the current CTM by pointer rather than by copying.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/484673003
2014-08-19 07:09:40 -07:00
fmalita
8a39a6b2b1 Quickfix for incorrect PICTURE_MATRIX_PAINT & PATCH optimization.
DRAW_PICTURE_MATRIX_PAINT & DRAW_PATCH are drawing ops.

R=reed@google.com, robertphillips@google.com, mtklein@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/480463004
2014-08-19 06:50:36 -07:00
halcanary
97d2c0a216 Move SkReadBuffer.h and SkReader32.h out of include.
Committed: https://skia.googlesource.com/skia/+/2a51d7c74cec217195f861677de8998b382b39e4

R=mtklein@google.com, reed@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/481053002
2014-08-19 06:27:53 -07:00
caryclark
de218041b9 add patch grid update for 64 bit arm
TBR=
NOTREECHECKS=true
NOTRY=true

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/463353003
2014-08-19 05:28:23 -07:00
borenet
639663c7ab Update SKP version to 78
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/487073003
2014-08-18 21:22:20 -07:00