aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects/GrConvolutionEffect.cpp
Commit message (Collapse)AuthorAge
* Remove default implementation of GrEffect::isEqual. Make ↵Gravatar bsalomon@google.com2013-01-17
| | | | | | | | GrSingleTextureEffect abstract. Review URL: https://codereview.appspot.com/7142049 git-svn-id: http://skia.googlecode.com/svn/trunk@7254 2bbb7eff-a529-9590-31e7-b0007b416f81
* Wrap GrEffects in GrEffectPtr.Gravatar bsalomon@google.com2013-01-16
| | | | | | | | | This is the first step towards automatic recycling of scratch resouces in the cache via ref-cnts. R=robertphillips@google.com Review URL: https://codereview.appspot.com/7092061 git-svn-id: http://skia.googlecode.com/svn/trunk@7222 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove default texture coords / texture matrixGravatar bsalomon@google.com2012-11-05
| | | | | | Review URL: https://codereview.appspot.com/6775100 git-svn-id: http://skia.googlecode.com/svn/trunk@6293 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make morphology, convolution, and table color filter opt out of default ↵Gravatar bsalomon@google.com2012-11-02
| | | | | | | | texture matrices. Review URL: https://codereview.appspot.com/6817077 git-svn-id: http://skia.googlecode.com/svn/trunk@6280 2bbb7eff-a529-9590-31e7-b0007b416f81
* Pass GrCustomStage to key-generation functions and emitCode().Gravatar bsalomon@google.com2012-10-29
| | | | | | | R=robertphillips@google.com Review URL: https://codereview.appspot.com/6819046 git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6182 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrGLConvolutionEffect, GrGLMorphologyEffect, and GrGLMagnifierEffect ↵Gravatar bsalomon@google.com2012-10-29
| | | | | | | | | derive directly from GrGLEffect. R=robertphillips@google.com Review URL: https://codereview.appspot.com/6786052 git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6164 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrGLEffect::setData take GrEffectStage rather than GrEffect.Gravatar bsalomon@google.com2012-10-26
| | | | | | | | | This allows the coord-change matrix to be communicated to setData(). An accessor for this matrix is also added to GrEffectStage. R=robertphillips@google.com Review URL: https://codereview.appspot.com/6779057 git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6143 2bbb7eff-a529-9590-31e7-b0007b416f81
* Rename StageKey and related stuff.Gravatar bsalomon@google.com2012-10-25
| | | | | | | R=robertphillips@google.com Review URL: https://codereview.appspot.com/6785049 git-svn-id: http://skia.googlecode.com/svn/trunk@6130 2bbb7eff-a529-9590-31e7-b0007b416f81
* Rename GrProgramStageFactory to GrBackendEffectFactory.Gravatar bsalomon@google.com2012-10-25
| | | | | | Review URL: https://codereview.appspot.com/6773044 git-svn-id: http://skia.googlecode.com/svn/trunk@6125 2bbb7eff-a529-9590-31e7-b0007b416f81
* GrGLProgramStage Renaming Part 2Gravatar bsalomon@google.com2012-10-25
| | | | | | | s/GrGLLegacyProgramStage/GrGLLegacyEffect Review URL: https://codereview.appspot.com/6761056 git-svn-id: http://skia.googlecode.com/svn/trunk@6091 2bbb7eff-a529-9590-31e7-b0007b416f81
* GrGLProgramStage Renaming Part 1.Gravatar bsalomon@google.com2012-10-25
| | | | | | | | Renamed cpp and h s/GrGLProgramStage/GrGLEffect/ Review URL: https://codereview.appspot.com/6759054 git-svn-id: http://skia.googlecode.com/svn/trunk@6090 2bbb7eff-a529-9590-31e7-b0007b416f81
* GrCustomStage Renaming Part 5Gravatar bsalomon@google.com2012-10-25
| | | | | | | | | Stuff found by searching for "stage". R=robertphillips@google.com Review URL: https://codereview.appspot.com/6772043 git-svn-id: http://skia.googlecode.com/svn/trunk@6089 2bbb7eff-a529-9590-31e7-b0007b416f81
* GrCustomStage Renaming Part 3Gravatar bsalomon@google.com2012-10-24
| | | | | | | | | Rename all things *CUSTOM_STAGE*, customStage*, and other miscellany R=robertphillips@google.com Review URL: https://codereview.appspot.com/6769048 git-svn-id: http://skia.googlecode.com/svn/trunk@6081 2bbb7eff-a529-9590-31e7-b0007b416f81
* GrCustomStage Renaming Part 2Gravatar bsalomon@google.com2012-10-24
| | | | | | | | | GrSamplerState member rename GrCustomStageUnitTest rename some comment updates Review URL: https://codereview.appspot.com/6771043 git-svn-id: http://skia.googlecode.com/svn/trunk@6078 2bbb7eff-a529-9590-31e7-b0007b416f81
* CustomStage Renaming Part 1Gravatar bsalomon@google.com2012-10-24
| | | | | | | | | | | | | | | | | | | Search and replace: GrCustomStage->GrEffect GrCustomStageTestFactory->GrEffectTestFactory renamed the cpp/h files from customStage->effect reordered gypi, #includes, forward decls to maintain alphabetical sort. manually fixed up some whitespace and linewraps deleted a commented out #include R=robertphillips@google.com Review URL: https://codereview.appspot.com/6758046 git-svn-id: http://skia.googlecode.com/svn/trunk@6076 2bbb7eff-a529-9590-31e7-b0007b416f81
* Combine the emit functions in GrGLProgramStage.Gravatar bsalomon@google.com2012-10-23
| | | | | | | R=robertphillips@google.com Review URL: https://codereview.appspot.com/6741064 git-svn-id: http://skia.googlecode.com/svn/trunk@6057 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reland r6330 thru r6333 but do without enabling ↵Gravatar bsalomon@google.com2012-10-23
| | | | | | GL_ARB_fragment_coord_conventions on Intel GPUs. git-svn-id: http://skia.googlecode.com/svn/trunk@6048 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r6330 thru 6333 while we figure out what to do about Intel bots ↵Gravatar bsalomon@google.com2012-10-22
| | | | | | (possible driver bug). git-svn-id: http://skia.googlecode.com/svn/trunk@6037 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove two params from GrGLProgramStage::setData that are no longer necessary.Gravatar bsalomon@google.com2012-10-22
| | | | | | | R=senorblanco@chromium.org Review URL: https://codereview.appspot.com/6744062 git-svn-id: http://skia.googlecode.com/svn/trunk@6031 2bbb7eff-a529-9590-31e7-b0007b416f81
* Introduce GrGLShaderBuilder::TextureSamplerGravatar bsalomon@google.com2012-09-06
| | | | | | | | Review URL: https://codereview.appspot.com/6495099/ git-svn-id: http://skia.googlecode.com/svn/trunk@5422 2bbb7eff-a529-9590-31e7-b0007b416f81
* Recommit r5350 with fix for image failures (which affected GLs that don't ↵Gravatar bsalomon@google.com2012-08-30
| | | | | | support ARB_texture_swizzle). git-svn-id: http://skia.googlecode.com/svn/trunk@5353 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert 5350 while image changes are diagnosed.Gravatar bsalomon@google.com2012-08-30
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5351 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove fModulate from GrGLShaderBuilderGravatar bsalomon@google.com2012-08-30
| | | | | | | | | Review URL: https://codereview.appspot.com/6495051/ git-svn-id: http://skia.googlecode.com/svn/trunk@5350 2bbb7eff-a529-9590-31e7-b0007b416f81
* Some GrGLShaderBuilder cleanupGravatar bsalomon@google.com2012-08-28
| | | | | | | | Review URL: https://codereview.appspot.com/6500043/ git-svn-id: http://skia.googlecode.com/svn/trunk@5322 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
* Ensure that enums used by GrCustomStage TestCreate functions are declared in ↵Gravatar bsalomon@google.com2012-08-03
| | | | | | SK_ALLOW_GLOBAL_STATIC_INITIALIZERS=0 builds (e.g. android) git-svn-id: http://skia.googlecode.com/svn/trunk@4953 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add .0 on float GLSL literals to fix GLPrograms test breakGravatar bsalomon@google.com2012-08-03
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4952 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add morphology, convolution, single texture, texture domain effects to new ↵Gravatar bsalomon@google.com2012-08-03
| | | | | | | | | | | unit test system Review URL: http://codereview.appspot.com/6442085/ git-svn-id: http://skia.googlecode.com/svn/trunk@4951 2bbb7eff-a529-9590-31e7-b0007b416f81
* Introduction of set of functions to manage generation of texture fetch ↵Gravatar twiz@google.com2012-08-02
| | | | | | | | | shader code. A new set of routines have been added to GrGLShaderBuilder to emit texture fetches, taking into consideration the format of the texture to be accessed, and the channel swizzle. Review URL: https://codereview.appspot.com/6446072 git-svn-id: http://skia.googlecode.com/svn/trunk@4919 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove uniform names from top of GrGLProgram.cpp, builder responsible for ↵Gravatar bsalomon@google.com2012-07-25
| | | | | | | | | | | | "u" and stage num tags. Also add LF eol-style property to some files in src/gpu/effects. Review URL: http://codereview.appspot.com/6448049/ git-svn-id: http://skia.googlecode.com/svn/trunk@4770 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GL uniform managerGravatar bsalomon@google.com2012-07-25
| | | | | | | | Review URL: http://codereview.appspot.com/6423066/ git-svn-id: http://skia.googlecode.com/svn/trunk@4758 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove uniform var pointers from custom effectsGravatar bsalomon@google.com2012-07-16
| | | | | | | | Review URL: http://codereview.appspot.com/6374067/ git-svn-id: http://skia.googlecode.com/svn/trunk@4616 2bbb7eff-a529-9590-31e7-b0007b416f81
* Having updated the documentation of GrCustomStage to argue that all custom ↵Gravatar tomhudson@google.com2012-07-16
| | | | | | | | | | | | stages must be immutable, this CL makes that true for ConvolutionEffect. http://codereview.appspot.com/6398043/ git-svn-id: http://skia.googlecode.com/svn/trunk@4613 2bbb7eff-a529-9590-31e7-b0007b416f81
* There were three different problems with lighting filters:Gravatar senorblanco@chromium.org2012-07-13
| | | | | | | | | | | | | | | | | | | | | | | 1) Texture offsets (fImageIncrement) have to be signed depending on whether the texture is "right way up" (texture upload) or "upside down" (render target), so the surface normals were coming out upside down. 2) Light normals have to y-negated on upload These two bugs were cancelling each other out in SampleApp, (where we were testing w/textures) but not in Chrome (where we were testing w/render targets). 3) The extract-the-height-from-the-view-matrix hack I was using to compare light positions vs. gl_FragCoord doesn't work in Chrome where we compile with GR_STATIC_RECT_VB, and the view matrix contains more than the viewport transform (to accomodate the canonical vertex buffer). Fixed by passing the destination render target to GrGLProgramStage::setData(), so it can flip the light positions in Y on the CPU. Review URL: http://codereview.appspot.com/6343109/ git-svn-id: http://skia.googlecode.com/svn/trunk@4605 2bbb7eff-a529-9590-31e7-b0007b416f81
* Introduces new SingleTextureEffect base class for GrCustomStage objects.Gravatar tomhudson@google.com2012-07-12
| | | | | | | | | | | | | | 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
* VariableVisibility -> ShaderTypeGravatar bsalomon@google.com2012-07-11
| | | | | | | Review URL: http://codereview.appspot.com/6344103/ git-svn-id: http://skia.googlecode.com/svn/trunk@4534 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove GrStringBuilder Gravatar bsalomon@google.com2012-07-10
| | | | | | | | Review URL: http://codereview.appspot.com/6343093/ git-svn-id: http://skia.googlecode.com/svn/trunk@4514 2bbb7eff-a529-9590-31e7-b0007b416f81
* Avoid un-necessary re-calculations of width in for loop of emitFS functionGravatar bsalomon@google.com2012-06-15
| | | | | | | | | | Committed on behalf of kondapallykalyan@gmail.com Review URL: https://codereview.appspot.com/6294075/ git-svn-id: http://skia.googlecode.com/svn/trunk@4270 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove local variable from GrConvolutionEffect GLSL code; reported to give ↵Gravatar tomhudson@google.com2012-06-13
| | | | | | | | | | | | marginal speedup on some Intel architectures. Original patch from kondapallykalyan@. http://codereview.appspot.com/6302070/ git-svn-id: http://skia.googlecode.com/svn/trunk@4250 2bbb7eff-a529-9590-31e7-b0007b416f81
* Manually unroll loop in convolution (blur) - most GL drivers do, but someGravatar tomhudson@google.com2012-06-11
| | | | | | | | | | don't, and this leads to 20-30% benchmark speedup. http://codereview.appspot.com/6308057/ git-svn-id: http://skia.googlecode.com/svn/trunk@4218 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix warnings on Mac in src/gpu and include/gpuGravatar caryclark@google.com2012-06-06
| | | | | | | | | | | | | | | | | | Fix these class of warnings: - unused functions - unused locals - sign mismatch - missing function prototypes - missing newline at end of file - 64 to 32 bit truncation The changes prefer to link in dead code in the debug build with 'if (false)' than to comment it out, but trivial cases are commented out or sometimes deleted if it appears to be a copy/paste error. Review URL: https://codereview.appspot.com/6296044 git-svn-id: http://skia.googlecode.com/svn/trunk@4180 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement morphology as a custom effectGravatar bsalomon@google.com2012-05-31
| | | | | | | | Review URL: http://codereview.appspot.com/6250073/ git-svn-id: http://skia.googlecode.com/svn/trunk@4102 2bbb7eff-a529-9590-31e7-b0007b416f81
* Condense setupFSUnis, setupVSUnis, setupVaryings intoGravatar tomhudson@google.com2012-05-30
| | | | | | | | | | | GrGLProgramStage::setupVariables(). Rename appendVarying() to addVarying(), matching addUniform(). http://codereview.appspot.com/6262046/ git-svn-id: http://skia.googlecode.com/svn/trunk@4083 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move swizzle & modulation computation, non-virtual functions ontoGravatar tomhudson@google.com2012-05-24
| | | | | | | | | | | | | GrGLShaderBuilder. This lets us access all the default computations when there's no GrCustomStage specified, and means that GrGLProgramStage is effectively an interface class, all of whose functions can/should be overriden. http://codereview.appspot.com/6242051/ git-svn-id: http://skia.googlecode.com/svn/trunk@4045 2bbb7eff-a529-9590-31e7-b0007b416f81
* First stage of reworking custom shader infrastructure to allowGravatar tomhudson@google.com2012-05-24
| | | | | | | | | | radial mappings. http://codereview.appspot.com/6239043/ git-svn-id: http://skia.googlecode.com/svn/trunk@4040 2bbb7eff-a529-9590-31e7-b0007b416f81
* Tunnel name requests through factory, forcing custom effect and custom prog ↵Gravatar bsalomon@google.com2012-05-21
| | | | | | | | | | stage to use same impl Review URL: http://codereview.appspot.com/6220061/ git-svn-id: http://skia.googlecode.com/svn/trunk@4019 2bbb7eff-a529-9590-31e7-b0007b416f81
* Some refactoring of GrCustomStage and friendsGravatar bsalomon@google.com2012-05-18
| | | | | | | | Review URL: http://codereview.appspot.com/6209071/ git-svn-id: http://skia.googlecode.com/svn/trunk@4003 2bbb7eff-a529-9590-31e7-b0007b416f81
* Windows build fixes from r3887.Gravatar tomhudson@google.com2012-05-10
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3889 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move convolution from code in GrGLProgram to new GrConvolutionEffectGravatar tomhudson@google.com2012-05-10
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