aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLInterface.cpp
Commit message (Collapse)AuthorAge
* Add GrGLMakeNativeInterface factory that returns sk_sp<const GrGLInterface>.Gravatar Brian Salomon2017-12-11
| | | | | | | | | | | | | | | Removes the concept of a configurable "default" interface and makes the default always be the "native" interface. Also removes unused functions: GrGLInterfaceAddTestDebugMarker and GrGLInterface::NewClone. Keeps around legacy GrGLCreateNativeInterface() until clients can be weened. Change-Id: I4a3bdafa8cf8c68ed13318393abd55686b045ccb Reviewed-on: https://skia-review.googlesource.com/83000 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* API to cache shader binaries between runs of Skia.Gravatar Ethan Nicholas2017-11-02
| | | | | | | | | | | | This CL does not include an actual implementation of said cache. Stan is working on the cache implementation on the Android side of things. Bug: skia: Change-Id: Iabe4f19b2dbacaaa1ead8bb3fa68d88c687b9a84 Reviewed-on: https://skia-review.googlesource.com/54780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Uncomment glinterface asserts not that chrome has functionsGravatar Greg Daniel2017-07-31
| | | | | | | | Bug: skia: Change-Id: I4c90f8e6eb10389340155fcf7c76c7cb3a5163b3 Reviewed-on: https://skia-review.googlesource.com/28600 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* reduce code size in GrGLTestInterface.o and GrGLAssembleInterface.oGravatar Mike Klein2017-07-21
| | | | | | | | | | | | | | All these std::function instantiations fill the object files up with almost 1MB of boilerplate generated code. I think we can do better by implementing GrGLFunction as its own std::function-like type with much less overhead, bringing the total object file size down to about 200K. This reduces DM from 28780344 to 27726144 on my Mac, a touch above 1MB. Change-Id: I219a86737d1dfb8b68e4eb47b51a8a98b18ff282 Reviewed-on: https://skia-review.googlesource.com/20551 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add test for flushing empty surface with semaphoresGravatar Greg Daniel2017-07-20
| | | | | | | | Bug: skia: Change-Id: I8d7dcb29c5b4c460aa5137842caf6563448ba5d3 Reviewed-on: https://skia-review.googlesource.com/25181 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Update gpu caps for valid sample counts.Gravatar Greg Daniel2017-07-19
| | | | | | | | | | | | Instead of query and maxSampleCount and using that to cap, we now have each config store its supported values and when requested returns either the next highest or equal supported value, or if non the max config supported. Bug: skia: Change-Id: I8802d44c13b3b1703ee54a7e69b82102d4b8dc2d Reviewed-on: https://skia-review.googlesource.com/24302 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add GL_APPLE_sync supportGravatar Brian Osman2017-06-21
| | | | | | | | | | | While debugging Flutter iOS issues, I realized that they weren't getting cross context images (we were just passing around codec backed images). Bug: skia: Change-Id: I6190b24eb281e839659d28767f9a0b31c05f13e0 Reviewed-on: https://skia-review.googlesource.com/20450 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Update minimum non-ES OpenGL spec to 2.0.Gravatar Brian Salomon2017-05-08
| | | | | | | | | | | As a consequence of removing support for GLs lacking separate stencil settings our effective minimum GL version is 2.0. This formalizes that by explicitly failing if the version in the version string is lower. As a consequence we will always have wrapping stencil operations available. Bug: skia: Change-Id: Ibe302f72a063dbadc773bda811cc0d0f6c08c61a Reviewed-on: https://skia-review.googlesource.com/15610 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Remove support for GLs without separate stencil.Gravatar Brian Salomon2017-05-08
| | | | | | | | | | | As a consequence we no longer need GrDrawFace. This effectively raises the minimum bar for non-ES OpenGL to 2.0 as there is no extension that adds the GL 2.0 separate stencil functionality. GL_ATI_separate_stencil is close but it does not have glStencilMaskSeparate. Bug: skia: Change-Id: I36d17a69400c8beeacb6dab8d8c5c3317814cfe4 Reviewed-on: https://skia-review.googlesource.com/15603 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add glPolygonMode support.Gravatar Jim Van Verth2017-03-30
| | | | | | | | | Mainly added because it's useful for rendering in wireframe mode. Change-Id: I84dab43ce5b56a48d47dd16d4c98fa7648bb1f0b Reviewed-on: https://skia-review.googlesource.com/10530 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add support for Semaphores (gpu waiting on gpu) in GaneshGravatar Greg Daniel2017-03-02
| | | | | | | | | | BUG=skia: Change-Id: I4324b65bc50a3dfd90372459899870d5f1952fdc Reviewed-on: https://skia-review.googlesource.com/9120 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Add the ability to enable/disable GPU path renderersGravatar csmartdalton2017-02-22
| | | | | | | | | | | | | | Adds a bitfield to GrContextOptions that masks out path renderers. Adds commandline flags support to set this bitfield in tools apps. Removes GrGLInterfaceRemoveNVPR since we can now accomplish the same thing in the context options. BUG=skia: Change-Id: Icf2a4df36374b3ba2f69ebf0db56e8aedd6cf65f Reviewed-on: https://skia-review.googlesource.com/8786 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Add image functions to GrGLInterfaceGravatar Brian Salomon2016-11-15
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4840 Change-Id: I250cc4e637765c321c90e33c9b3f25c4ad12fe04 Reviewed-on: https://skia-review.googlesource.com/4840 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add support for ANGLE MSAA framebuffer extensions.Gravatar Brian Salomon2016-10-18
| | | | | | | | | | | BUG=skia:5804 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3505 Change-Id: I185ae0fdf5657271dc00b8dd88b78a69c3d6e4f1 Reviewed-on: https://skia-review.googlesource.com/3505 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add fence support for TransferBuffersGravatar jvanverth2016-09-30
| | | | | | | BUG=skia:4604 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2384463003 Review-Url: https://codereview.chromium.org/2384463003
* Add support for glDrawRangeElementsGravatar bsalomon2016-08-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2287003002 Review-Url: https://codereview.chromium.org/2287003002
* Include EXT_window_rectangles APIGravatar csmartdalton2016-08-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221393004 Review-Url: https://codereview.chromium.org/2221393004
* Fix GrGLInterface::validate() to check for GL_OES_sample_shading on ES contextsGravatar bsalomon2016-07-19
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2156343004 Review-Url: https://codereview.chromium.org/2156343004
* Remove guards in GrGLInterface::validate() for functions that Chromium used ↵Gravatar bsalomon2016-07-18
| | | | | | | | | to not provide. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2158983002 Review-Url: https://codereview.chromium.org/2158983002
* Support ARB extensions for indirect drawingGravatar csmartdalton2016-06-03
| | | | | | | | | | Adds support for the ARB extensions and fixes incorrect logic that was being used on the GL version for indirect drawing. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2038743002 Review-Url: https://codereview.chromium.org/2038743002
* Add GLSL support for texelFetchGravatar cdalton2016-04-11
| | | | | | | | | | | Adds a cap and builder methods for texelFetch. This is required for texel buffers. Also moves the texel buffer cap into the general shader caps, and adds glTexBufferRange to the GL interface. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1869063005 Review URL: https://codereview.chromium.org/1869063005
* Style bikeshed - remove extraneous whitespaceGravatar halcanary2016-03-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002 Review URL: https://codereview.chromium.org/1842753002
* Remove the GrGLInterface callback mechanism.Gravatar bsalomon2016-03-28
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1836013002 Review URL: https://codereview.chromium.org/1836013002
* added support for glMinSampleShadingGravatar ethannicholas2016-03-25
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1812223002 Review URL: https://codereview.chromium.org/1812223002
* Add caps and GL API for buffer textureGravatar cdalton2016-03-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1784063003 Review URL: https://codereview.chromium.org/1784063003
* Revert of Implement support for using GL ES 3.0 with command buffer ↵Gravatar kkinnunen2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | (patchset #6 id:100001 of https://codereview.chromium.org/1684413003/ ) Reason for revert: The dependency, ES3 implementation in command_buffer_gles2, got reverted. Original issue's description: > Implement support for using GL ES 3.0 with command buffer > > Adds a new 'api': --config gpu(api=commandbuffer3) for dm/nanobench. > > BUG=skia:4943 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684413003 > > Committed: https://skia.googlesource.com/skia/+/45c2c8166bbd84a87e29fdd344b39e36e8a28a3f TBR=bsalomon@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia:4943 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1744963002 Review URL: https://codereview.chromium.org/1744963002
* Include glGetMultisamplefv APIGravatar cdalton2016-02-26
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1720963002 Committed: https://skia.googlesource.com/skia/+/69c1b24bcaa7cffd59753a75a7f3d155696fcac4 Review URL: https://codereview.chromium.org/1720963002
* Implement support for using GL ES 3.0 with command bufferGravatar kkinnunen2016-02-25
| | | | | | | | | Adds a new 'api': --config gpu(api=commandbuffer3) for dm/nanobench. BUG=skia:4943 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684413003 Review URL: https://codereview.chromium.org/1684413003
* Revert of Include glGetMultisamplefv API (patchset #1 id:1 of ↵Gravatar ethannicholas2016-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1720963002/ ) Reason for revert: This is in the blamelist for Visualbench failures: https://build.chromium.org/p/client.skia/builders/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release-VisualBench/builds/1035 and seems the most likely candidate for the failure, so I am tentatively reverting. Original issue's description: > Include glGetMultisamplefv API > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1720963002 > > Committed: https://skia.googlesource.com/skia/+/69c1b24bcaa7cffd59753a75a7f3d155696fcac4 TBR=bsalomon@google.com,joshualitt@google.com,cdalton@nvidia.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1731333002
* Include glGetMultisamplefv APIGravatar cdalton2016-02-23
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1720963002 Review URL: https://codereview.chromium.org/1720963002
* Improve GLSL integer supportGravatar cdalton2016-02-08
| | | | | | | | | | | | | - Adds shader types for uint. - Adds a cap for integer support. - Uses glVertexAttribIPointer for integer attribs. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1669853002 Committed: https://skia.googlesource.com/skia/+/3a2caf8ecf38124f4ad21a0f6c4dabfcfa17911a Review URL: https://codereview.chromium.org/1669853002
* Revert of Improve GLSL integer support (patchset #1 id:1 of ↵Gravatar dcheng2016-02-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1669853002/ ) Reason for revert: MSAN bots are unhappy with this change: https://build.chromium.org/p/chromium.memory.fyi/builders/Linux%20ChromeOS%20MSan%20Tests/builds/7068 Original issue's description: > Improve GLSL integer support > > - Adds shader types for uint. > - Adds a cap for integer support. > - Uses glVertexAttribIPointer for integer attribs. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1669853002 > > Committed: https://skia.googlesource.com/skia/+/3a2caf8ecf38124f4ad21a0f6c4dabfcfa17911a TBR=bsalomon@google.com,egdaniel@google.com,ethannicholas@google.com,cdalton@nvidia.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1674813004
* Improve GLSL integer supportGravatar cdalton2016-02-05
| | | | | | | | | | | - Adds shader types for uint. - Adds a cap for integer support. - Uses glVertexAttribIPointer for integer attribs. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1669853002 Review URL: https://codereview.chromium.org/1669853002
* Add GL indirect drawing APIsGravatar cdalton2016-02-05
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666803002 Review URL: https://codereview.chromium.org/1666803002
* 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