Commit Graph

18088 Commits

Author SHA1 Message Date
reed
71c3c760a8 add SkCanvas::drawAtlas
BUG=skia:

Review URL: https://codereview.chromium.org/1181913003
2015-06-24 10:29:18 -07:00
robertphillips
52d4deb128 Fix debugger compilation
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1205933002
2015-06-24 10:09:57 -07:00
egdaniel
724ae2823e 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
2015-06-24 08:14:49 -07:00
scroggo
ba9a4aa855 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
2015-06-24 08:05:52 -07:00
jvanverth
cba99b88fd 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
2015-06-24 06:59:57 -07:00
robertphillips
1b8e1b5c49 Refactor GrBufferAllocPools to use resource cache
Committed: https://skia.googlesource.com/skia/+/e935f1a0e2351373c33600b8388492ce1218014a

Review URL: https://codereview.chromium.org/1139753002
2015-06-24 06:54:10 -07:00
reed
8bcc7a00fe remove SK_SUPPORT_LEGACY_PATHOP_ENUMS
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1200323005
2015-06-23 22:05:19 -07:00
reed
af4b233d46 remove SK_SUPPORT_LEGACY_FILTERLEVEL_ENUM
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1205803002
2015-06-23 21:47:30 -07:00
reed
56b73fc63f remove (legacy) NewFromData
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1199413003
2015-06-23 21:31:08 -07:00
bsalomon
74f681dce2 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
2015-06-23 14:38:48 -07:00
reed
5fbb623099 add more tests
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1201333002
2015-06-23 14:34:58 -07:00
bsalomon
841959122c Make SkNSView's window accept mouseMoved events
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1206563003
2015-06-23 14:03:47 -07:00
bungeman
c53085413e 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
2015-06-23 13:25:46 -07:00
cdalton
d416a5b10f 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
2015-06-23 13:23:44 -07:00
robertphillips
b607767703 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
2015-06-23 12:36:12 -07:00
reed
e582a5a891 remove SK_SUPPORT_LEGACY_OPTIONLESS_GET_PIXELS
BUG=skia:

Review URL: https://codereview.chromium.org/1201233002
2015-06-23 12:10:27 -07:00
halcanary
1c75515a7c 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
2015-06-23 10:59:12 -07:00
robertphillips
da57105708 Fix memory leak in simple-offsetimagefilter
Review URL: https://codereview.chromium.org/1203613004
2015-06-23 09:28:52 -07:00
reed
b3fe1b87e0 more tests for offsetimagefilter
BUG=skia:

Review URL: https://codereview.chromium.org/1199933011
2015-06-23 08:29:20 -07:00
robertphillips
e935f1a0e2 Refactor GrBufferAllocPools to use resource cache
Review URL: https://codereview.chromium.org/1139753002
2015-06-23 08:23:08 -07:00
kkinnunen
591a2ca842 Stop using the NVPR glyph loading functionality
Remove the NVPR glyph loading functionality. A bit risky feature.

Review URL: https://codereview.chromium.org/1176113008
2015-06-23 07:27:41 -07:00
bungeman
bd1fb49dd9 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
2015-06-23 07:18:21 -07:00
joshualitt
6205af0e70 add autotuning to visualbench
BUG=skia:

Review URL: https://codereview.chromium.org/1201003002
2015-06-23 07:10:59 -07:00
robertphillips
5351aad9bc Fix memory leak in SkPictureRecord
Review URL: https://codereview.chromium.org/1197283007
2015-06-23 06:54:56 -07:00
tomhudson
3fef728e16 Fix indirect use of defined() directive
BUG=432391
R=bsalomon,bungeman1

Review URL: https://codereview.chromium.org/876933004
2015-06-23 06:31:32 -07:00
robertphillips
702edbd4bc 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
2015-06-23 06:26:08 -07:00
borenet
0a9af33a92 Tweak SkiaLab docs
BUG=skia:3850
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1203443003

Review URL: https://codereview.chromium.org/1203443003
2015-06-23 06:05:01 -07:00
reed
477fdd8aa4 add simple test for offsetimagefilter
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1204723002
2015-06-23 06:01:10 -07:00
reed
c210035071 add break statement -- lost during rewrite earlier
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1193333004
2015-06-22 17:03:10 -07:00
reed
871872f3f2 change old picture serialization to really handle images
BUG=skia:3965

Review URL: https://codereview.chromium.org/1199473002
2015-06-22 12:48:26 -07:00
joshualitt
c1f56b5182 fix for calling bindFragDataLocation on OpenGL 2.1
BUG=skia:3966

Review URL: https://codereview.chromium.org/1201623003
2015-06-22 12:31:32 -07:00
robertphillips
efbffedd68 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
2015-06-22 12:06:08 -07:00
mtklein
343c7d15c8 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
2015-06-22 11:00:48 -07:00
joshualitt
fef3fad272 fix spurious init on VisualBench startup
BUG=skia:

Review URL: https://codereview.chromium.org/1202023002
2015-06-22 10:44:46 -07:00
emmaleer
0a4c3cbfd7 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
2015-06-22 10:40:21 -07:00
mtklein
059ac00446 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
2015-06-22 10:39:38 -07:00
robertphillips
9a53fd7c41 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
2015-06-22 09:46:59 -07:00
reed
462a33c7ac clean offsetimagefilter gm
BUG=skia:
TBR=robertphilips

Review URL: https://codereview.chromium.org/1203473002
2015-06-22 09:10:14 -07:00
jvanverth
34d7288b19 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
2015-06-22 08:08:09 -07:00
jvanverth
4854d13c27 Remove distance field flag from SkPaint
Review URL: https://codereview.chromium.org/1192413005
2015-06-22 06:46:56 -07:00
joshualitt
01f38915e1 Fixup android launch script to launch VisualBench as well as SampleApp
BUG=skia:

Review URL: https://codereview.chromium.org/1185473003
2015-06-22 05:39:32 -07:00
kkinnunen
78cff136a4 Make GrGLProgramDataManager not refcounted
Make GrGLProgramDataManager not refcounted, refcounting is not used for
the instances.

Review URL: https://codereview.chromium.org/1195573002
2015-06-21 22:55:12 -07:00
skia.buildbots
a45e6d2d79 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

Review URL: https://codereview.chromium.org/1194233002
2015-06-21 00:17:25 -07:00
reed
dab1f60d12 remove SK_SUPPORT_LEGACY_OPTIONLESS_GET_PIXELS (now in SkUserConfig.h)
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/1200623003
2015-06-20 08:45:59 -07:00
robertphillips
7b05ff11eb Rename all things "leaky" in SkDevice
Review URL: https://codereview.chromium.org/1198603002
2015-06-19 14:14:55 -07:00
joshualitt
b7134b64c6 Fix for assert in VisualBench
BUG=skia:

Review URL: https://codereview.chromium.org/1198433004
2015-06-19 12:46:33 -07:00
robertphillips
fcf7829b67 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
2015-06-19 11:49:52 -07:00
jvanverth
97c595f304 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
2015-06-19 11:06:28 -07:00
egdaniel
393551e338 Move rect_memcopy from helper to global static.
BUG=skia:

Review URL: https://codereview.chromium.org/1197713003
2015-06-19 10:52:25 -07:00
msarett
7054257de9 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
2015-06-19 07:44:05 -07:00