aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLAssembleInterface.cpp
Commit message (Collapse)AuthorAge
* Add glGetShaderPrecisionFormatGravatar bsalomon2014-12-03
| | | | Review URL: https://codereview.chromium.org/778703003
* Revert of Revert of Add gpu support for Apple specific 'Vertex Arrays' ↵Gravatar tomhudson2014-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functions (patchset #1 id:1 of https://codereview.chromium.org/750973003/) Reason for revert: Original patchset seems to have been exonerated. Crash was mac-specific, but appears to be triggered by a non-mac-specific change (https://codereview.chromium.org/747043004/); suspecting driver bug? Original issue's description: > Revert of Add gpu support for Apple specific 'Vertex Arrays' functions (patchset #2 id:20001 of https://codereview.chromium.org/754653002/) > > Reason for revert: > Suspected in DM crashes, e.g. > > 2033 tasks left 344M peak 843ms tabl-cuteoverload_skp > Signal 11: > _sigtramp (+0x1a) > create_surface(CanvasConfig const&, GrContext*) (+0x1b2) > test_WritePixels(skiatest::Reporter*, GrContextFactory*) (+0x8d4) > skiatest::WritePixelsClass::onRun(skiatest::Reporter*) (+0x21) > skiatest::Test::run() (+0x7c) > DM::GpuTestTask::draw(GrContextFactory*) (+0x8c) > DM::GpuTask::run(GrContextFactory*) (+0xa6) > DM::TaskRunner::wait() (+0x7f) > dm_main() (+0x33f) > main (+0x27) > > > On all MacMini platforms (the following URL with -Mac{10.6,10.7,10.8}- and -{Debug,Release}): > > http://build.chromium.org/p/client.skia/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Debug > > > Original issue's description: > > Add gpu support for Apple specific 'Vertex Arrays' functions > > > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/af000f469e1b0153ce445c96ca3d20e6d12224cc > > TBR=bsalomon@google.com,paraboul@gmail.com > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/55fe3d7748b873e362edc4e6a43bd77914ed25fb TBR=bsalomon@google.com,paraboul@gmail.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/734633005
* Revert of Add gpu support for Apple specific 'Vertex Arrays' functions ↵Gravatar tomhudson2014-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #2 id:20001 of https://codereview.chromium.org/754653002/) Reason for revert: Suspected in DM crashes, e.g. 2033 tasks left 344M peak 843ms tabl-cuteoverload_skp Signal 11: _sigtramp (+0x1a) create_surface(CanvasConfig const&, GrContext*) (+0x1b2) test_WritePixels(skiatest::Reporter*, GrContextFactory*) (+0x8d4) skiatest::WritePixelsClass::onRun(skiatest::Reporter*) (+0x21) skiatest::Test::run() (+0x7c) DM::GpuTestTask::draw(GrContextFactory*) (+0x8c) DM::GpuTask::run(GrContextFactory*) (+0xa6) DM::TaskRunner::wait() (+0x7f) dm_main() (+0x33f) main (+0x27) On all MacMini platforms (the following URL with -Mac{10.6,10.7,10.8}- and -{Debug,Release}): http://build.chromium.org/p/client.skia/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Debug Original issue's description: > Add gpu support for Apple specific 'Vertex Arrays' functions > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/af000f469e1b0153ce445c96ca3d20e6d12224cc TBR=bsalomon@google.com,paraboul@gmail.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/750973003
* Add gpu support for Apple specific 'Vertex Arrays' functionsGravatar paraboul2014-11-24
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/754653002
* Add gpu support for glVertexAttrb1f, 2fv, and 3fvGravatar egdaniel2014-10-24
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/662583003
* Adds glMemoryGlyphIndexArrayNV to the GrGLInterface and beginsGravatar cdalton2014-09-17
| | | | | | | | | | | detecting support for this method in GrGLPathRendering. BUG=skia:2939 R=bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/570733002
* Remove reliance on linked in GL functions for assembling GLES interfaces.Gravatar bsalomon2014-08-26
| | | | | | | | | | | | Make Android pull in gl2.h directly to workaround broken eglGetProcAddress for unextended GLES2 functions. Use interface assembler for angle and iOS. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/500153002
* Wrap NV_path_rendering API with GrGLPathRenderingGravatar cdalton2014-08-11
| | | | | | | | | | | | | | Adds a GrGLPathRendering class that wraps the NV_path_rendering extension and manages its various API versions. It also provides backup implementations when certain NVpr methods from later API versions are not present on the current system. BUG=skia: R=bungeman@google.com, bsalomon@google.com, kkinnunen@nvidia.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/444223002
* Revert "Adds a GrGLPathRendering class that wraps the NV_path_rendering"Gravatar bungeman2014-08-06
| | | | | | | | | | | | | | | | | | This reverts commit 5672da0fa54f31c9727568e9dd5fe82c6e1585bc. This appears to be blocking the Skia roll by causing failures in the blink layout tests on the canvas-lost-gpu-context.html test. The bisect for this can be seen at: https://codereview.chromium.org/449473002/ Original issue's description: > Adds a GrGLPathRendering class that wraps the NV_path_rendering > extension and manages its various API versions. It also provides > backup implementations when certain NVpr methods from later API > versions are not present on the current system. > > Committed: https://skia.googlesource.com/skia/+/5672da0fa54f31c9727568e9dd5fe82c6e1585bc
* Adds a GrGLPathRendering class that wraps the NV_path_renderingGravatar cdalton2014-08-04
| | | | | | | | | | | | extension and manages its various API versions. It also provides backup implementations when certain NVpr methods from later API versions are not present on the current system. R=bsalomon@google.com, kkinnunen@nvidia.com, markkilgard@gmail.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/437473002
* Incorporate glStencilThenCover* nvpr methodsGravatar cdalton2014-07-29
| | | | | | | | | | | | | | | | | | Adds the glStencilThenCover* nvpr methods to GrGLInterface and starts using them. When drawing multible paths, this will make it so we only have to send the index/transform data once. It will also allow the driver to save time internally. The glStencilThenCover* methods are a newer addition, so they aren't available on every driver. In the event that they are not present, we emulate them using the existing glStencil*/glCover* methods. BUG=skia: R=markkilgard@gmail.com, bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/423173004
* Add IsPath to GrGLInterfaceGravatar cdalton2014-07-17
| | | | | | | | | | | This will be used by path ranges. BUG=skia: R=bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/403563002
* 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
* Add support for glCompressedTexSubImage2DGravatar krajcevski2014-06-11
| | | | | | | | R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/329213002
* 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
* Fail to create GrContext when we get a NULL for a GL/GLSL version stringGravatar commit-bot@chromium.org2014-04-30
| | | | | | | | | | | BUG=368107 R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/254083002 git-svn-id: http://skia.googlecode.com/svn/trunk@14452 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move GrGLInterface function ptr setup into a common function for all OpenGL ↵Gravatar commit-bot@chromium.org2014-04-29
GrGLInterface factories (but not GLES yet). R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/254713006 git-svn-id: http://skia.googlecode.com/svn/trunk@14444 2bbb7eff-a529-9590-31e7-b0007b416f81