Commit Graph

125 Commits

Author SHA1 Message Date
bsalomon@google.com
bcdbbe61e1 rename XHelper members to onX
Review URL: http://codereview.appspot.com/4380056/



git-svn-id: http://skia.googlecode.com/svn/trunk@1113 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-12 15:40:00 +00:00
bsalomon@google.com
13a950ae4e Use has_gl_extension_from_string in GrGLDefaultInterface_win.cpp (before the GL iface is installed).
git-svn-id: http://skia.googlecode.com/svn/trunk@1112 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-12 14:16:21 +00:00
bsalomon@google.com
7aaee005fa Use min of max_texture and max_renderbuffer size when calling fbo_test
git-svn-id: http://skia.googlecode.com/svn/trunk@1110 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-11 19:54:04 +00:00
bsalomon@google.com
5877ffd5ea Add APIs and plumbing for external rendertaret-textures w/ and w/out MSAA.
Review URL: http://codereview.appspot.com/4388049/



git-svn-id: http://skia.googlecode.com/svn/trunk@1102 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-11 17:58:48 +00:00
bsalomon@google.com
9283b583ab Always bind packed depth stencil formats to both attacment points
Review URL: http://codereview.appspot.com/4372048/



git-svn-id: http://skia.googlecode.com/svn/trunk@1087 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-08 19:00:04 +00:00
bsalomon@google.com
0650e811b5 fix use of smooth lines
Review URL:http://codereview.appspot.com/4370050/


git-svn-id: http://skia.googlecode.com/svn/trunk@1085 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-08 18:07:53 +00:00
twiz@google.com
f236d16914 During ganesh tear-down, it may be the case that the vertex and index buffers
are those currently bound to the HW geometry state.  We should not assert under
these conditions.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@1076 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-07 15:57:12 +00:00
bsalomon@google.com
f954d8dd9a Add isMultisampled() to GrRenderTarget. Cleanup MSAA vs smooth lines logic in GrGpuGL.
Skia issue: 178

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



git-svn-id: http://skia.googlecode.com/svn/trunk@1067 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-06 17:50:02 +00:00
bsalomon@google.com
6dcf499d35 Fix dangling ptr when GrRenderTarget outlives its GrTexture representation
Move management of fRenderTarget ptr from GL texture class to base class

Minor:
Remove redundant GrContext-per-frame debug code in SampleApp.cpp
Add GrTexture.cpp to legacy VS2010 vcxproj

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



git-svn-id: http://skia.googlecode.com/svn/trunk@1061 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-05 21:16:14 +00:00
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