Commit Graph

64 Commits

Author SHA1 Message Date
reed@google.com
97af1a64ae Add caching of the snapshot image form a surface
Notify the surface when the canvas draws into it, so it can invalidate the
cached image, and (if needed) perform a copy-on-write on the surface if it
was being shared with the image.
Review URL: https://codereview.appspot.com/6441115

git-svn-id: http://skia.googlecode.com/svn/trunk@5306 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-28 12:19:02 +00:00
bungeman@google.com
fd668cfffe Fix greenish text rendering on Linux.
https://codereview.appspot.com/6484048/


git-svn-id: http://skia.googlecode.com/svn/trunk@5280 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-24 17:46:11 +00:00
borenet@google.com
af73091b56 Set bench/gm/tests as explicit dependencies of SkiaAndroidApp (trunk)
Hopefully this fixes the flaky Android build.
Review URL: https://codereview.appspot.com/6461067

git-svn-id: http://skia.googlecode.com/svn/trunk@5032 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 15:54:28 +00:00
reed@google.com
baa5d94ee3 split out src file names into core.gypi, with an eye towards sharing that
file with chrome...
Review URL: https://codereview.appspot.com/6446103

git-svn-id: http://skia.googlecode.com/svn/trunk@5007 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-08 20:39:17 +00:00
reed@google.com
66e51608f1 Privatize SkAutoKern.h
git-svn-id: http://skia.googlecode.com/svn/trunk@4998 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 21:41:42 +00:00
djsollen@google.com
21830d9009 Refactor Bitmap Storage for SkPicture using SkPipe's design.
Refactor Picture and Pipe bitmap storage into common data structure

Update SkFlattenable buffers to be more modular.

This CL is an effort to stage the conversion to named
parameters for all SkFlattenable commands. This particular
stage only does the following two things...

1. Move flattenable buffers from SkFlattenable.h into
   their own header.
2. Update and Add new read write methods for better clarity
   and convenience.

BUG=

Review URL: https://codereview.appspot.com/6445079

git-svn-id: http://skia.googlecode.com/svn/trunk@4994 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 19:49:41 +00:00
djsollen@google.com
c73dd5c688 Update SkFlattenable buffers to be more modular.
This CL is an effort to stage the conversion to named
parameters for all SkFlattenable commands. This particular
stage only does the following two things...

1. Move flattenable buffers from SkFlattenable.h into
   their own header.
2. Update and Add new read write methods for better clarity
   and convenience.

BUG=

Review URL: https://codereview.appspot.com/6448095

git-svn-id: http://skia.googlecode.com/svn/trunk@4980 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 15:54:32 +00:00
digit@google.com
fbf31949ac arm: Move SkUtilsArm.h from include/core to src/core
There is no reason to make this visible to client code.
Review URL: https://codereview.appspot.com/6441082

git-svn-id: http://skia.googlecode.com/svn/trunk@4892 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 15:58:41 +00:00
bungeman@google.com
97efada074 Gamma correcting masks.
https://codereview.appspot.com/6244068/


git-svn-id: http://skia.googlecode.com/svn/trunk@4841 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 20:40:50 +00:00
bungeman@google.com
bbe5013141 Split SkGlyph into its own header.
https://codereview.appspot.com/6434049/


git-svn-id: http://skia.googlecode.com/svn/trunk@4741 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 20:33:21 +00:00
reed@google.com
b0a34d80c5 idea: add annotation to SkPaint
Review URL: https://codereview.appspot.com/6355050

git-svn-id: http://skia.googlecode.com/svn/trunk@4555 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-11 19:57:55 +00:00
djsollen@google.com
e341cb37e6 Separate target architecture type and width into separate variables.
Also add support for building mac in 64 bit mode.
Review URL: https://codereview.appspot.com/6343050

git-svn-id: http://skia.googlecode.com/svn/trunk@4385 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-28 16:08:05 +00:00
junov@chromium.org
ef76060cbf Adding checksum to SkFlatData to accelerate SkPicture recording.
The checksum triggers an early exit in the mem compare use to search for duplicate flattened objects. Also, call to memcmp was replaced with 64-bit at a time comparison loop.

Review URL: http://codereview.appspot.com/6339046/
BUG=http://code.google.com/p/chromium/issues/detail?id=54079
TEST=Checksum and PictureRecord tests in bench.exe



git-svn-id: http://skia.googlecode.com/svn/trunk@4378 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-27 20:03:16 +00:00
robertphillips@google.com
b74af872cc Separated Inst counting from the SK_DEBUG #define (now SK_ENABLE_INST_COUNT)
http://codereview.appspot.com/6353047/



git-svn-id: http://skia.googlecode.com/svn/trunk@4376 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-27 19:41:42 +00:00
robertphillips@google.com
977b9c8af3 Instance counting for SkRefCnt-derived objects (w/ CanvasTest fix)
http://codereview.appspot.com/6242070/



git-svn-id: http://skia.googlecode.com/svn/trunk@4170 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-05 19:35:09 +00:00
robertphillips@google.com
25c199343d Reverting r4162
git-svn-id: http://skia.googlecode.com/svn/trunk@4164 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-05 16:24:32 +00:00
robertphillips@google.com
3227ab5f64 Added instance counting system for SkRefCnt-derived objects
http://codereview.appspot.com/6242070/



git-svn-id: http://skia.googlecode.com/svn/trunk@4162 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-05 15:40:54 +00:00
scroggo@google.com
5af9b2032b Make the GM tool run GMs through an SkGPipe.
Add pipe to core gyp project.

Do not run samplerstress through the pipe, since its
custom MaskFilter will not draw correctly.

Fix an assert in SkGPipeWrite when writing a typeface.
Review URL: https://codereview.appspot.com/6276044

git-svn-id: http://skia.googlecode.com/svn/trunk@4139 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-04 17:17:36 +00:00
digit@google.com
eec9dbcace arm: First step towards dynamic NEON support.
This patch adds minimal support for dynamic ARM NEON support,
i.e. the ability to probe the CPU at runtime for NEON and
provide alternate code paths when it is available.

- Add include/core/SkUtilsArm.h, which declares a few helper
  macros (e.g. SK_NEON_ARM_IS_DYNAMIC), plus the handy
  function 'sk_cpu_arm_has_neon()' which returns true if
  the target CPU supports the ARM NEON instruction set.

  Note that the header is in include/core/ because it will
  have to be included from NEON-specific code under src/code/

  It would probably be more logical to put it under include/opts/
  instead, but this would require moving all the NEON-specific
  stuff under src/code/ into src/opts/, which is not trivial
  due to the way the code is currently architected.

- Add src/core/SkUtilsArm.cpp which implements
  'sk_cpu_arm_has_neon' for ARM-based Linux systems, only
  when SK_NEON_ARM_IS_DYNAMIC is true.

  (For other cases, 'sk_cpu_arm_has_neon' is an inline function
   that returns a constant 'true' or 'false' value).

  There is no user-level accessible CPUID instruction on ARM,
  so do all CPU feature probing by parsing /proc/cpuinfo.
  This is Linux-specific.

  For Debug build types, the CPU probing result is printed
  to the Android log (or Linux command-line) for easier
  debugging.

- Create a new 'opts_neon' target (static library) which shall
  contain all the NEON-specific code paths for the library.

  This is necessary because -mfpu=neon impacts also non-scalar
  code. Just like with -mssse3 on x86, we can't build the rest
  of the library with this flag.

  Note that for now, we only include memset16_neon and
  memset32_neon in this library.

- Modify opts_check_arm.cpp to implement SK_ARM_NEON_IS_DYNAMIC
  properly.

Compared to a 'xoom' build, the only difference is the use of
NEON-optimized memset16/32 functions. Later patches will move
more NEON-specific code paths to 'opts_neon'.
Review URL: https://codereview.appspot.com/6247058

git-svn-id: http://skia.googlecode.com/svn/trunk@4069 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-30 13:54:41 +00:00
bungeman@google.com
a02bc1519c WeakRefCnt
http://codereview.appspot.com/5649046/


git-svn-id: http://skia.googlecode.com/svn/trunk@3978 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 18:21:56 +00:00
reed@google.com
48ca7e37ef impl SkTLS for windows, refactoring to share code with pthread impl
git-svn-id: http://skia.googlecode.com/svn/trunk@3859 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 20:23:27 +00:00
epoger@google.com
58b8d4a7a8 recreate http://codereview.appspot.com/6131051/ in svn instead of git
Review URL: https://codereview.appspot.com/6181044

git-svn-id: http://skia.googlecode.com/svn/trunk@3829 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-03 14:02:17 +00:00
djsollen@google.com
2b2ede3e71 Decouple the SkFlattenable from SkReader32/SkWriter32.
The current impl for SkFlattenable read/write buffers is 
that they extend from SkReader32 and SkWriter32, but that
dependency must be abstract if we are to add any other
serialization format.
Review URL: https://codereview.appspot.com/5999045

git-svn-id: http://skia.googlecode.com/svn/trunk@3654 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-12 13:24:04 +00:00
bungeman@google.com
5a64e58ebb Revert 3538.
git-svn-id: http://skia.googlecode.com/svn/trunk@3539 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-29 14:51:56 +00:00
bungeman@google.com
29b63dc863 Correct dependencies in gyp files.
http://codereview.appspot.com/5934044/


git-svn-id: http://skia.googlecode.com/svn/trunk@3538 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-29 14:28:59 +00:00
tomhudson@google.com
599445130c Move SkClampRange into src/effects, where it isn't being advertised as
something for end-users.

http://codereview.appspot.com/5864044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3445 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-20 21:18:43 +00:00
epoger@google.com
aa3b6a965e Make all gyp targets automatically include common.gypi
Do this, rather than including common.gypi explicitly in all our gyp files, so that gyp files we use but do not maintain (e.g., third_party/externals/libjpeg/libjpeg.gyp) will include common.gypi too.
Review URL: https://codereview.appspot.com/5820068

git-svn-id: http://skia.googlecode.com/svn/trunk@3411 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-16 13:52:49 +00:00
reed@google.com
48a4cbc668 add experimental files to encapsulate device-level font settings
git-svn-id: http://skia.googlecode.com/svn/trunk@3292 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-01 19:21:11 +00:00
bsalomon@google.com
fb0d741d69 Use nested template expansions to implement Config8888 conversions.
Review URL: https://codereview.appspot.com/5690068

git-svn-id: http://skia.googlecode.com/svn/trunk@3230 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-22 21:25:34 +00:00
djsollen@google.com
a44e6c6b53 Add ARM optimizations to the build.
Also had to fix a problem in the ARM memset code that was
causing some tests and bench to fail.
Review URL: http://codereview.appspot.com/5522052

git-svn-id: http://skia.googlecode.com/svn/trunk@2989 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-09 14:38:25 +00:00
djsollen@google.com
62b24b1c80 Fix android build and cleanup references to SkMMapStream
Review URL: http://codereview.appspot.com/5489050

git-svn-id: http://skia.googlecode.com/svn/trunk@2877 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-15 16:16:22 +00:00
caryclark@google.com
afcb55c8cb move ports into its own gyp file
git-svn-id: http://skia.googlecode.com/svn/trunk@2874 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-14 17:12:04 +00:00
reed@google.com
9998c66930 remove all references to SkGlobals (obsolete)
git-svn-id: http://skia.googlecode.com/svn/trunk@2713 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-17 22:09:47 +00:00
bungeman@google.com
39698b1bd7 Add paging support for handle based typefaces.
http://codereview.appspot.com/5379043/
http://codereview.appspot.com/5364052/


git-svn-id: http://skia.googlecode.com/svn/trunk@2693 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-15 22:26:41 +00:00
bsalomon@google.com
d58a1cd00b Add config8888 support to writePixels
Review URL: http://codereview.appspot.com/5374052/



git-svn-id: http://skia.googlecode.com/svn/trunk@2662 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-10 20:57:43 +00:00
reed@google.com
830a23e39b add vertical-text bit to paint (not supported yet)
check-point for using freetype on mac (not enabled yet)



git-svn-id: http://skia.googlecode.com/svn/trunk@2657 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-10 15:20:49 +00:00
djsollen@google.com
318cf92202 Cleanup for the Android build.
git-svn-id: http://skia.googlecode.com/svn/trunk@2630 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-08 19:03:43 +00:00
djsollen@google.com
58629291bc Adding support to trunk for building Skia using the Android NDK.
This CL depends on a subsequent CL to add the appropriate NDK
toolchain and system sources to the skia repo.

Review URL: http://codereview.appspot.com/5306089/
Review URL: http://codereview.appspot.com/5306089

git-svn-id: http://skia.googlecode.com/svn/trunk@2592 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-03 13:08:29 +00:00
reed@google.com
edb606cb99 move LCD blits into opts, so they can have assembly versions
git-svn-id: http://skia.googlecode.com/svn/trunk@2484 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-18 13:56:50 +00:00
reed@google.com
c2188cf233 add SkRasterClip
git-svn-id: http://skia.googlecode.com/svn/trunk@2456 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-11 18:00:20 +00:00
reed@google.com
719fd045ab add SkAAClip.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@2447 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-10 16:04:26 +00:00
bsalomon@google.com
21fa0676c5 Add missing header SkTArray.h to core.gyp
git-svn-id: http://skia.googlecode.com/svn/trunk@2285 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-19 19:43:36 +00:00
bsalomon@google.com
8966d0149b remove nonexistent files from gyps and make AdditionalOptions a list rather than str
ReviewURL: http://codereview.appspot.com/5022042/



git-svn-id: http://skia.googlecode.com/svn/trunk@2262 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-13 20:57:33 +00:00
yangsu@google.com
a8540416f6 Switched Mac SampleApp to use Cocoa, removed the seperate CocoaSampleApp, moved dependencies out of experimental
git-svn-id: http://skia.googlecode.com/svn/trunk@2190 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-30 14:40:49 +00:00
bsalomon@google.com
a8e686eb6c Make program unit test run clean and add it to tests program
Review URL: http://codereview.appspot.com/4898049/


git-svn-id: http://skia.googlecode.com/svn/trunk@2121 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-16 15:45:58 +00:00
bungeman@google.com
b81be7a780 Include <new> required for placement new in SkTLazy.
Also, add SkTLazy to gyp and remove old includes.


git-svn-id: http://skia.googlecode.com/svn/trunk@1984 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-28 16:51:20 +00:00
bsalomon@google.com
583572252d little bit of gyp cleanup (fixes windows build of sktime_unix)
Review URL: http://codereview.appspot.com/4685045/



git-svn-id: http://skia.googlecode.com/svn/trunk@1826 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-08 16:10:53 +00:00
epoger@google.com
ea5dfa87b2 merge of SkiOSSampleApp into SampleApp, still a work in progress
http://codereview.appspot.com/4636078/



git-svn-id: http://skia.googlecode.com/svn/trunk@1785 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-01 21:01:32 +00:00
epoger@google.com
8846cb22ce Create new 'skia_os' variable to replace use of 'OS' in most places.
http://codereview.appspot.com/4627085



git-svn-id: http://skia.googlecode.com/svn/trunk@1782 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-01 20:20:07 +00:00
epoger@google.com
5351b373b3 combine target_defaults.gypi into common.gypi
http://codereview.appspot.com/4654080



git-svn-id: http://skia.googlecode.com/svn/trunk@1780 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-01 17:16:26 +00:00