Commit Graph

116 Commits

Author SHA1 Message Date
reed@google.com
f81401763e add rect.inset(dx, dy)
git-svn-id: http://skia.googlecode.com/svn/trunk@1058 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-05 20:05:56 +00:00
bsalomon@google.com
3eb291455c Add GrTexture.cpp to legacy project files
git-svn-id: http://skia.googlecode.com/svn/trunk@1057 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-05 17:49:49 +00:00
bsalomon@google.com
669fdc4ed8 Adds read pixels to GrTexture and GrRenderTarget
Adds SkGrRenderTargetPixelRef for SkBitmaps that are backed by RTs that aren't textures.
Adds onReadPixels implementations for SkGr pixel ref types



git-svn-id: http://skia.googlecode.com/svn/trunk@1056 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-05 17:08:27 +00:00
reed@google.com
0ebe81a2b7 always flush accumulated draws before we purge the font cache
git-svn-id: http://skia.googlecode.com/svn/trunk@1051 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-04 20:06:59 +00:00
bsalomon@google.com
67dc548cec export GrDefaultPathRenderer/GrPathRenderer
Review URL: http://codereview.appspot.com/4357050/



git-svn-id: http://skia.googlecode.com/svn/trunk@1048 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-04 18:45:32 +00:00
reed@google.com
5e76223ca7 move trimStorage to outer scope, so its memory is still valid later on when
we reference the newly assigned src pixels.



git-svn-id: http://skia.googlecode.com/svn/trunk@1046 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-04 18:15:49 +00:00
bsalomon@google.com
f987d1b234 Remove dependence on platform GL headers. Remove code that attempts to infer GL function pointers on various platforms. Instead add platform-specific implementations for Windows and Mac. (GLX coming)
Review URL: http://codereview.appspot.com/4354048/

git-svn-id: http://skia.googlecode.com/svn/trunk@1045 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-04 17:13:52 +00:00
bsalomon@google.com
beccee78bb fix mac build of gr unit test
Review URL: http://codereview.appspot.com/4351042/



git-svn-id: http://skia.googlecode.com/svn/trunk@1034 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-01 14:51:07 +00:00
junov@google.com
f93e717c7f Refactoring the GrGpuGLShaders2 into 2 classes: GrGpuGLShaders
and GrGLProgram.  The change also contains stubs and placeholders for GrEffect
(work in progress), which will extend shader and rendering capabilities in
Ganesh.  The hash keys for the program cache table have been modified to be able
to accomodate variable-length keys, which will be required for GrEffect support.

Code review: http://codereview.appspot.com/4309045/



git-svn-id: http://skia.googlecode.com/svn/trunk@1031 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-31 21:26:24 +00:00
bsalomon@google.com
2022c94ec4 Fix signed/unsigned warnings in debug build in flushStencil()
git-svn-id: http://skia.googlecode.com/svn/trunk@1028 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 21:43:04 +00:00
bsalomon@google.com
b0259f3c86 Add GrResource.cpp to gr_files.mk
git-svn-id: http://skia.googlecode.com/svn/trunk@1027 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 21:31:12 +00:00
bsalomon@google.com
8fe72477f2 Add GrResource base class for ibs, texs, vbs, etc.
Add lostContext() to GrContext.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@1026 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 21:26:44 +00:00
reed@google.com
a45af9f585 add new file GrPathUtils.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@1017 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 17:06:19 +00:00
bsalomon@google.com
11f0b51976 Fix ref leak on GrGpu.
Review URL: http://codereview.appspot.com/4323043/



git-svn-id: http://skia.googlecode.com/svn/trunk@1015 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-29 20:52:23 +00:00
senorblanco@chromium.org
cf3edc9c97 Two optimizations for the tesselated path renderer:
1)  If the path contains a single convex subpath, and we're not using inverted
fill modes, skip the tesselation and draw the interpolated path as a triangle
fan directly.
2)  Use GrDrawTarget.set*SourceToArray(), rather than creating a new
AutoReleaseGeometry, saving a copy of the vertex and index data.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@1014 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-29 17:42:30 +00:00
senorblanco@chromium.org
9d18b7873c This CL implements a tesselated path renderer, using GLU's libtess. All of the
fill modes except hairline are supported.  Note that the path renderer is not
enabled by default; to enable it, replace "GrCreatePathRenderer_none.cpp" with
"GrCreatePathRenderer_tesselated.cpp" in skia.gyp, and run gyp_skia, and build.

This change also contains a number of build fixes for Win32 (for building
SampleApp on VS2008) and Mac (for my ancient Mac Pro which supports
GL_EXT_framebuffer_object but not GL_ARB_framebuffer_object).  Also,
priorityq-heap.c was removed from the SampleApp build, since it's #included by
priorityq.c (weird, I know).

NB:  When this change is rolled into chrome, some modifications to chromium's
skia.gyp will be necessary.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@1012 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-28 20:47:09 +00:00
bsalomon@google.com
dfe75bcf98 Add way to determine at link time what path renderer will be used.
Added mechanism for a custom path renderer to punt and fallback to default path renderer



git-svn-id: http://skia.googlecode.com/svn/trunk@1005 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-25 12:31:16 +00:00
bsalomon@google.com
7f5875d334 Fix direct-to-stencil clippath rendering logic in GrGpu.
Review URL: http://codereview.appspot.com/4273104/

git-svn-id: http://skia.googlecode.com/svn/trunk@1001 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-24 16:55:45 +00:00
bsalomon@google.com
f6a7c1106e Rename flag that disables stencil buffer creation
Review URL: http://codereview.appspot.com/4273103/



git-svn-id: http://skia.googlecode.com/svn/trunk@1000 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-24 16:14:10 +00:00
bsalomon@google.com
a9ecdadfbc Add GL_CHROMIUM_framebuffer_multisample support.
Review URL: http://codereview.appspot.com/4287072/



git-svn-id: http://skia.googlecode.com/svn/trunk@984 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-23 13:50:34 +00:00
reed@google.com
a03ec86e99 add GR at the end
git-svn-id: http://skia.googlecode.com/svn/trunk@981 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-22 17:49:13 +00:00
bsalomon@google.com
8361a0fa2c Fix macro in Chrome's GL config file
Review URL: http://codereview.appspot.com/4308041/


git-svn-id: http://skia.googlecode.com/svn/trunk@980 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-22 14:38:11 +00:00
bsalomon@google.com
86c92b3d8f Remove redundant defines of GR_GL macros.
Patch submitted by weiwei.li@intel.com

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



git-svn-id: http://skia.googlecode.com/svn/trunk@977 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-22 13:08:48 +00:00
bsalomon@google.com
d1e4335318 Remove IMG multisample texture support.
This never worked correctly. The texture loses multisample status when the resolve occurs. We never had code to re-establish it. Also, we'd have to handle the case where you resolve but then want to render to it again without clearing.

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


git-svn-id: http://skia.googlecode.com/svn/trunk@974 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-21 21:38:40 +00:00
bsalomon@google.com
c312bf9935 Remove old GR_* macros for GL extensions in favor of GrGLDefines.h
Review URL: http://codereview.appspot.com/4275061/




git-svn-id: http://skia.googlecode.com/svn/trunk@972 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-21 21:10:33 +00:00
bsalomon@google.com
918261018f Add GR_DLL builds to Ganesh (minimal exports for Chrome multi-dll for now).
Review URL:  http://codereview.appspot.com/4301044/




git-svn-id: http://skia.googlecode.com/svn/trunk@970 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-21 19:51:57 +00:00
twiz@google.com
b65e0cb8ad Remove the compile-time selection of the GL implementation based on the
GR_SUPPORT_GLDESKTOP family of macros.  

Support for the platform is configured dynamically, by querying the
fBindingsExported member of active GrGLInterface instance.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@960 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-18 20:41:44 +00:00
twiz@google.com
0f31ca79bd This CL removes all dependencies on GL headers across all of Ganesh. New
GrGLint, etc. types are introduced, and new GR_GL_XXXX constants for use at all
GL call-sites.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@959 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-18 17:38:11 +00:00
bsalomon@google.com
098611bd74 Revert GR_STATIC_RECT_VB in GrGLConfig_chrome.h
Review URL: http://codereview.appspot.com/4282057/


git-svn-id: http://skia.googlecode.com/svn/trunk@958 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-18 15:10:06 +00:00
bsalomon@google.com
0078079b20 Make chrome use the static square vb when drawing rects.
Review URL: http://codereview.appspot.com/4280053/



git-svn-id: http://skia.googlecode.com/svn/trunk@949 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-16 20:10:48 +00:00
reed@google.com
759c16e20d need a separate texture for each maskformat in atlasmgr
git-svn-id: http://skia.googlecode.com/svn/trunk@942 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 19:15:15 +00:00
bsalomon@google.com
080773ca79 Add blend constant color and use it for lcd text common case (no fancy blend or shaded text)
Review URL: http://codereview.appspot.com/4274057/

git-svn-id: http://skia.googlecode.com/svn/trunk@941 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 19:09:25 +00:00
twiz@google.com
dc008e1710 Correction of GLES build issue introduced by in revision:
http://code.google.com/p/skia/source/detail?r=937

Issue: http://code.google.com/p/skia/issues/detail?id=174
Review: http://codereview.appspot.com/4288047/ 



git-svn-id: http://skia.googlecode.com/svn/trunk@940 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 16:12:21 +00:00
reed@google.com
98539c607b support lcd16 in text atlas (sans shader support)
git-svn-id: http://skia.googlecode.com/svn/trunk@939 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 15:40:16 +00:00
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
djsollen@google.com
cd9d69b9ce Upstreaming changes from android.
- fix compile warnings in the GPU code
- upstream android specific code (ifdef protected)
- fail gracefully when a custom allocator fails



git-svn-id: http://skia.googlecode.com/svn/trunk@936 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-14 20:30:14 +00:00
bsalomon@google.com
649a862186 Remove "true ||" in conditional that was accidentally checked in.
git-svn-id: http://skia.googlecode.com/svn/trunk@916 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-10 14:53:38 +00:00
bsalomon@google.com
1da0746fa1 Delete GL tex ID when last of GrGLTexture or GrGLRenderTarget that reference it is destroyed
git-svn-id: http://skia.googlecode.com/svn/trunk@915 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-10 14:51:57 +00:00
bsalomon@google.com
a7f84e150c Make flush discardable and lazily reset context
Review URL: http://codereview.appspot.com/4259059/



git-svn-id: http://skia.googlecode.com/svn/trunk@914 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-10 14:13:19 +00:00
bsalomon@google.com
0b50b2ed46 If we compute an exact clip bounds prefer it over user passed bounds. Also clarify that bounds are conservative.
Review URL: http://codereview.appspot.com/4254063/
 


git-svn-id: http://skia.googlecode.com/svn/trunk@909 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 21:07:21 +00:00
bsalomon@google.com
e8c701cbf5 Add filters to organize the VS project. Remove unused Gr files.
Review URL http://codereview.appspot.com/4243064/

git-svn-id: http://skia.googlecode.com/svn/trunk@904 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 18:19:05 +00:00
reed@google.com
480ab7d5f1 add LF at end of file (dumb warning)
git-svn-id: http://skia.googlecode.com/svn/trunk@902 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 15:36:57 +00:00
reed@google.com
27a1e77858 add LF at end of file (ancient warning appeased)
git-svn-id: http://skia.googlecode.com/svn/trunk@901 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 15:34:06 +00:00
bsalomon@google.com
ed856100c8 Fix warning about uninit var subpathClosed
git-svn-id: http://skia.googlecode.com/svn/trunk@897 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-07 14:07:01 +00:00
bsalomon@google.com
bf4338cb3b Fix Sample App on Win32 GL window resize, fix sk->gr convexity hint, fix grpath uninit warnings
Review URL http://codereview.appspot.com/4247055/


git-svn-id: http://skia.googlecode.com/svn/trunk@895 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 22:48:25 +00:00
reed@google.com
6f8f292aa7 add origin to device
used for interpreting the clipstack when a device is a layer



git-svn-id: http://skia.googlecode.com/svn/trunk@894 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 22:27:10 +00:00
bsalomon@google.com
5aaa69e433 Fixups for clipstack, convexity test for paths.
Review URL http://codereview.appspot.com/4250056/

git-svn-id: http://skia.googlecode.com/svn/trunk@891 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 20:29:08 +00:00
reed@google.com
eca7d34f1d fix () warning
git-svn-id: http://skia.googlecode.com/svn/trunk@889 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 19:33:13 +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
bsalomon@google.com
de6ac2dec5 Fix double delete of vb pool and missing delete of ib pool
git-svn-id: http://skia.googlecode.com/svn/trunk@860 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-25 21:50:42 +00:00