Commit Graph

94 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
021bce94a3 Delivering .gyp files to enable building & linking w/ ANGLE on Windows
http://codereview.appspot.com/5933057/



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


git-svn-id: http://skia.googlecode.com/svn/trunk@3538 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-29 14:28:59 +00:00
robertphillips@google.com
78ff6b4ab6 Moved mac, unix, win and mesa directories under src/gpu/gl
http://codereview.appspot.com/5937052/



git-svn-id: http://skia.googlecode.com/svn/trunk@3530 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 19:37:51 +00:00
robertphillips@google.com
d91f370835 Moved Debug GL interface to src/gpu/gl/debug in preparation for splitting it up.
http://codereview.appspot.com/5938054/



git-svn-id: http://skia.googlecode.com/svn/trunk@3526 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 18:22:01 +00:00
bungeman@google.com
f85abda8c9 Remove mutual dependency of gr and skgr.
http://codereview.appspot.com/5879043/


git-svn-id: http://skia.googlecode.com/svn/trunk@3467 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-22 17:56:29 +00:00
robertphillips@google.com
0da3719050 Added debug GL Interface. This interface tracks various GL objects in order to find leaks & invalid accesses.
Core Review: http://codereview.appspot.com/5846049/




git-svn-id: http://skia.googlecode.com/svn/trunk@3426 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-19 14:42:13 +00:00
bsalomon@google.com
f4a9c82918 Split GrTextContext into baseclass and subclass
This is a step towards enabling alternate text rendering code paths (GLyphy in particular)

Committed on behalf of baranowski@chromium.org

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



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

git-svn-id: http://skia.googlecode.com/svn/trunk@3411 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-16 13:52:49 +00:00
bsalomon@google.com
b4a4ab1e99 Remove offscreen supersampler.
THIS IS EXPECTED TO BREAK MANY GM TESTS. They will be rebaselined.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@3305 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-02 18:57:25 +00:00
bsalomon@google.com
ca13d39f5e Revert 3191
Review URL: http://codereview.appspot.com/5656068/


git-svn-id: http://skia.googlecode.com/svn/trunk@3203 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-15 21:16:03 +00:00
bsalomon@google.com
621dfe6c84 Add test to detect bias in conversion of frag shader floats to bytes
Review URL: http://codereview.appspot.com/5669045/


git-svn-id: http://skia.googlecode.com/svn/trunk@3191 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-14 17:03:16 +00:00
tomhudson@google.com
6bf38b59c9 Move GL-specific include files to their own subdirectory, to better
coexist alongside D3D backend.
Requires gyp change.

http://codereview.appspot.com/5665045/



git-svn-id: http://skia.googlecode.com/svn/trunk@3185 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-14 15:11:59 +00:00
bsalomon@google.com
f7fa806d84 Make GLCaps be standalone and be a member of GrGLContextInfo
Review URL: http://codereview.appspot.com/5654084/



git-svn-id: http://skia.googlecode.com/svn/trunk@3183 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-14 14:09:57 +00:00