aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLDefines.h
Commit message (Collapse)AuthorAge
...
* 32 bpp floating point texturesGravatar joshualitt2014-07-16
| | | | | | | | | | | This is VERY preliminary, but it was sufficient for me to get 32 bit floating point textures in a sample app BUG=skia: R=bsalomon@chromium.org, bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/359803003
* Add functions to support NV_path_rendering in OpenGL ESGravatar kkinnunen2014-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL ES. The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering revision 30, similar to following: Append to the end of the "Shader Inputs" subsection of Section 3.12.2 "Shader Execution": The command void ProgramPathFragmentInputGenNV(uint program, int location, enum genMode, int components, const float *coeffs); controls how a user-defined (non-built-in) fragment input of a GLSL program object is computed for fragment shading operations that occur as a result of CoverFillPathNV or CoverStrokePathNV. /program/ names a GLSL program object. If /program/ has not been successfully linked, the error INVALID_OPERATION is generated. The given fragment input generation state is loaded into the fragment input variable location identified by /location/. This location is a value returned either by GetProgramResourceLocation with a /programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV for the /programInterface/ and LOCATION for the property for a given fragment input resource index. .... glProgramPathFragmentInputGenNV will be used instead of glPathTexGen, because the latter depends on fixed function pipeline that is not exposed in ES. Also add glGetProgramResourceLocation from OpenGL 4.3 or ARB_program_interface_query. Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation. The added functions are not used yet, but they're needed when implementing NV_path_rendering support for OpenGL ES. They can also be used on OpenGL. Remove uncalled NV_path_rendering functions, so they do not cause confusion or take space in the interface definition. The ones that are later used can be re-added when needed. Remove definitions NV_path_rendering that are for NV_path_rendering function parameters that are not used. The ones that are later used can be re-added when needed. Committed: https://skia.googlesource.com/skia/+/4a995dfff2ecf91e8bf999d77e3218cec596232c R=bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/345723002
* Revert of Add functions to support NV_path_rendering in OpenGL ES ↵Gravatar rmistry2014-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/345723002/) Reason for revert: Will have to unfortunately revert this CL in order to revert https://codereview.chromium.org/319043005/ Original issue's description: > Add functions to support NV_path_rendering in OpenGL ES > > Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL > ES. > > The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering > revision 30, similar to following: > > Append to the end of the "Shader Inputs" subsection of Section 3.12.2 > "Shader Execution": > > The command > > void ProgramPathFragmentInputGenNV(uint program, > int location, > enum genMode, > int components, > const float *coeffs); > > controls how a user-defined (non-built-in) fragment input of a > GLSL program object is computed for fragment shading operations that > occur as a result of CoverFillPathNV or CoverStrokePathNV. > > /program/ names a GLSL program object. If /program/ has not been > successfully linked, the error INVALID_OPERATION is generated. > > The given fragment input generation state is loaded into the fragment > input variable location identified by /location/. This location > is a value returned either by GetProgramResourceLocation with a > /programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader > input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV > for the /programInterface/ and LOCATION for the property for a given > fragment input resource index. > > .... > > glProgramPathFragmentInputGenNV will be used instead of glPathTexGen, > because the latter depends on fixed function pipeline that is not > exposed in ES. > > Also add glGetProgramResourceLocation from OpenGL 4.3 or > ARB_program_interface_query. > > Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation. > > The added functions are not used yet, but they're needed when implementing > NV_path_rendering support for OpenGL ES. They can also be used on OpenGL. > > Remove uncalled NV_path_rendering functions, so they do not cause confusion > or take space in the interface definition. The ones that are later used > can be re-added when needed. > > Remove definitions NV_path_rendering that are for NV_path_rendering function > parameters that are not used. The ones that are later used > can be re-added when needed. > > Committed: https://skia.googlesource.com/skia/+/4a995dfff2ecf91e8bf999d77e3218cec596232c R=bsalomon@google.com, kkinnunen@nvidia.com TBR=bsalomon@google.com, kkinnunen@nvidia.com NOTREECHECKS=true NOTRY=true Author: rmistry@google.com Review URL: https://codereview.chromium.org/349983002
* Add functions to support NV_path_rendering in OpenGL ESGravatar kkinnunen2014-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL ES. The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering revision 30, similar to following: Append to the end of the "Shader Inputs" subsection of Section 3.12.2 "Shader Execution": The command void ProgramPathFragmentInputGenNV(uint program, int location, enum genMode, int components, const float *coeffs); controls how a user-defined (non-built-in) fragment input of a GLSL program object is computed for fragment shading operations that occur as a result of CoverFillPathNV or CoverStrokePathNV. /program/ names a GLSL program object. If /program/ has not been successfully linked, the error INVALID_OPERATION is generated. The given fragment input generation state is loaded into the fragment input variable location identified by /location/. This location is a value returned either by GetProgramResourceLocation with a /programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV for the /programInterface/ and LOCATION for the property for a given fragment input resource index. .... glProgramPathFragmentInputGenNV will be used instead of glPathTexGen, because the latter depends on fixed function pipeline that is not exposed in ES. Also add glGetProgramResourceLocation from OpenGL 4.3 or ARB_program_interface_query. Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation. The added functions are not used yet, but they're needed when implementing NV_path_rendering support for OpenGL ES. They can also be used on OpenGL. Remove uncalled NV_path_rendering functions, so they do not cause confusion or take space in the interface definition. The ones that are later used can be re-added when needed. Remove definitions NV_path_rendering that are for NV_path_rendering function parameters that are not used. The ones that are later used can be re-added when needed. R=bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/345723002
* Move the LATC and ETC1 enum values to GrPixelConfig. I also tried to put in ↵Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | | checks in a few places to make sure that we weren't using these pixel configurations in places that we shouldn't be. LATC is a DXT-esque alpha compression format that goes by a few other names (RGTC, 3DC). It might be useful to investigate using it to compress the alpha masks that we get from software rasterization. This patch set adds enums for that and recognition whether or not the device can support it. R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/304743004 git-svn-id: http://skia.googlecode.com/svn/trunk@14991 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add OpenGL Compressed Texture enum valuesGravatar commit-bot@chromium.org2014-05-27
| | | | | | | | | | R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/293263004 git-svn-id: http://skia.googlecode.com/svn/trunk@14890 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData.Gravatar commit-bot@chromium.org2014-05-05
| | | | | | | | | | | | | | BUG=skia:2402 Committed: http://code.google.com/p/skia/source/detail?r=14533 R=robertphillips@google.com, djsollen@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/243413002 git-svn-id: http://skia.googlecode.com/svn/trunk@14564 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Add support for glMapBufferRange. Use glMapBufferRange and ↵Gravatar djsollen@google.com2014-05-02
| | | | | | | | | | | | | | | | glMapBufferSubData. (https://codereview.chromium.org/243413002/) Reason for revert: This is firing an assert on many of the Android debug bots Original issue's description: > Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData. > > BUG=skia:2402 > > Committed: http://code.google.com/p/skia/source/detail?r=14533 git-svn-id: http://skia.googlecode.com/svn/trunk@14541 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData.Gravatar commit-bot@chromium.org2014-05-02
| | | | | | | | | | | BUG=skia:2402 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/243413002 git-svn-id: http://skia.googlecode.com/svn/trunk@14533 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add discard API to SkCanvas, plumb it to glDiscardFramebuffer()Gravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | BUG=skia:2349 R=robertphillips@google.com, reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/211683002 git-svn-id: http://skia.googlecode.com/svn/trunk@13976 2bbb7eff-a529-9590-31e7-b0007b416f81
* Improve handling of FF vertex array stateGravatar commit-bot@chromium.org2013-09-09
| | | | | | | | | | R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/23542013 git-svn-id: http://skia.googlecode.com/svn/trunk@11154 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add glTexGen funcs to interfaceGravatar commit-bot@chromium.org2013-08-30
| | | | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/23513006 git-svn-id: http://skia.googlecode.com/svn/trunk@11032 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add support for IMG's MSAA extension.Gravatar bsalomon@google.com2013-03-19
| | | | | | Review URL: https://codereview.chromium.org/12875005 git-svn-id: http://skia.googlecode.com/svn/trunk@8241 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use glGetStringi to get extensions when available.Gravatar bsalomon@google.com2013-02-26
| | | | | | Review URL: https://codereview.chromium.org/12328111 git-svn-id: http://skia.googlecode.com/svn/trunk@7872 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove glBlendEquation and glColorPointerGravatar bsalomon@google.com2012-06-08
| | | | | | | | Review URL: http://codereview.appspot.com/6300075/ git-svn-id: http://skia.googlecode.com/svn/trunk@4216 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GL function pointers for GL_NV_path_renderingGravatar bsalomon@google.com2012-06-06
| | | | | | | | Review URL: http://codereview.appspot.com/6296046/ git-svn-id: http://skia.googlecode.com/svn/trunk@4192 2bbb7eff-a529-9590-31e7-b0007b416f81
* When GL context is reset set some desktop-only GL state to values that we ↵Gravatar bsalomon@google.com2012-05-21
| | | | | | | | | | | assume later. Review URL: http://codereview.appspot.com/6222052/ git-svn-id: http://skia.googlecode.com/svn/trunk@4018 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
* Make GrGLDefines.h be a private headerGravatar bsalomon@google.com2012-05-07
Review URL: http://codereview.appspot.com/6198048/ git-svn-id: http://skia.googlecode.com/svn/trunk@3851 2bbb7eff-a529-9590-31e7-b0007b416f81