aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLInterface.cpp
Commit message (Collapse)AuthorAge
* Use a pseudo-extension CHROMIUM_framebuffer_mixed_samplesGravatar kkinnunen2015-12-10
| | | | | | | | | | | Use the pseudo-extension CHROMIUM_framebuffer_mixed_samples when run with Chromium command buffer. The extension exposes NV_framebuffer_mixed_samples subset that Skia needs in order to use NV_path_rendering with mixed samples. BUG=506765 Review URL: https://codereview.chromium.org/1507373004
* Populate NVPR functions when run with command bufferGravatar kkinnunen2015-12-09
| | | | | | | | | | Populate the NV_path_rendering functions provided by CHROMIUM_path_rendering when the tools are being run with command buffer API. BUG=skia:2992 Review URL: https://codereview.chromium.org/1510163003
* Initial version of external_oes texture support and unit testGravatar bsalomon2015-11-22
| | | | | | Committed: https://skia.googlesource.com/skia/+/27a048700778d4cebfc23301d1780649791b0e03 Review URL: https://codereview.chromium.org/1451683002
* Revert of Initial version of external_oes texture support and unit test ↵Gravatar bsalomon2015-11-20
| | | | | | | | | | | | | | | | | | | (patchset #14 id:260001 of https://codereview.chromium.org/1451683002/ ) Reason for revert: Error wrapping external texture in GrTexture on some devices. Original issue's description: > Initial version of external_oes texture support and unit test > > Committed: https://skia.googlesource.com/skia/+/27a048700778d4cebfc23301d1780649791b0e03 TBR=joshualitt@google.com,egdaniel@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1459323004
* Initial version of external_oes texture support and unit testGravatar bsalomon2015-11-20
| | | | Review URL: https://codereview.chromium.org/1451683002
* Add support for EGLImage to GrGLInterfaceGravatar bsalomon2015-11-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1434813002
* Revert of Enable stencil clipping in mixed sampled render targets (patchset ↵Gravatar cdalton2015-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | #6 id:100001 of https://codereview.chromium.org/1232103002/ ) Reason for revert: Co-centered sample locations are not needed to do stencil clip with mixed samples Original issue's description: > Implement stencil clipping in mixed sampled render targets > > This change enables multisampled clipping for mixed sampled > render targets. Previously clipping in mixed samples config > behaved the same as in the gpu config. > > In order to retrofit non-MSAA draw methods, programmable sample > locations are used in order to colocate all samples at (0.5, 0.5). > Requires support for NV_sample_locations. > > BUG=skia:4399 > > Committed: > https://skia.googlesource.com/skia/+/3e77ba96d56d15db30ac6d8ccb900e30aafcbb16 BUG=skia: Review URL: https://codereview.chromium.org/1415873011
* Revert of Fix setColocatedSampleLocations on ES and GL < 4.5 (patchset #2 ↵Gravatar cdalton2015-11-11
| | | | | | | | | | | | | | | | | | | | | | | id:20001 of https://codereview.chromium.org/1415503008/ ) Reason for revert: Co-centered sample locations are not needed to do stencil clip with mixed samples. Original issue's description: > Fix setColocatedSampleLocations on ES and GL < 4.5 > > Updates setColocatedSampleLocations to use glFramebufferParameteri > when > the DSA version glNamedFramebufferParameteri is not present. > > BUG=skia: > > Committed: > https://skia.googlesource.com/skia/+/98cad6219b430eddf5528473311279f21dbd2e10 BUG=skia: Review URL: https://codereview.chromium.org/1420883007
* Fix setColocatedSampleLocations on ES and GL < 4.5Gravatar cdalton2015-11-03
| | | | | | | | | Updates setColocatedSampleLocations to use glFramebufferParameteri when the DSA version glNamedFramebufferParameteri is not present. BUG=skia: Review URL: https://codereview.chromium.org/1415503008
* skia: Make the validate match interface for *_draw_instancedGravatar hendrikw2015-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | For whatever reason, on the Mac, the command buffer is reporting ARB_draw_instanced as a valid extension. This is probably a bug in the command buffer and I'll look into this later. In Skia, we don't check for ARB_draw_instanced in GLES2 when building the interface, but during the validate, we do, so we ended up failing the validation. Looking a bit further at the specs, ARB_draw_instanced is GL only, whereas EXT_draw_instanced is both GL and GLES. I've updated the code to reflect this. See: https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/ARB/draw_instanced.txt https://www.opengl.org/registry/specs/EXT/draw_instanced.txt Everything above also applies to ARB/EXT_instanced_arrays https://www.khronos.org/registry/gles/extensions/EXT/EXT_instanced_arrays.txt https://www.opengl.org/registry/specs/ARB/instanced_arrays.txt Review URL: https://codereview.chromium.org/1409053003
* Implement stencil clipping in mixed sampled render targetsGravatar vbuzinov2015-09-30
| | | | | | | | | | | | | | This change enables multisampled clipping for mixed sampled render targets. Previously clipping in mixed samples config behaved the same as in the gpu config. In order to retrofit non-MSAA draw methods, programmable sample locations are used in order to colocate all samples at (0.5, 0.5). Requires support for NV_sample_locations. BUG=skia:4399 Review URL: https://codereview.chromium.org/1232103002
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Style Change: SkNEW->new; SkDELETE->deleteGravatar halcanary2015-08-26
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316123003 Review URL: https://codereview.chromium.org/1316123003
* Implement support for dual source blending in ESGravatar kkinnunen2015-07-30
| | | | | | | | | | | | | | | | | | | | | | | Use EXT_blend_func_extended to implement dual source blending in OpenGL ES. The extension is the ES version of ARB_blend_func_extended. The extension provides gl_SecondaryFragColorEXT for ES 2.0 contexts. The extension provides glBindFragDataLocationIndexed to bind a custom fragment shader output to the secondary color for ES 3.0 contexts. For ES 3.1 contexts, the extension would also give "layout (location=0, index=1)" output varible layout modifier syntax, but it is not used in this patch. The extension needs #extension GL_EXT_blend_func_extended : require directive for the variables to be available in ES 2.0. For ES 3.0, the directive relaxes the rules for the amount of output variables without layout location qualifiers. OpenGL continues to use GL_ARB_blend_func_extended for dual source blending. Review URL: https://codereview.chromium.org/1266773003
* Implement support for CHROMIUM_path_rendering pseudo extensionGravatar kkinnunen2015-07-14
| | | | | | | | | | | | | | | | Implement support for path rendering in Chromium through CHROMIUM_path_rendering pseudo extension. The extension defines a new pseudo-gl function, BindFragmentInputLocation. This behaves similarly to the BindUniformLocation pseudo-gl function. The idea is to assign fragment input location to a fragment input before linking the program. BUG=chromium:344330 Committed: https://skia.googlesource.com/skia/+/eeef46d181f9f8db388ecea81df699fc1b3c9280 Review URL: https://codereview.chromium.org/1192663002
* Revert of Implement support for CHROMIUM_path_rendering pseudo extension ↵Gravatar jvanverth2015-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #4 id:60001 of https://codereview.chromium.org/1192663002/) Reason for revert: DEPS roll failing Original issue's description: > Implement support for CHROMIUM_path_rendering pseudo extension > > Implement support for path rendering in Chromium through > CHROMIUM_path_rendering pseudo extension. > > The extension defines a new pseudo-gl function, > BindFragmentInputLocation. This behaves similarly to the > BindUniformLocation pseudo-gl function. The idea is to assign fragment > input location to a fragment input before linking the program. > > BUG=chromium:344330 > > Committed: https://skia.googlesource.com/skia/+/eeef46d181f9f8db388ecea81df699fc1b3c9280 TBR=bsalomon@google.com,joshualitt@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:344330 Review URL: https://codereview.chromium.org/1223673002
* Implement support for CHROMIUM_path_rendering pseudo extensionGravatar kkinnunen2015-07-02
| | | | | | | | | | | | | | Implement support for path rendering in Chromium through CHROMIUM_path_rendering pseudo extension. The extension defines a new pseudo-gl function, BindFragmentInputLocation. This behaves similarly to the BindUniformLocation pseudo-gl function. The idea is to assign fragment input location to a fragment input before linking the program. BUG=chromium:344330 Review URL: https://codereview.chromium.org/1192663002
* Cleanup legacy NVPR-related definitionsGravatar kkinnunen2015-07-01
| | | | | | | | | | | | | | | | | | | | | | | | Fixed-function NVPR codepaths were removed a while ago. Only NVPR API version 1.3 (PathFragmentInputGen) was left working. Remove backwards-compatibility code that was left behind. Remove some NVPR API function typedefs that were left from initial commits. Remove PathCoords function pointer from GrGLInterface, it has never been called and causes problems in the future, since it will not be implemented in the Chromium pseudo extension. Avoid failing interface creation even if nvprmsaaXX config is requested but the driver is not recent enough. The SAN bots have old driver, but try to run nvprmsaa16 configs. Instead, print out a warning. Committed: https://skia.googlesource.com/skia/+/fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e Committed: https://skia.googlesource.com/skia/+/e35b5d99d8dfcc6b2be844df28cba47436380809 Review URL: https://codereview.chromium.org/1177243004
* Revert of Cleanup legacy NVPR-related definitions (patchset #4 id:60001 of ↵Gravatar jvanverth2015-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1177243004/) Reason for revert: Breaks the Ubuntu *SAN bots. Original issue's description: > Cleanup legacy NVPR-related definitions > > Fixed-function NVPR codepaths were removed a while ago. Only NVPR API > version 1.3 (PathFragmentInputGen) was left working. Remove > backwards-compatibility code that was left behind. > > Remove some NVPR API function typedefs that were left from initial > commits. > > Remove PathCoords function pointer from GrGLInterface, it has > never been called and causes problems in the future, since it will > not be implemented in the Chromium pseudo extension. > > Committed: https://skia.googlesource.com/skia/+/fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e > > Committed: https://skia.googlesource.com/skia/+/e35b5d99d8dfcc6b2be844df28cba47436380809 TBR=joshualitt@google.com,cdalton@nvidia.com,bsalomon@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1219663005
* Cleanup legacy NVPR-related definitionsGravatar kkinnunen2015-06-30
| | | | | | | | | | | | | | | | | Fixed-function NVPR codepaths were removed a while ago. Only NVPR API version 1.3 (PathFragmentInputGen) was left working. Remove backwards-compatibility code that was left behind. Remove some NVPR API function typedefs that were left from initial commits. Remove PathCoords function pointer from GrGLInterface, it has never been called and causes problems in the future, since it will not be implemented in the Chromium pseudo extension. Committed: https://skia.googlesource.com/skia/+/fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e Review URL: https://codereview.chromium.org/1177243004
* Revert of Cleanup legacy NVPR-related definitions (patchset #3 id:40001 of ↵Gravatar fmalita2015-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1177243004/) Reason for revert: Broke the GPU SAN bots: https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/779/steps/dm/logs/stdio Original issue's description: > Cleanup legacy NVPR-related definitions > > Fixed-function NVPR codepaths were removed a while ago. Only NVPR API > version 1.3 (PathFragmentInputGen) was left working. Remove > backwards-compatibility code that was left behind. > > Remove some NVPR API function typedefs that were left from initial > commits. > > Remove PathCoords function pointer from GrGLInterface, it has > never been called and causes problems in the future, since it will > not be implemented in the Chromium pseudo extension. > > Committed: https://skia.googlesource.com/skia/+/fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e TBR=joshualitt@google.com,cdalton@nvidia.com,bsalomon@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1206333003
* Cleanup legacy NVPR-related definitionsGravatar kkinnunen2015-06-25
| | | | | | | | | | | | | | | Fixed-function NVPR codepaths were removed a while ago. Only NVPR API version 1.3 (PathFragmentInputGen) was left working. Remove backwards-compatibility code that was left behind. Remove some NVPR API function typedefs that were left from initial commits. Remove PathCoords function pointer from GrGLInterface, it has never been called and causes problems in the future, since it will not be implemented in the Chromium pseudo extension. Review URL: https://codereview.chromium.org/1177243004
* Stop using the NVPR glyph loading functionalityGravatar kkinnunen2015-06-23
| | | | | | Remove the NVPR glyph loading functionality. A bit risky feature. Review URL: https://codereview.chromium.org/1176113008
* Add support for creating texture backed images where Skia will delete the ↵Gravatar bsalomon2015-06-18
| | | | | | texture. Review URL: https://codereview.chromium.org/1187523005
* Import functionality for new GL backendGravatar cdalton2015-06-12
| | | | | | | | | | | | | | | | | | Brings in the following functionality: ARB_draw_instanced ARB_instanced_arrays NV_bindless_texture EXT_direct_state_access KHR_debug Also cleans up some of the NVPR extension loading. BUG=skia: Committed: https://skia.googlesource.com/skia/+/202c4c75fb806f751cf796850bf67fe9793e0643 Review URL: https://codereview.chromium.org/1185573003
* Revert of Import functionality for new GL backend (patchset #2 id:20001 of ↵Gravatar djsollen2015-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1185573003/) Reason for revert: breaking multiple builds. For example... https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/667 Original issue's description: > Import functionality for new GL backend > > Brings in the following functionality: > > ARB_draw_instanced > ARB_instanced_arrays > NV_bindless_texture > EXT_direct_state_access > KHR_debug > > Also cleans up some of the NVPR extension loading. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/202c4c75fb806f751cf796850bf67fe9793e0643 TBR=bsalomon@google.com,cdalton@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1184863002
* Import functionality for new GL backendGravatar cdalton2015-06-12
| | | | | | | | | | | | | | | | Brings in the following functionality: ARB_draw_instanced ARB_instanced_arrays NV_bindless_texture EXT_direct_state_access KHR_debug Also cleans up some of the NVPR extension loading. BUG=skia: Review URL: https://codereview.chromium.org/1185573003
* Make mixed samples contingent on auxiliary extensionsGravatar cdalton2015-05-21
| | | | | | | | | | | | | | | | | | | | | Moves the cap for mixed samples into GrShaderCaps and does not enable it unless we have support for both dual source blending and multisample disable. Creates a dedicated cap for multisample disable. Reconfigures the mixed samples cap to indicate the collective capability of three different extensions: GL_NV_framebuffer_mixed_samples GL_NV_sample_mask_override_coverage GL_EXT_raster_multisample Imports tokens and procedures for GL_EXT_raster_multisample. BUG=skia: Review URL: https://codereview.chromium.org/1151793002
* Re-enable validation for glBlendBarrierKHR and glBlendEquationGravatar cdalton2015-05-06
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1103673002
* Revert of Remove validation exceptions in GrGLInterface. These are all now ↵Gravatar bsalomon2015-04-24
| | | | | | | | | | | | | | | | | | | set by Chromium. (patchset #1 id:1 of https://codereview.chromium.org/1100413003/) Reason for revert: Crashing bots Original issue's description: > Remove validation exceptions in GrGLInterface. These are all now set by Chromium. > > Committed: https://skia.googlesource.com/skia/+/42d9f35a8daf7f24ba542ba3783ec46fd965ef2f TBR=joshualitt@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1093323005
* Remove validation exceptions in GrGLInterface. These are all now set by ↵Gravatar bsalomon2015-04-24
| | | | | | Chromium. Review URL: https://codereview.chromium.org/1100413003
* Remove validation of blend barrier until Chrome can provide this functionGravatar bsalomon2015-04-23
| | | | | | | BUG=chromium:480534 TBR=egdaniel@google.com Review URL: https://codereview.chromium.org/1101143002
* Add tokens and entry points for KHR_blend_equation_advancedGravatar cdalton2015-04-22
| | | | | | | | | | Also adds glBlendEquation, which the extension interacts with, to the core of GrGLInterface. Validation of this function is temporarily disabled until Chrome hooks it up. BUG=skia: Review URL: https://codereview.chromium.org/1039693004
* Revert of Add tokens and entry points for KHR_blend_equation_advanced ↵Gravatar tomhudson2015-04-21
| | | | | | | | | | | | | | | | | | | | | | | | (patchset #3 id:40001 of https://codereview.chromium.org/1039693004/) Reason for revert: We're getting repeated crashes since this CL landed when we try to evaluate a roll into Chrome on our bots. (https://uberchromegw.corp.google.com/i/client.skia/builders/Linux%20Tests/builds/1902) Our initial reflex is to put a #if 0 around this code (just like the immediately following lines 334-338 in GrGLInterface.cpp), but the error isn't what the GPU team expected to see if that was all we needed, so we're reverting now and asking you to resubmit tomorrow after running more thorough tests. Original issue's description: > Add tokens and entry points for KHR_blend_equation_advanced > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/8e578859f80b46a63144add215955221017d3609 TBR=markkilgard@gmail.com,bsalomon@google.com,cdalton@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1101593002
* Add tokens and entry points for KHR_blend_equation_advancedGravatar cdalton2015-04-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1039693004
* Import glTextureBarrierGravatar cdalton2015-04-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1090163002
* GrGLInterface: Add support for NV_framebuffer_mixed_samplesGravatar vbuzinov2015-04-01
| | | | | | | | | Import glCoverageModulation if NV_framebuffer_mixed samples is available BUG=skia:3177 Review URL: https://codereview.chromium.org/993363002
* Remove guard on and enable vertexAttrib function pts on GrGLInterface.Gravatar egdaniel2014-12-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/774303003
* Add glGetShaderPrecisionFormatGravatar bsalomon2014-12-03
| | | | Review URL: https://codereview.chromium.org/778703003
* 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
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* 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