Commit Graph

684 Commits

Author SHA1 Message Date
bsalomon@google.com
2080635ce0 Add gpu.gypi to ease skia->chrome rolls
http://codereview.appspot.com/6486043/


git-svn-id: http://skia.googlecode.com/svn/trunk@5250 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 12:55:01 +00:00
robertphillips@google.com
2ea0a231a8 Refactored GrDLinkedList into SkTDLinkedList
http://codereview.appspot.com/6484045/



git-svn-id: http://skia.googlecode.com/svn/trunk@5247 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 11:13:48 +00:00
george@mozilla.com
c59b5dac90 Split out SkFontHost_FreeType into common files
Review URL: https://codereview.appspot.com/6442092

git-svn-id: http://skia.googlecode.com/svn/trunk@5246 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 00:39:08 +00:00
senorblanco@chromium.org
84207c4278 Move the code for the GPU implementation of morphology effects from GrContext
and GrMorphologyEffect.* into SkMorphologyImageFilter.cpp.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@5241 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-22 20:51:19 +00:00
senorblanco@chromium.org
b2ee33c535 Implements the non-Porter-Duff compositing modes required for SVG's feBlend
element.  This filter has two inputs, since normal blending can't be used.  The
GPU side uses two filter stages to accomplish this:  one to sample the
background, and one to sample the foreground and blend it.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@5231 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-22 16:24:44 +00:00
scroggo@google.com
d5764e8ab7 When copying a bitmap, copy the generation ID.
Review URL: https://codereview.appspot.com/6462084

git-svn-id: http://skia.googlecode.com/svn/trunk@5227 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-22 15:00:05 +00:00
keyar@chromium.org
9299eded38 Images are written by PictureRenderer and not render_pictures_main.
Review URL: https://codereview.appspot.com/6448174

git-svn-id: http://skia.googlecode.com/svn/trunk@5216 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-21 19:05:08 +00:00
caryclark@google.com
03f970652e shape ops work in progress
working demo of old vs. new

git-svn-id: http://skia.googlecode.com/svn/trunk@5209 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-21 13:13:52 +00:00
senorblanco@chromium.org
436411b013 Fix typo in r5202, preventing include files from showing up.
Build fix; unreviewed.



git-svn-id: http://skia.googlecode.com/svn/trunk@5205 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 21:35:00 +00:00
senorblanco@chromium.org
f6100c3ac3 Extract list of source files from effects.gyp into effects.gypi, as was done for
core.gyp.  This should make our lives easier when rolling DEPS.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@5202 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 20:56:26 +00:00
senorblanco@chromium.org
44888c66d4 Move SkColorFilterImageFilter into its own file.
Review URL:  https://codereview.appspot.com/6463072/



git-svn-id: http://skia.googlecode.com/svn/trunk@5197 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 19:23:24 +00:00
borenet@google.com
b7961193a3 Enable 64-bit builds on Windows
Encountered compile errors passing 64-bit size_t to
SkIntToScalar and needed to make adjustments to
gm/gradients.cpp and bench/PicturePlaybackBench.cpp.

Verified on my local Linux, Mac, and Windows machines.

As of this change, the skia_arch_width gyp define
actually forces a 32/64-bit build on Linux, Mac, and
Windows.
Review URL: https://codereview.appspot.com/6460112

git-svn-id: http://skia.googlecode.com/svn/trunk@5195 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 18:58:26 +00:00
keyar@chromium.org
b00a85b7f3 Fixed no GPU build. Not reviewed.
git-svn-id: http://skia.googlecode.com/svn/trunk@5189 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:49:47 +00:00
senorblanco@chromium.org
bf2768bab9 Refactor SkImageFilter into its own .cpp file.
Review URL:  https://codereview.appspot.com/6465073/



git-svn-id: http://skia.googlecode.com/svn/trunk@5188 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:43:14 +00:00
keyar@chromium.org
81058469d5 Changed the gyp file to handle dpendencies via exports.
git-svn-id: http://skia.googlecode.com/svn/trunk@5174 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:03:38 +00:00
keyar@chromium.org
0612564bb7 The GrContext and the GrFactoryContext are now kept around.
git-svn-id: http://skia.googlecode.com/svn/trunk@5172 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:03:33 +00:00
keyar@chromium.org
4ea96c5e54 Dirty commit so Brian can see changes.
git-svn-id: http://skia.googlecode.com/svn/trunk@5171 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:03:29 +00:00
senorblanco@chromium.org
f1369ce607 Implements a new class, SkSingleInputImageFilter, to handle DAG connectivity
for filters with a single image input.  This provides functionality to store,
flatten and unflatten a single SkImageFilter input, as well as to recursively
evaluate it on the CPU or GPU.  The following classes were re-parented to 
implement DAG connectivity:  SkBlurImageFilter, SkDilateImageFilter,
SkErodeImageFilter, SkColorFilterImageFilter.  The constructors for each
have been appended with a new parameter, representing the input filter
(default NULL).

This change also implements an arbitrary SkBitmap input source for filtering,
SkBitmapSource.

NOTE:  This CL will require gyp file changes when rolling past this revision.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@5170 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 14:53:21 +00:00
bungeman@google.com
b49d989997 Remove SK_FONTHOST_WIN_DW define.
git-svn-id: http://skia.googlecode.com/svn/trunk@5132 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 17:35:58 +00:00
bungeman@google.com
6ca0a5da6c Don't try to build SkFontHost_win_dw.cpp on non-Windows platforms.
git-svn-id: http://skia.googlecode.com/svn/trunk@5129 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 16:23:09 +00:00
bungeman@google.com
e8f0592ae8 DirectWrite font host for skia.
https://codereview.appspot.com/5417063/


git-svn-id: http://skia.googlecode.com/svn/trunk@5128 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 16:13:40 +00:00
keyar@chromium.org
5bdef29ae0 GrContextFactory can now expose the GLContext it is using.
Review URL: https://codereview.appspot.com/6461081

git-svn-id: http://skia.googlecode.com/svn/trunk@5105 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 22:02:48 +00:00
reed@google.com
c0f1dfb4ed privatize SkScalerContext.h
git-svn-id: http://skia.googlecode.com/svn/trunk@5096 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 19:45:58 +00:00
reed@google.com
fe8765c82a privatize SkDescriptor.h
git-svn-id: http://skia.googlecode.com/svn/trunk@5086 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 17:41:34 +00:00
junov@chromium.org
9ed02b9da2 Augmenting SkDeferredCanvas notification interface to signal flushes and memory allocations
Renamed SkDeferredCanvas::DeviceContext to SkDeferredCanvas::NotificationClient

BUG=http://code.google.com/p/chromium/issues/detail?id=136828
TEST=Added coverage for new API to DeferredCanvas unit test. Added DeferredCanvas bench test to track deferred canvas overhead cost.
Review URL: https://codereview.appspot.com/6442108

git-svn-id: http://skia.googlecode.com/svn/trunk@5078 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 13:36:26 +00:00
rileya@google.com
2e2aedc204 Added GrTextureStripAtlas object.
Review URL: https://codereview.appspot.com/6457099

git-svn-id: http://skia.googlecode.com/svn/trunk@5070 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 20:28:48 +00:00
robertphillips@google.com
3c4121e812 Updated gpu.gyp to move GrCacheID.h from src\gpu to include\gpu
git-svn-id: http://skia.googlecode.com/svn/trunk@5060 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 14:46:35 +00:00
chudy@google.com
bbad34de3b Effects Bug Fix
Certain compilers in an effort to optimize code chop off files that are never
used. By adding a flag to common conditions and variables we can force skia to
recompile with global static initializers off. By making a call to
SkGraphics::Init we now register all those functions that had been previously
automatically excluded by the compiler.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5057 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 14:26:36 +00:00
bsalomon@google.com
82aa7482cb Add a zoom filter to Skia. This will be used on ChromeOS to implement the screen magnifier.
Committed on behalf of zork@chromium.org

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


git-svn-id: http://skia.googlecode.com/svn/trunk@5056 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 14:22:17 +00:00
digit@google.com
3ada0efdc8 arm: dynamic NEON support for SkBitmapProcState functions.
This patch does the following:

  - Move the NEON-specific code from src/core/SkBitmapProcState_filter.h
    to src/opts/SkBitmapProcState_filter_neon.h

  - Implement the NEON-specific functions in the new source file
    src/opts/SkBitmapProcState_opts_arm_neon.cpp, added to the "opts_neon"
    static library target. All functions now use the _neon suffix, even
    in full-NEON builds.

  - Move most of the content of src/core/SkBitmapProcState.cpp to a
    new header: src/core/SkBitmapProcState_procs.h

This header is included by two source files:

  src/core/SkBitmapProcState.cpp, to define the regular functions.
  src/opts/SkBitmapProcState_opts_arm_neon.cpp to define NEON ones.

This is to deal with the fact that all NEON functions now
use the _neon suffix, even in SK_ARM_NEON_IS_ALWAYS mode,
and to be able to include the same header twice in the
SK_ARM_NEON_IS_DYNAMIC case.
Review URL: https://codereview.appspot.com/6449117

git-svn-id: http://skia.googlecode.com/svn/trunk@5055 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 14:06:34 +00:00
mike@reedtribe.org
3d1cb97240 move texteffects from Sample to gm
git-svn-id: http://skia.googlecode.com/svn/trunk@5051 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 00:52:07 +00:00
mike@reedtribe.org
56d5bfa90e privatize SkBuffer.h
git-svn-id: http://skia.googlecode.com/svn/trunk@5050 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 00:01:39 +00:00
mike@reedtribe.org
65be881c83 privatize SkRefDict.h
git-svn-id: http://skia.googlecode.com/svn/trunk@5049 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-12 23:45:04 +00:00
mike@reedtribe.org
d02d4fffad privatize SkGlyph.h
git-svn-id: http://skia.googlecode.com/svn/trunk@5048 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-12 19:43:52 +00:00
mike@reedtribe.org
2bc1689dbd privatize SkPtrRecorder.h
git-svn-id: http://skia.googlecode.com/svn/trunk@5047 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-12 19:34:07 +00:00
borenet@google.com
a37a517b54 Enable 32/64-bit gyp switch on Linux
Linux defaults to 64, other platforms 32.  As of this change, only Mac and
Linux are affected by the skia_arch_width flag.  Next step is to make Win
work as well.
Review URL: https://codereview.appspot.com/6460066

git-svn-id: http://skia.googlecode.com/svn/trunk@5041 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 20:44:32 +00:00
reed@google.com
aaa3aec09b privatize SkBlitter.h
git-svn-id: http://skia.googlecode.com/svn/trunk@5040 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 20:32:43 +00:00
reed@google.com
cabe48af63 privatize SkScan.h
git-svn-id: http://skia.googlecode.com/svn/trunk@5038 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 20:08:13 +00:00
reed@google.com
d74e710c00 remove SkShape (unused)
Review URL: https://codereview.appspot.com/6461069

git-svn-id: http://skia.googlecode.com/svn/trunk@5033 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 18:05:33 +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
mike@reedtribe.org
e012e0a341 privatize SkEdgeClipper.h
git-svn-id: http://skia.googlecode.com/svn/trunk@5027 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 01:26:07 +00:00
mike@reedtribe.org
620aebb4d7 removed SkPerspIter.h
git-svn-id: http://skia.googlecode.com/svn/trunk@5026 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 01:05:35 +00:00
digit@google.com
1407a4861a Fix the Android build.
Sorry, the offending line should have been part of a different patch.
Review URL: https://codereview.appspot.com/6448129

git-svn-id: http://skia.googlecode.com/svn/trunk@5023 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-08 22:58:40 +00:00
digit@google.com
a8dd1ce930 arm: dynamic NEON support for SkBlitRow_opts_arm.cpp
This patch moves all NEON-specific code from the source
src/opts/SkBlitRow_opts_arm.cpp into a new file that is
built as part of the 'opts_arm_neon' static library.
Review URL: https://codereview.appspot.com/6449110

git-svn-id: http://skia.googlecode.com/svn/trunk@5016 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-08 22:06:29 +00:00
scroggo@google.com
10dccde54a Make SkGPipe use SkBitmapHeap.
In the single process (or hypothetical cross process/shared address
space) mode, SkGPipe now uses SkBitmapHeap instead of SharedHeap.

Still need to use the shared heap for shaders as well as for cross
process.

TEST=PipeTest

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5008 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-08 20:43:22 +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
robertphillips@google.com
46a8600405 Refactored cacheID in preparation for clip mask caching changes
http://codereview.appspot.com/6458089/



git-svn-id: http://skia.googlecode.com/svn/trunk@5002 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-08 10:42:44 +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
chudy@google.com
607357fde8 Refactoring into a public facing facing SkDebugger class first pass.
Review URL: https://codereview.appspot.com/6450096

git-svn-id: http://skia.googlecode.com/svn/trunk@4986 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 16:12:23 +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
reed@google.com
7eb3a2653b add gm for very large bitmaps (>32K >64K)
raster expected to fail when scaling >64K (for now)



git-svn-id: http://skia.googlecode.com/svn/trunk@4967 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 14:05:14 +00:00
bsalomon@google.com
2e40173c95 revert gpu-less mac sample app, remove busted sample (that has equivalent gm)
Review URL: https://codereview.appspot.com/6450088/



git-svn-id: http://skia.googlecode.com/svn/trunk@4954 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 19:25:10 +00:00
chudy@google.com
a9e937c7b7 Moved the ownership of the current clip and current matrix into the debug canvas as part of the upcoming general refactor to everything living in debug canvas.
Review URL: https://codereview.appspot.com/6447077

git-svn-id: http://skia.googlecode.com/svn/trunk@4950 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 17:32:05 +00:00
bsalomon@google.com
d472620458 Registry-based unit test for custom effects
Review URL: http://codereview.appspot.com/6447085/



git-svn-id: http://skia.googlecode.com/svn/trunk@4946 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 14:34:46 +00:00
bsalomon@google.com
c3841b927b Move GL programs unit test code to tests project.
Review URL: http://codereview.appspot.com/6453079/



git-svn-id: http://skia.googlecode.com/svn/trunk@4927 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 18:11:43 +00:00
bsalomon@google.com
cf8fb1f6f0 Create GPU-less build of Skia.
git-svn-id: http://skia.googlecode.com/svn/trunk@4912 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 14:03:32 +00:00
robertphillips@google.com
a2d71482db Removed GrClip & related classes
http://codereview.appspot.com/6450071/



git-svn-id: http://skia.googlecode.com/svn/trunk@4899 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 20:08:47 +00:00
scroggo@google.com
0c3e5fe728 Pipe factory names independently from the flattenables using them.
Avoids an issue where a flattenable written twice might be written
differently (the first time the flat data may have a name, whereas
the second time it will have an index).

Also add a test which confirms that identical flattenables will have
the same SkFlatData representation.

BUG=https://code.google.com/p/skia/issues/detail?id=721
TEST=FlatDataTest.cpp

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4896 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 19:34:20 +00:00
keyar@chromium.org
163b56734f Merged bench_pictures and render_pictures rendering methods.
bench_pictures now uses a class based method for choosing the benchmark type as well.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4894 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 17:53:29 +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
digit@google.com
fce02aca62 arm: dynamic NEON support for SkBitmapProcState matrix operations.
This patch implements dynamic ARM NEON support for the functions
implemented by src/core/SkBitmapProcState_matrixProcs.cpp.

 - Because the SkBitmapProcState_matrix_{clamp,repeat}.h headers
   are NEON-specific, they are renamed with a _neon.h suffix, and
   moved to src/opts/ (from src/core/)

 - Add a new file src/opts/SkBitmapProcState_matrixProcs_neon.cpp
   which implements the NEON code paths for all builds, and add
   it to the 'opts_neon' static library.

 - Modify SkBitmapProcState_matrixProcs.cpp to select the right
   code-path depending on our build configuration. Note that in
   the case where 'arm_neon == 1', we do not embed regular ARM
   code paths in the final binary. Only 'arm_neon_optional == 1'
   builds will contain both regular and NEON code paths at the
   same time.

Note that there doesn't seem to be a simple way to put the
NEON-specific selection from that currently is in
SkBitmapProcState_matrixProcs.cpp into src/opts/. Doing so
would require much more drastic restructuring. This is also
true of the other SkBitmapProcState source files that will
be touched in a future patch.
Review URL: https://codereview.appspot.com/6453065

git-svn-id: http://skia.googlecode.com/svn/trunk@4888 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 14:25:07 +00:00
chudy@google.com
0b5bbb0f82 Optimized hit testing feature, refactored into seperate function from canvas draw calls
Review URL: https://codereview.appspot.com/6443068

git-svn-id: http://skia.googlecode.com/svn/trunk@4867 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 19:55:32 +00:00
reed@google.com
a7ffb956cb remove '../gm/image.cpp',
git-svn-id: http://skia.googlecode.com/svn/trunk@4855 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 15:01:57 +00:00
reed@google.com
076f4c9791 fix LayerDrawLooper to record its fFlagsMask
convert SampleDrawLooper to a GM



git-svn-id: http://skia.googlecode.com/svn/trunk@4854 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 14:32:38 +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
scroggo@google.com
58be682c77 Share code in various SkGPipeCanvas::drawBitmap_ calls.
Also implement SkGPipeCanvas::drawBitmapMatrix, and
create a GM to make sure it works properly.

Use a flag instead of writing a bool for determining whether
drawBitmap_ has a paint and whether drawBitmapRect has a source
rectangle.

BUG=
TEST=drawbitmapmatrix GM

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4828 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 14:40:01 +00:00
scroggo@google.com
3cb969f27d In SkGPipe, only serialize SkTypefaces in cross process mode.
Also make SkGPipeController ref the recording canvas to ensure that
objects used by SkGPipeCanvas (e.g. SharedHeap and fTypefaceSet, which
hold references to objects to which pointers are written to the stream)
survive to be played back even if SkGPipeWriter.endRecording() is called.

BUG=
TEST=TypefaceGM

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4817 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 20:39:19 +00:00
rileya@google.com
d7cc651b8d Move GPU gradients into src/effects/gradients.
Review URL: https://codereview.appspot.com/6453055

git-svn-id: http://skia.googlecode.com/svn/trunk@4805 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 14:00:39 +00:00
rileya@google.com
589708bf7c Split SkGradientShader into separate files for each gradient subclass.
Review URL: https://codereview.appspot.com/6447049

git-svn-id: http://skia.googlecode.com/svn/trunk@4792 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 20:04:23 +00:00
bsalomon@google.com
1c31f63323 Remove texture/mask setters on GrPaint
Review URL: http://codereview.appspot.com/6446052/



git-svn-id: http://skia.googlecode.com/svn/trunk@4790 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 19:39:06 +00:00
chudy@google.com
ea5488b965 GL Widget Alpha
Review URL: https://codereview.appspot.com/6422060

git-svn-id: http://skia.googlecode.com/svn/trunk@4789 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 19:38:22 +00:00
keyar@chromium.org
451bb9f801 Changed to a class based method in passing around the rendering method for render_pictures.
This is based on a comment for https://codereview.appspot.com/6427061/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4786 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 17:27:57 +00:00
bsalomon@google.com
dbbc4e2da9 Add GL uniform manager
Review URL: http://codereview.appspot.com/6423066/



git-svn-id: http://skia.googlecode.com/svn/trunk@4758 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-25 17:48:39 +00:00
borenet@google.com
de9ac1446c Fix Android build for new toolchain
The new toolchain (r8b) does not automatically include
the necessary directories
(http://code.google.com/p/android/issues/detail?id=35279).
Add them manually until this is fixed.
Review URL: https://codereview.appspot.com/6419076

git-svn-id: http://skia.googlecode.com/svn/trunk@4749 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-25 15:17:03 +00:00
scroggo@google.com
dd39488997 Avoid a loop in writeString and writePad by zeroing padding first.
Also add a benchmark to time the new improved writeString. Before
my change the bench took ~1.23ms and afterwards it takes ~.95ms.

Add some testing to ensure that writePad works properly.

TEST=Writer32Test, WriterBench

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4742 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 20:47:55 +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
bungeman@google.com
0eec2d0486 Remove SkSfntUtils, as it is not longer used.
git-svn-id: http://skia.googlecode.com/svn/trunk@4735 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 17:50:25 +00:00
reed@google.com
ca0062ee5e add SkPaint::getPosTextPath(), with gm to test it
Review URL: https://codereview.appspot.com/6427055

git-svn-id: http://skia.googlecode.com/svn/trunk@4684 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-20 11:20:32 +00:00
chudy@google.com
d3058f5fd8 Quick bug fix that was rendering debugger unusable.
Review URL: https://codereview.appspot.com/6422050

git-svn-id: http://skia.googlecode.com/svn/trunk@4668 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-19 13:41:27 +00:00
twiz@google.com
5807116946 This CL implements the Ganesh path for the SkTable_ColorFilter color transformation.
A new texture stage dedicated to color transforms has been added, along with the new custom stage implementing the LUT.
Review URL: https://codereview.appspot.com/6351081

git-svn-id: http://skia.googlecode.com/svn/trunk@4663 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-18 21:41:50 +00:00
junov@chromium.org
77eec248cb Refactoring SkDeferredCanvas to use SkGPipe.
Keeping the refactor hidden behind a config macro for now.

TEST=covered by existing skia gm tests
BUG=https://code.google.com/p/chromium/issues/detail?id=133432
Review URL: https://codereview.appspot.com/6405054

git-svn-id: http://skia.googlecode.com/svn/trunk@4656 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-18 17:54:45 +00:00
borenet@google.com
7ef392940d Enable Compile Option to Build Android Executables
Since we can't debug APKs on 4.1, we sometimes need to
build Skia the old way for Android.  This CL enables
a switch to do so.
Review URL: https://codereview.appspot.com/6408053

git-svn-id: http://skia.googlecode.com/svn/trunk@4653 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-18 14:59:54 +00:00
tomhudson@google.com
2f68e7684b Move texture domains onto a GrCustomStage, off of GrSamplerState.
This will require gyp changes to roll into Chrome.

http://codereview.appspot.com/6405050/



git-svn-id: http://skia.googlecode.com/svn/trunk@4641 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-17 18:43:21 +00:00
keyar@chromium.org
a2333d9703 Added pipe as a rendering option for render_pictures.
I will add tiling as a rendering option and then figure out a way to not have the code duplicated between render_pictures and bench_pictures.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4626 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 17:29:16 +00:00
scroggo@google.com
50ccb0a738 Add a skia method to perform an atomic add.
Complements sk_atomic_inc for when you want to increase by more than one.

This time, use the correct atomic add function on Windows.

Reviewed at https://codereview.appspot.com/6399050/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4623 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 16:51:28 +00:00
scroggo@google.com
96cbd2c4d2 Revert "Add a method to atomic add."
This reverts commit eb539cf92f487daf9567ffbbba6b6653406d43ae.

BUG=
TEST=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4615 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 13:22:56 +00:00
scroggo@google.com
e3f84f3911 Add a skia method to perform an atomic add.
Complements sk_atomic_inc for when you want to increase by more than one.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4614 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 13:13:29 +00:00
reed@google.com
8d850be3aa don't add circles on chopped cubics
git-svn-id: http://skia.googlecode.com/svn/trunk@4600 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 15:55:15 +00:00
tomhudson@google.com
d0c1a06cb9 Introduces new SingleTextureEffect base class for GrCustomStage objects.
This class tracks the texture that the object uses. A future commit will get rid of the
GrTexture pointer currenty stored in the GrDrawState, allowing us to have CustomStages
*without* textures.

Requires gyp change on next roll.

http://codereview.appspot.com/6306097/



git-svn-id: http://skia.googlecode.com/svn/trunk@4576 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 17:23:52 +00:00
chudy@google.com
e606d6e210 SkHitBox added.
SkHitBox is a class that determines which draw command is associated with the pixel located at x,y. By calculating a single point instead of the entire bitmap at once there is no visible performance slowdown.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4565 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 14:31:25 +00:00
senorblanco@chromium.org
5f47a39916 The correct fix for the lighting filters on Windows: set the GL calling
convention for all targets, not just gpu, since effects now makes GL calls too.

Build fix; unreviewed.



git-svn-id: http://skia.googlecode.com/svn/trunk@4559 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 00:34:39 +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
senorblanco@chromium.org
894790d77c This patch implements the diffuse and specular lighting filters in Ganesh.
There are three light types for each:  distant, point and spot, whose code
generation lives in a GrGLLight class hierarchy.  This similar to the CPU
implementation, where each light type provides a function to compute the vector
from the surface plane to the light (surfaceToLight) and to compute the light
colour (emitLightColour).  Instead of templated member functions, as in the CPU
implementation, these are virtual functions to emit the light-specific GLSL
code.

All of the code for the GPU path lives in the same file as that for the CPU
path, SkLightingImageFilter.cpp.  In order to provide Ganesh a hook to access
it, SkImageFilter now has a asNewCustomStage() virtual, which allows an image
filter to return a GrCustomStage representing that filter.

Note that this patch does not handle the border conditions correctly (the
[top|bottom][Left|Right]Normal() functions in the CPU implementation).  That
will come in a future patch.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@4535 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-11 16:01:22 +00:00
bungeman@google.com
37946b5b2e Move animated view headers to correct directory.
git-svn-id: http://skia.googlecode.com/svn/trunk@4524 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 21:54:31 +00:00
bsalomon@google.com
f0a104e6f1 Remove GrStringBuilder
Review URL: http://codereview.appspot.com/6343093/



git-svn-id: http://skia.googlecode.com/svn/trunk@4514 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 17:51:07 +00:00
keyar@chromium.org
cf6c44cf92 Added a sgpipe benchmark.
Review URL: https://codereview.appspot.com/6349070

git-svn-id: http://skia.googlecode.com/svn/trunk@4490 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 19:37:40 +00:00
keyar@chromium.org
d1dc920097 Allow specific files and multiple inputs for picture testing tools.
Changed the render_pictures, bench_pictures and test_pictures.py so that multiple inputs can be given. Furthermore, specific files can also be specified.

Unit tests have also been added for picture_utils.cpp.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4486 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 18:32:08 +00:00
borenet@google.com
0fcf474921 Remove unnecessary lines after Android gyp fix
Review URL: https://codereview.appspot.com/6353066

git-svn-id: http://skia.googlecode.com/svn/trunk@4452 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-03 16:03:51 +00:00
mike@reedtribe.org
43c62b11ec add gm for hittesting paths
git-svn-id: http://skia.googlecode.com/svn/trunk@4438 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-03 02:44:02 +00:00
caryclark@google.com
ec390ea610 update shapeops_edge gyp
git-svn-id: http://skia.googlecode.com/svn/trunk@4432 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-02 20:44:59 +00:00
scroggo@google.com
4f1f6bf050 Properly handle extracted bitmaps in cross process/shared addr space SkGPipe.
Use the pixel ref which we have already copied and the appropriate pixel ref
offset.

Turn SampleDrawBitmap into a GM to test this functionality.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4417 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-02 13:35:09 +00:00
robertphillips@google.com
41efe04af9 Partially rolled forward the SkGrPixelRef changes
http://codereview.appspot.com/6354060/



git-svn-id: http://skia.googlecode.com/svn/trunk@4415 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-29 20:55:14 +00:00
tomhudson@google.com
375ff85e96 Un-trifurcate GrTextContext: get rid of Default and Batched subclasses,
folding their functionality back into the base class.

Requires gyp changes.

http://codereview.appspot.com/6357048/



git-svn-id: http://skia.googlecode.com/svn/trunk@4411 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-29 18:37:57 +00:00
djsollen@google.com
e7290ef304 Update the makefile and gyp for the debugger.
Review URL: https://codereview.appspot.com/6355052

git-svn-id: http://skia.googlecode.com/svn/trunk@4410 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-29 18:26:27 +00:00
scroggo@google.com
32f20eb02c Create a new GM to exercise ComposeShader.
Code borrowed from samplecode/SampleShaders.cpp

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4407 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-29 17:28:50 +00:00
chudy@google.com
b6789115b7 Add missing gyp dependencies for debugger
git-svn-id: http://skia.googlecode.com/svn/trunk@4405 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-29 14:34:58 +00:00
chudy@google.com
902ebe5eb4 clt debugger
Review URL: https://codereview.appspot.com/6267043

git-svn-id: http://skia.googlecode.com/svn/trunk@4404 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-29 14:21:22 +00:00
robertphillips@google.com
e9c0469a49 Pseudo-reverted r4396 (SkGrPixelRef files are still in source pool but are unused)
git-svn-id: http://skia.googlecode.com/svn/trunk@4402 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-29 00:30:13 +00:00
robertphillips@google.com
5088eb49fe Moved SkGrTexturePixelRef to SkGrPixelRef
http://codereview.appspot.com/6344054/



git-svn-id: http://skia.googlecode.com/svn/trunk@4397 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-28 20:59:13 +00:00
bsalomon@google.com
ded4f4b163 Initial support for GL_NV_path_renering. Experimental, there are still some issues to resolve, set gyp variable skia_nv_path_rendering=1 or build flag GR_GL_USE_NV_PATH_RENDERING to enable.
http://codereview.appspot.com/6349049/



git-svn-id: http://skia.googlecode.com/svn/trunk@4390 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-28 18:48:06 +00:00
djsollen@google.com
7f562ad0ad fix the build
git-svn-id: http://skia.googlecode.com/svn/trunk@4387 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-28 16:19:03 +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
robertphillips@google.com
58b20215f6 Split GrSWMaskHelper into its own files
http://codereview.appspot.com/6350046/



git-svn-id: http://skia.googlecode.com/svn/trunk@4380 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-27 20:44:52 +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
reed@google.com
006db0f1b8 land https://codereview.appspot.com/6349043/
git-svn-id: http://skia.googlecode.com/svn/trunk@4375 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-27 19:33:29 +00:00
borenet@google.com
dd3d08ea8e When building for Android, package executables in APKs (trunk)
Review URL: https://codereview.appspot.com/6307101

git-svn-id: http://skia.googlecode.com/svn/trunk@4368 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-27 19:04:39 +00:00
senorblanco@chromium.org
f49b429cef Raster implementation of diffuse and specular lighting filters. Externally,
the caller instantiates a light (distant, point or spot), and an
SkDiffuseLightingFilter or SkSpecularLightingImageFilter with that light.  A
Sobel edge detection filter is applied to the alpha of the incoming bitmap, and
the result is used as a height map for lighting calculations.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@4314 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-22 21:01:23 +00:00
twiz@google.com
a31b8bb58d Refactoring in preparation for adding the picture benchmarking program.
Review URL: https://codereview.appspot.com/6339043/

git-svn-id: http://skia.googlecode.com/svn/trunk@4310 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-22 18:24:56 +00:00
bsalomon@google.com
5e24129831 Move GrTemplates.h to src
Review URL: http://codereview.appspot.com/6333053/


git-svn-id: http://skia.googlecode.com/svn/trunk@4300 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-22 12:34:22 +00:00
robertphillips@google.com
7d501ab502 Add GrSurface parent class above GrTexture & GrRenderTarget
http://codereview.appspot.com/6297092/



git-svn-id: http://skia.googlecode.com/svn/trunk@4292 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-21 21:09:06 +00:00
bsalomon@google.com
a320194e42 Make GrClipMaskManager configure the stencil and scissor on GrGpu
Review URL: http://codereview.appspot.com/6308096/



git-svn-id: http://skia.googlecode.com/svn/trunk@4288 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-21 19:58:20 +00:00
bsalomon@google.com
4da34e36cb Add GrMemoryPool as a helper to override operators new/delete
Review URL: http://codereview.appspot.com/6306090/



git-svn-id: http://skia.googlecode.com/svn/trunk@4282 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-19 15:40:27 +00:00
caryclark@google.com
11f6614727 add missing dependency
git-svn-id: http://skia.googlecode.com/svn/trunk@4276 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-18 14:40:51 +00:00
reed@google.com
1bdf7fe8f6 tools/pinspect: quick tool to inspeact the header (and rough validity) of 1 or more picture files
Review URL: https://codereview.appspot.com/6295085

git-svn-id: http://skia.googlecode.com/svn/trunk@4258 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-14 18:58:40 +00:00
junov@chromium.org
777442d52e Adding the render_pictures test tool
Submitted on behalf of keyar@chromium.org

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



git-svn-id: http://skia.googlecode.com/svn/trunk@4235 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-12 14:56:36 +00:00
robertphillips@google.com
f6747b0b90 Split GrContext's AA Rect drawing methods into helper class
http://codereview.appspot.com/6300070/



git-svn-id: http://skia.googlecode.com/svn/trunk@4233 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-12 00:32:28 +00:00
tomhudson@google.com
f2e91a3907 Dilate & Erode benchmarks. Unlike the blur benchmarks (which test
Convolution), they show no improvement from unrolling the GLSL loops
in src/gpu/effects/GrMorphologyEffect.cpp

http://codereview.appspot.com/6299067/



git-svn-id: http://skia.googlecode.com/svn/trunk@4230 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-11 19:22:01 +00:00
bsalomon@google.com
19bbd3d02e Null canvas
Review URL: http://codereview.appspot.com/6117051/



git-svn-id: http://skia.googlecode.com/svn/trunk@4220 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-11 15:39:15 +00:00
bsalomon@google.com
64aef2bacd Towards NV path rendering
Review URL: http://codereview.appspot.com/6302049/



git-svn-id: http://skia.googlecode.com/svn/trunk@4219 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-11 15:36:13 +00:00
scroggo@google.com
b073d920c9 Add a tiled pipe mode to SampleApp.
Using the "Pipe" checkbox in SamleApp, you can now
toggle amongst three states: no pipe, a normal pipe
(or others depending on #defines), and a tiled pipe.
You can also use shift + p to toggle.
Review URL: https://codereview.appspot.com/6303055

git-svn-id: http://skia.googlecode.com/svn/trunk@4213 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-08 15:35:03 +00:00
reed@google.com
83226976b5 extend asAGradient for Conical type (to be implemented by PDF and XPS)
Review URL: https://codereview.appspot.com/6308051

git-svn-id: http://skia.googlecode.com/svn/trunk@4207 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-07 20:26:47 +00:00
scroggo
93b4375fd4 Fix the build for GM.
Add src/pipe/utils as an include directory.



git-svn-id: http://skia.googlecode.com/svn/trunk@4200 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-06 21:26:31 +00:00
scroggo@google.com
72c9672ce2 Add tiled rendering as an option to GM.
Use an SkGPipe to play back drawing into tiles.
This will help us to debug differences in drawing
while tiled.

Pass --tiledPipe to gm to use the tiled pipe.
Review URL: https://codereview.appspot.com/6295050

git-svn-id: http://skia.googlecode.com/svn/trunk@4199 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-06 21:07:10 +00:00
caryclark@google.com
b462a42b6d Turn more warnings on, including
- unused functions
- unused locals
- sign mismatch
- missing function prototypes
- missing newline at end of file
- 64 to 32 bit truncation
Review URL: https://codereview.appspot.com/6307043

git-svn-id: http://skia.googlecode.com/svn/trunk@4190 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-06 12:12:28 +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
borenet@google.com
b52cf3dd95 Support Mac-Android Cross-Compilation
- Rename Android sampleApp target to SampleAppAndroid to avoid name collision
- Detect skia_os on Darwin to differentiate between xcode and make builds
Review URL: https://codereview.appspot.com/6303044

git-svn-id: http://skia.googlecode.com/svn/trunk@4168 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-05 17:57:48 +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
reed@google.com
4384fabab4 add gm (no images yet) for two-point-radial gradients
git-svn-id: http://skia.googlecode.com/svn/trunk@4163 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-05 16:14:23 +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
robertphillips@google.com
941ee9303b Fixed flattening of SkStippleMaskFilter
http://codereview.appspot.com/6279052/



git-svn-id: http://skia.googlecode.com/svn/trunk@4154 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-05 12:55:05 +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
reed@google.com
1830c7aa3c --pictureDir foo will load serialized pictures <>.skp from the foo directory
git-svn-id: http://skia.googlecode.com/svn/trunk@4132 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-04 12:05:43 +00:00
bsalomon@google.com
7e5c6249f1 Move GrGpuGL::programUnitTest into its own file
Review URL: http://codereview.appspot.com/6272043/




git-svn-id: http://skia.googlecode.com/svn/trunk@4124 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-01 19:28:26 +00:00
djsollen@google.com
9714516a0d Add SkFontDescriptor for serializing fonts.
Review URL: https://codereview.appspot.com/6250080

git-svn-id: http://skia.googlecode.com/svn/trunk@4106 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 19:55:08 +00:00
tomhudson@google.com
7fab52d4c7 Add GrGradientEffects files. These implementations will be invoked from
GrGLPrograms in a further change, replacing the current CoordMapping
enums.

http://codereview.appspot.com/6250081/



git-svn-id: http://skia.googlecode.com/svn/trunk@4104 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 19:40:13 +00:00
bungeman@google.com
30140a43e2 Enable typeface from stream test for Mac.
git-svn-id: http://skia.googlecode.com/svn/trunk@4103 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 19:10:30 +00:00
bsalomon@google.com
b505a128ef Implement morphology as a custom effect
Review URL: http://codereview.appspot.com/6250073/



git-svn-id: http://skia.googlecode.com/svn/trunk@4102 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 18:40:36 +00:00
bsalomon@google.com
5739d2c168 Merge GrGpuGLShaders into its parent class, GrGpuGL
Review URL: http://codereview.appspot.com/6245076/



git-svn-id: http://skia.googlecode.com/svn/trunk@4095 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 15:07:19 +00:00
bsalomon@google.com
9aabfc789e Use a single GrDrawState in GrContext for direct and buffered drawing
Review URL: http://codereview.appspot.com/5933043



git-svn-id: http://skia.googlecode.com/svn/trunk@4091 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 14:12:46 +00:00
caryclark@google.com
e5720e3202 suppress warning on Mac
http://codereview.appspot.com/6245070/

M    gyp/common_conditions.gypi



git-svn-id: http://skia.googlecode.com/svn/trunk@4087 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 12:39:18 +00:00
djsollen@google.com
dde718c558 Add bench to test the performance of creating a picture.
Review URL: https://codereview.appspot.com/6258062

git-svn-id: http://skia.googlecode.com/svn/trunk@4076 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-30 16:50:11 +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
caryclark@google.com
65f9f0a166 shape ops work in progress (get rid of some warnings)
git-svn-id: http://skia.googlecode.com/svn/trunk@4037 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-23 18:09:25 +00:00
robertphillips@google.com
67febd9506 Converted AAClips SampleApp slide to GM:simpleaaclip
http://codereview.appspot.com/6220043/



git-svn-id: http://skia.googlecode.com/svn/trunk@4025 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-22 12:14:50 +00:00
reed@google.com
7b578928a5 ~glyphcache_globals needs to actually delete its cache
git-svn-id: http://skia.googlecode.com/svn/trunk@4011 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-21 15:29:27 +00:00
caryclark@google.com
b45a1b46ee shape ops work in progress
git-svn-id: http://skia.googlecode.com/svn/trunk@4006 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-18 20:50:33 +00:00
bsalomon@google.com
ae4f96a9e0 Some refactoring of GrCustomStage and friends
Review URL: http://codereview.appspot.com/6209071/



git-svn-id: http://skia.googlecode.com/svn/trunk@4003 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-18 19:54:48 +00:00
bungeman@google.com
a550199c6f CreateTypefaceFromStream for GDI.
http://codereview.appspot.com/5616047/


git-svn-id: http://skia.googlecode.com/svn/trunk@4001 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-18 19:06:41 +00:00
reed@google.com
ebd24962df change SkChunkAlloc to grow its allocations geometrically (not linearly)
plus add a bench and unittest for it.



git-svn-id: http://skia.googlecode.com/svn/trunk@3989 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17 14:28:11 +00:00
reed@google.com
ff793db2ef move Release build to -O3 (from -O2)
git-svn-id: http://skia.googlecode.com/svn/trunk@3988 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17 13:58:26 +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
robertphillips@google.com
4debcac8c3 Debug Windows compiler complaint fixes
http://codereview.appspot.com/6208055/



git-svn-id: http://skia.googlecode.com/svn/trunk@3924 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-14 16:33:36 +00:00
bungeman@google.com
5548752100 Add bench and test for SkRefCnt.
http://codereview.appspot.com/6195071/

This also adds a cross platform SkThread for testing purposes.


git-svn-id: http://skia.googlecode.com/svn/trunk@3921 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-14 14:09:24 +00:00
tomhudson@google.com
f9ad8867f2 Extract ShaderCodeSegments from GrGLProgram into a new class,
GrGLShaderBuilder. Begin populating its interface.

Requires gyp changes.

http://codereview.appspot.com/6197076/



git-svn-id: http://skia.googlecode.com/svn/trunk@3916 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-11 20:38:48 +00:00
bsalomon@google.com
7ffe6810c6 Remove tesselated path renderer and supporting code, glu, and libtess target
Review URL: http://codereview.appspot.com/6197075/



git-svn-id: http://skia.googlecode.com/svn/trunk@3912 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-11 17:32:43 +00:00
djsollen@google.com
39a7475179 Set no rtti option to avoid warnings on Android.
git-svn-id: http://skia.googlecode.com/svn/trunk@3905 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-11 13:29:32 +00:00
tomhudson@google.com
d8f856c32b Move convolution from code in GrGLProgram to new GrConvolutionEffect
class. This is the first test of the new Ganesh shader pipeline.

Also includes some cleanup of the gpu.gyp file: added src/gpu, allowing
us to remove ../ from many #include directives.

http://codereview.appspot.com/6199053/



git-svn-id: http://skia.googlecode.com/svn/trunk@3887 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-10 12:13:36 +00:00
robertphillips@google.com
beeb97c94d Added stack to AA clip mask cache
http://codereview.appspot.com/6201058/



git-svn-id: http://skia.googlecode.com/svn/trunk@3885 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-09 21:15:28 +00:00
bsalomon@google.com
637d5e9297 Move GL function prototype typdefs to a separate header
Review URL: http://codereview.appspot.com/6189054/



git-svn-id: http://skia.googlecode.com/svn/trunk@3864 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 21:33:56 +00:00
caryclark@google.com
15fa138f22 shape ops work in progress
git-svn-id: http://skia.googlecode.com/svn/trunk@3861 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 20:49:36 +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
bsalomon@google.com
91bcc94e87 Make GrGLDefines.h be a private header
Review URL: http://codereview.appspot.com/6198048/



git-svn-id: http://skia.googlecode.com/svn/trunk@3851 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 17:28:41 +00:00
bsalomon@google.com
9c1f1ac5d3 Move function decls and macros out of public headers that are meant for internal use.
git-svn-id: http://skia.googlecode.com/svn/trunk@3849 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 17:09:37 +00:00
reed@google.com
c56a83ca9c add bench for SkPath::Iter and SkPath::RawIter
git-svn-id: http://skia.googlecode.com/svn/trunk@3844 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 13:46:32 +00:00
reed@google.com
35a81dfdb2 add gm for dashing variations
git-svn-id: http://skia.googlecode.com/svn/trunk@3842 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-04 21:49:27 +00:00
reed@google.com
4aa1a70ab7 add initial bench for dashing (more work to do)
git-svn-id: http://skia.googlecode.com/svn/trunk@3841 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-04 16:37:45 +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
robertphillips@google.com
d9d5385791 Added GM test to stress test the texture unit/sampler allocation
http://codereview.appspot.com/6134058/



git-svn-id: http://skia.googlecode.com/svn/trunk@3814 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-02 13:55:06 +00:00
robertphillips@google.com
7c2578d392 Second half of refactoring to move SW path rendering to GrPathRenderer
http://codereview.appspot.com/6125046/



git-svn-id: http://skia.googlecode.com/svn/trunk@3804 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-01 12:19:34 +00:00
robertphillips@google.com
443e5a52b7 Re-adding red texture support (by rolling back r3800)
http://code.google.com/p/skia/source/detail?r=3622 - for original review
http://crbug.com/125596 ('M20 windows renderer stability maze') - for issue



git-svn-id: http://skia.googlecode.com/svn/trunk@3802 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-30 20:01:21 +00:00
epoger@google.com
0048469578 Roll back http://code.google.com/p/skia/source/detail?r=3622 to deal with http://crbug.com/125596 ('M20 windows renderer stability maze')
git-svn-id: http://skia.googlecode.com/svn/trunk@3800 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-30 19:02:08 +00:00
reed@google.com
8c2cc1a4dd add RegionBench, in preparation for speeding up intersects and contains for chrome
git-svn-id: http://skia.googlecode.com/svn/trunk@3784 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-27 19:29:52 +00:00
bsalomon@google.com
8d033a1b12 Remove GrPath typedef
Review URL: http://codereview.appspot.com/6128045/



git-svn-id: http://skia.googlecode.com/svn/trunk@3780 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-27 15:52:53 +00:00
tomhudson@google.com
07eecdca3e Hooks up the GrCustomStage/GrGLProgramStageFactory/GrGLProgramStage
classes from r3726 so they can be used. Does not implement any actual
effect stages.

Has one large known bug: if custom stages are provided, GrSamplerState
comparisons will break; this should preserve correct drawing, but decrease
performance - among other things, we'll break draw batching. To fix this
we'll need a RTTI system for GrCustomState objects, and we'll need to change
the GrSamplerState comparison from a memcmp to something that also does a
deep type-sensitive compare of any GrCustomState objects present.

http://codereview.appspot.com/6074043/



git-svn-id: http://skia.googlecode.com/svn/trunk@3742 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-20 18:35:38 +00:00
bsalomon@google.com
7361f54294 Make GM able to run MSAA modes and multiple GPU configs in a single run.
Review URL: http://codereview.appspot.com/6061051/



git-svn-id: http://skia.googlecode.com/svn/trunk@3734 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-19 19:15:35 +00:00
tomhudson@google.com
168e63418c Infrastructure for new Ganesh shader pipeline: base classes for GPU
implementation of user-defined effects.

http://codereview.appspot.com/6052047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3726 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-18 17:49:20 +00:00
robertphillips@google.com
1e945b7e70 Minor refactoring to pull GrClipMaskManager into its own files
http://codereview.appspot.com/5978055/



git-svn-id: http://skia.googlecode.com/svn/trunk@3697 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 18:03:03 +00:00
robertphillips@google.com
0dd84a399a Minor code cleanup of Debug GL Interface
http://codereview.appspot.com/6032043/



git-svn-id: http://skia.googlecode.com/svn/trunk@3690 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 16:24:35 +00:00
epoger@google.com
4f8975ea0f roll out http://code.google.com/p/skia/source/detail?r=3687 because Mac 10.6 bot is failing
git-svn-id: http://skia.googlecode.com/svn/trunk@3688 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 15:49:04 +00:00
epoger@google.com
cff7f5bbf5 Make Mac build generate both 32-bit and 64-bit code.
BUG=http://code.google.com/p/skia/issues/detail?id=524
Review URL: https://codereview.appspot.com/6022057

git-svn-id: http://skia.googlecode.com/svn/trunk@3687 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 15:14:22 +00:00
bsalomon@google.com
580a99c58f add gm circles
Committed on behalf of Guanqun.Lu@gmail.com

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




git-svn-id: http://skia.googlecode.com/svn/trunk@3682 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 14:10:47 +00:00
mike@reedtribe.org
6093e65829 dd DrawPathTest to gyp
add regression tests for bug 533



git-svn-id: http://skia.googlecode.com/svn/trunk@3678 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-14 12:55: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
robertphillips@google.com
6995068c5a Initial version of R8 support
http://codereview.appspot.com/5967067/



git-svn-id: http://skia.googlecode.com/svn/trunk@3622 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-06 18:06:10 +00:00
robertphillips@google.com
022976554c Fix xcode 4.1 build issue
http://codereview.appspot.com/5992048/



git-svn-id: http://skia.googlecode.com/svn/trunk@3621 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-05 19:29:04 +00:00
robertphillips@google.com
3a4553ea57 Redelivering r3611 changes (enabling cmyk jpeg changes in .gyps)
http://codereview.appspot.com/5967047/




git-svn-id: http://skia.googlecode.com/svn/trunk@3617 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-05 14:52:01 +00:00
robertphillips@google.com
dd743fefad Initial split up of Debug Interface into separate files
http://codereview.appspot.com/5979048/



git-svn-id: http://skia.googlecode.com/svn/trunk@3616 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-05 14:40:53 +00:00
robertphillips@google.com
7800e3008f Rolling back r3611 until the Android compilation issue is resolved
git-svn-id: http://skia.googlecode.com/svn/trunk@3613 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-05 13:38:27 +00:00