Commit Graph

112 Commits

Author SHA1 Message Date
twiz@google.com
59a190bcab Implementation of a GL-virtualization layer for Skia. This allows for
environments using skia to specify a GL implementation at run-time, instead of
relying on the linker to pull in the appropriate GL impl.

A new structure, GrGLInterface is exposed.  This struct contains a set of
function pointers that should point to an appropriate GL implementation.

This change also removes the reliance on GLew on windows builds.

Review: http://codereview.appspot.com/4254059/



git-svn-id: http://skia.googlecode.com/svn/trunk@937 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-14 21:23:01 +00:00
bsalomon@google.com
eb3828e29d Remove deleted GrApi.h from gpu xcode project
git-svn-id: http://skia.googlecode.com/svn/trunk@908 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 20:21:18 +00:00
bsalomon@google.com
c919200c5a Add new pdf files to SampleApp xcode proj
git-svn-id: http://skia.googlecode.com/svn/trunk@907 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 20:19:54 +00:00
bsalomon@google.com
d302f1401b Add support for clipstack to Gr. GrClip is now a list of rects and paths with set operations to combine them. The stencil buffer is used to perform the set operations to put the clip into the stencil buffer. Building Gr's clip from Skia's clipStack is currently disabled due to the fact that Skia's clipStack is relative to the root layer not the current layer. This will be fixed in a subsequent CL.
git-svn-id: http://skia.googlecode.com/svn/trunk@878 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-03 13:54:13 +00:00
reed@google.com
77f0c8ba4e remove SkRefCnt.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@861 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-25 22:08:55 +00:00
bsalomon@google.com
ffca400ef6 Make a separate path renderer object. Move enum types to GrTypes.h
Review URL http://codereview.appspot.com/4167067/



git-svn-id: http://skia.googlecode.com/svn/trunk@829 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 20:34:01 +00:00
reed@google.com
5c3d1471e4 add clipstack to canvas. not used yet, but will be for devices (e.g. gpu) that
want to see how the clip was built



git-svn-id: http://skia.googlecode.com/svn/trunk@824 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 19:12:23 +00:00
bsalomon@google.com
6034c506bd Add red black tree
Review URL: http://codereview.appspot.com/4184063



git-svn-id: http://skia.googlecode.com/svn/trunk@823 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 16:37:47 +00:00
reed@google.com
11a5ff376b use new high-quality blur in samples
git-svn-id: http://skia.googlecode.com/svn/trunk@819 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-18 20:20:51 +00:00
bsalomon@google.com
c6cf72381b Hide alloc size vs content size below API
Remove old gl shaders class
Move texture matrix to sampler class

git-svn-id: http://skia.googlecode.com/svn/trunk@808 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-17 16:43:10 +00:00
bsalomon@google.com
1c13c9668a Refactor how Gr handles vertex and index data. GrGpu and GrInOrderDrawBuffer both GrBufferAllocPool to manage reserved and set-to-array vertex and index data.
rietveld issue 4188049

git-svn-id: http://skia.googlecode.com/svn/trunk@786 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-14 16:51:21 +00:00
reed@google.com
c93a17f2df fix mac build (don't need typedef struct foo foo)
git-svn-id: http://skia.googlecode.com/svn/trunk@733 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-26 04:37:53 +00:00
reed@google.com
3636ed558f embed a refdict inside SkDevice
udate unittests to test refdict's destructor



git-svn-id: http://skia.googlecode.com/svn/trunk@731 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 23:50:57 +00:00
bsalomon@google.com
0fdaa22dea Add shaded text sample and gm test.
git-svn-id: http://skia.googlecode.com/svn/trunk@725 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 18:35:26 +00:00
reed@google.com
324f1bb181 fix release build
git-svn-id: http://skia.googlecode.com/svn/trunk@719 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-21 22:04:38 +00:00
bsalomon@google.com
5782d712ff Rev the GrContext interface. Context has draw* functions that take a new GrPaint object. Removed many of the lower-level GrGpu function call-throughs on context.
Remove unused/unsupported point size (we don't draw non-hairline points using GL points).
Change current* getter functions to get* for consistency.
Fix bounds when drawing inverse-filled paths.


git-svn-id: http://skia.googlecode.com/svn/trunk@718 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-21 21:03:59 +00:00
bsalomon@google.com
42ab7ea76e Cleanup including of GL headers and provide way to include custom headers, extension getter.
git-svn-id: http://skia.googlecode.com/svn/trunk@713 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-19 17:19:40 +00:00
reed@google.com
6bc2f5db71 add SSE2 opt files to xcode
git-svn-id: http://skia.googlecode.com/svn/trunk@697 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-17 18:37:43 +00:00
reed@google.com
72cf4927e5 fix build for scalar==fixed
git-svn-id: http://skia.googlecode.com/svn/trunk@671 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-04 19:58:20 +00:00
bsalomon@google.com
e9557f946e Fix bug where createTexture may bind a texture to GL without ever updating fHWState.fTexture (when texture is not bound to FBO).
Other minor changes:
Add commented out GL logging define to GrUserConfig
Remove dead GrGpuD3D9 file from xcode proj



git-svn-id: http://skia.googlecode.com/svn/trunk@663 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 20:59:40 +00:00
reed@google.com
dc731fd483 merge in gpu changes to gradientshaders
git-svn-id: http://skia.googlecode.com/svn/trunk@655 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 15:19:47 +00:00
reed@google.com
873cb1e23b add gpu to the default makefile
move skia-gpu files into skia/src/gpu



git-svn-id: http://skia.googlecode.com/svn/trunk@653 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 15:00:45 +00:00
reed@google.com
ac10a2d039 add gpu backend (not hooked up yet)
git-svn-id: http://skia.googlecode.com/svn/trunk@649 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-22 21:39:39 +00:00
reed@google.com
1f08698339 add SkFlate.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@641 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 18:48:46 +00:00
reed@android.com
eca4836067 add
git-svn-id: http://skia.googlecode.com/svn/trunk@640 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 18:34:17 +00:00
reed@android.com
f2b98d67dc merge with changes for GPU backend
git-svn-id: http://skia.googlecode.com/svn/trunk@637 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 18:26:13 +00:00
vandebo@chromium.org
8d84fac294 Refactor SkCanvas so that backends don't need to override it.
Methods or classes that should go away are marked deprecated. The only thing I know of that breaks backward compatibility is SkCanvas((SkDevice*)NULL), but that is fairly unlikely to occur in the wild because that constructor had a default value of NULL.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@604 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-13 22:13:05 +00:00
reed@android.com
49099b2536 move SkMallocPixelRef into its own .cpp file, rather than embedding it
inside SkBitmap.cpp.

core_files.mk updated, but if your build does not reference that, you will
need to add SkMallocPixelRef.cpp to your list



git-svn-id: http://skia.googlecode.com/svn/trunk@597 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-09-09 16:07:53 +00:00
reed@android.com
cb34235f46 fix matrix use in coretext fonthost
update gm images to new baseline



git-svn-id: http://skia.googlecode.com/svn/trunk@590 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-07-22 18:27:53 +00:00
reed@android.com
562ea92179 use statictextviews to display coordinates in unitmapper
git-svn-id: http://skia.googlecode.com/svn/trunk@491 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-08 21:45:03 +00:00
reed@android.com
9c28525f3a remove -lfreetype for now
git-svn-id: http://skia.googlecode.com/svn/trunk@481 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-01-25 22:09:34 +00:00
reed@android.com
e83b532b2b update with agl
git-svn-id: http://skia.googlecode.com/svn/trunk@479 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-01-25 22:03:25 +00:00
reed@android.com
ca80a64f5b add impl for memset32
git-svn-id: http://skia.googlecode.com/svn/trunk@433 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-18 17:43:10 +00:00
reed@android.com
909994fbae new scanconversion technique
This technique geometrically clips all segments against the clip bounds,
ensuring that we never send a value to the edgelist that might overflow in
fixedpoint.

Current disabled in SkScan_Path.cpp by a #define. There are a few minor pixel
differences between this and the old technique, as found by the gm tool, so
at the moment this new code is off by default.



git-svn-id: http://skia.googlecode.com/svn/trunk@432 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-18 16:09:51 +00:00
reed@android.com
e0f13eeb8e default to not showing the (slow) overview slide: hit DELETE to invoke
git-svn-id: http://skia.googlecode.com/svn/trunk@417 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-04 19:40:25 +00:00
reed@android.com
34245c7871 add OVerView slide to samplecode
change inline functions in SkColorPriv.h to static inline



git-svn-id: http://skia.googlecode.com/svn/trunk@415 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-03 04:00:48 +00:00
reed@android.com
471403d19b change projects to just run with curren-os sdk, in prep for snow-lepard
fix fprintf warning



git-svn-id: http://skia.googlecode.com/svn/trunk@385 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-14 09:59:25 +00:00
reed@android.com
e3839f8b2f require expat to use with animator
git-svn-id: http://skia.googlecode.com/svn/trunk@383 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-13 18:04:58 +00:00
reed@android.com
fb32294365 add xcode project
git-svn-id: http://skia.googlecode.com/svn/trunk@382 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-13 13:50:37 +00:00
reed@android.com
c4cae85752 add BlitRow procs for 32->32, to allow for neon and other optimizations.
call these new procs in (nearly) all the places we had inlined loops before.
In once instance (blitter_argb32::blitAntiH) we get different results by a
  tiny bit. The new code is more accurate, and exactly inline with all of the
  other like-minded blits, so I think the change is good going forward.



git-svn-id: http://skia.googlecode.com/svn/trunk@366 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-23 15:06:10 +00:00
reed@android.com
ed881c2704 add neon opts for matrix procs
git-svn-id: http://skia.googlecode.com/svn/trunk@353 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-15 14:10:42 +00:00
reed@android.com
113244f1e1 add tests for extractAlpha
git-svn-id: http://skia.googlecode.com/svn/trunk@346 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-31 21:04:24 +00:00
reed@android.com
19a89f287f add boolean tests and IF/ELSE/END
git-svn-id: http://skia.googlecode.com/svn/trunk@344 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-30 03:24:51 +00:00
reed@android.com
f56e295e88 experimental hack to write a forth engine to drive skia
git-svn-id: http://skia.googlecode.com/svn/trunk@343 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-29 21:30:25 +00:00
reed@android.com
cafc9f9e80 fixes around isOpaque and dithering
- copyTo() now preserves isOpaqueness, and BitmapCopyTest tests it
- bitmap shader doesn't claim to have shadespan16 if dithering is on, since its
  sampler doesn't auto-dither (note that gradients do auto-dither in their
  16bit sampler)
- blitter setup just relies on the shader to report if its 16bit sampler can be
  called (allowing gradients to say yes regardless of dither, but bitmaps to say
  no if dithering is on)



git-svn-id: http://skia.googlecode.com/svn/trunk@331 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-22 03:44:57 +00:00
reed@android.com
b049eab2e7 update location of SkNWayCanvas.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@326 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-14 19:58:53 +00:00
reed@android.com
afb055ad79 update
git-svn-id: http://skia.googlecode.com/svn/trunk@302 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-03 15:06:11 +00:00
reed@android.com
f549369fcd rename SK_BUILD_SUBPIXEL to SK_SUPPORT_LCDTEXT to better match the name of the
feature (since we already have subpixel text support)

fix some debug-compile problems

update Makefile for lcd files



git-svn-id: http://skia.googlecode.com/svn/trunk@282 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-22 19:21:01 +00:00
reed@android.com
83f7bc30af remove conditional build flag for mipmaps
remove obsolete SkBitmapShader.cpp file



git-svn-id: http://skia.googlecode.com/svn/trunk@271 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-17 02:42:41 +00:00
reed@android.com
7a99eb1c63 add shaderprocs for all-in-one special blits (matrix+sampler)
git-svn-id: http://skia.googlecode.com/svn/trunk@267 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-16 01:13:14 +00:00