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