aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/glsl
Commit message (Collapse)AuthorAge
* 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
* Add sampler precision to GrTextureAccessGravatar cdalton2016-03-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1784023002 Review URL: https://codereview.chromium.org/1784023002
* Add support for vertex and geometry shader texturesGravatar cdalton2016-03-11
| | | | | | | | | | | Adds a visibility bitfield to GrTextureAccess that controls in which shaders the texture should be accessible. Also adds caps and validation to ensure we don't exceed texture limits. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1782583002 Review URL: https://codereview.chromium.org/1782583002
* Add support for 2x2 matricesGravatar cdalton2016-03-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1755483002 Review URL: https://codereview.chromium.org/1755483002
* Add "sample locations" feature to GrProcessorGravatar cdalton2016-03-07
| | | | | | | | | | | | Adds a "sample locations" feature to GrProcessor. When enabled, this allows a processor to know inside the shader where all the samples are located. Also adds various infastructure to query, cache, and identify multisample data. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1717393002 Review URL: https://codereview.chromium.org/1717393002
* Add cap and builder feature for multisample interpolationGravatar cdalton2016-03-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1722363002 Review URL: https://codereview.chromium.org/1722363002
* Replace fWillReadFragmentPosition with a bitfieldGravatar cdalton2016-02-26
| | | | | | | | | | | | Replaces fWillReadFragmentPosition on GrProcessor with a "RequiredFeatures" bitfield. This will allow us to add additional built-in features. Completely removes information about reading the fragment position from GrPipeline and GrProcOptInfo. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1734163002 Review URL: https://codereview.chromium.org/1734163002
* Add gl_SampleMask functionality to fragment buildersGravatar cdalton2016-02-22
| | | | | | | | | | | Adds methods for overriding and masking a fragment's sample mask. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1690963003 Committed: https://skia.googlesource.com/skia/+/533cefe5b9c7cec2592fc7ca00ee4cf69a26c094 Review URL: https://codereview.chromium.org/1690963003
* Add more specialized fragment buildersGravatar cdalton2016-02-18
| | | | | | | | | | | Adds specialized fragment builders for primitive and fragment processors. Removes fragment-specific functionality from the Xfer fragment builder. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1709153002 Review URL: https://codereview.chromium.org/1709153002
* Revert of Add infastructure for gl_SampleMask (patchset #6 id:100001 of ↵Gravatar benjaminwagner2016-02-12
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1690963003/ ) Reason for revert: Several bots failing with error 'invalid profile "es" for version 320'. Original issue's description: > Add infastructure for gl_SampleMask > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1690963003 > > Committed: https://skia.googlesource.com/skia/+/533cefe5b9c7cec2592fc7ca00ee4cf69a26c094 TBR=egdaniel@google.com,bsalomon@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/1693113002
* Add infastructure for gl_SampleMaskGravatar cdalton2016-02-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1690963003 Review URL: https://codereview.chromium.org/1690963003
* Use noperspective interpolation for 2D drawsGravatar cdalton2016-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | Adds a mechanism to notify GrGLSLVaryingHandler that a shader will not emit geometry in perspective. This gives it a chance to use the noperspective keyword if it is supported. Updates the existing processors to notify the varying handler when there is no perspective. Begins using the noperspective keyword in GrGLGpu internal shaders. Web scenes with observable benefit (Pixel C, gpu config): tabl_nofolo.skp 4.62 -> 3.33 ms 28% desk_tigersvg.skp 26.5 -> 24 ms 9% desk_pokemonwiki.skp 16.1 -> 14.9 ms 7% tabl_deviantart.skp 3.97 -> 3.7 ms 7% desk_gws.skp 3.85 -> 3.65 ms 5% Also adds new methods for creating varyings with flat interpolation. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1673093002 Review URL: https://codereview.chromium.org/1673093002
* Add #define directives to GrGLSLShaderBuilderGravatar cdalton2016-02-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1660813002 Review URL: https://codereview.chromium.org/1660813002
* Add GrShaderFlags enumGravatar cdalton2016-02-11
| | | | | | | | | Replaces GrGLSLUniformHandler::ShaderVisibility with GrShaderFlags. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684063006 Review URL: https://codereview.chromium.org/1684063006
* Finalize gpu shaders in ProgramBuilding.Gravatar egdaniel2016-02-10
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1689703002 Review URL: https://codereview.chromium.org/1689703002
* Remove SkNEW_APPEND_TO_TARRAY.Gravatar bungeman2016-02-09
| | | | | | | | | | | | The use of SkNEW_APPEND_TO_TARRAY is now better served by SkTArray::emplace_back(...) which should now be used instead. The existing users of SkNEW_APPEND_TO_TARRAY are converted and the code relating to SkNEW_APPEND_TO_TARRAY is removed. TBR=reed This only removes code. The file should also be made private. Review URL: https://codereview.chromium.org/1682083002
* Add some backend flexibility for shader declarations in ProgramBuilding.Gravatar egdaniel2016-02-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1682703003 Review URL: https://codereview.chromium.org/1682703003
* 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
* Make helper function on GrGLSLProgramDataManager non virtualGravatar egdaniel2016-02-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663833002 Review URL: https://codereview.chromium.org/1663833002
* added support for PLS path renderingGravatar ethannicholas2016-01-30
| | | | | | | | | BUG=skia:3555 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002 Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822 Review URL: https://codereview.chromium.org/1541903002
* Add gpu implementation of OverdrawXfermodeGravatar robertphillips2016-01-27
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002 Committed: https://skia.googlesource.com/skia/+/8bc3cf88bbf5e5d5724356f076931bb70a6117ba Review URL: https://codereview.chromium.org/1607253002
* Add gpu backend for SkPixelXorXfermodeGravatar robertphillips2016-01-26
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1631873002 Review URL: https://codereview.chromium.org/1631873002
* Revert of added support for PLS path rendering (patchset #16 id:360001 of ↵Gravatar ethannicholas2016-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1541903002/ ) Reason for revert: ASAN failure at src/gpu/GrXferProcessor.cpp:224 Original issue's description: > added support for PLS path rendering > > BUG=skia:3555 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002 > > Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822 TBR=bsalomon@google.com,egdaniel@google.com,joshualitt@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3555 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1626553002 Review URL: https://codereview.chromium.org/1626553002
* Revert of Add gpu implementation of OverdrawXfermode (patchset #6 id:100001 ↵Gravatar robertphillips2016-01-22
| | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1607253002/ ) Reason for revert: Overdraw Xfer mode using new fangled glsl features Original issue's description: > Add gpu implementation of OverdrawXfermode > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002 > > Committed: https://skia.googlesource.com/skia/+/8bc3cf88bbf5e5d5724356f076931bb70a6117ba TBR=egdaniel@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. Review URL: https://codereview.chromium.org/1626443002
* added support for PLS path renderingGravatar ethannicholas2016-01-22
| | | | | | | BUG=skia:3555 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002 Review URL: https://codereview.chromium.org/1541903002
* Add setter for GrGLSLShaderVar layout qualifierGravatar egdaniel2016-01-21
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611423002 Review URL: https://codereview.chromium.org/1611423002
* Add ability to add general layout qualifiers GrGLSLShaderVarGravatar egdaniel2016-01-21
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610853002 Review URL: https://codereview.chromium.org/1610853002
* Add gpu implementation of OverdrawXfermodeGravatar robertphillips2016-01-20
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002 Review URL: https://codereview.chromium.org/1607253002
* Texturing support for RECTANGLE textures.Gravatar bsalomon2016-01-20
| | | | | | | | | | | | | | Uses textureSize() to unnormalize texture coords when reading from a RECTANGLE texture. Because of this we also require a later GLSL version to use rectangle textures (1.40). Note that this causes a issue with the bicubic effect. The texture coords seem to have poor precision and the result is ugly. textureSize() is intended as a workaround until effects can be updated to handle unnormalized coords themselves. Updates places where we were looking for OpenGL version 3.2 for rectangle support. It was actually added in 3.1. BUG=skia:3868 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1594483003 Review URL: https://codereview.chromium.org/1594483003
* Beginning of support for texture rectangles.Gravatar bsalomon2016-01-14
| | | | | | | | | | | | | Adds support for importing a RECTANGLE texture into Skia via GrTexureProvider::wrapBackendTexture(). Tests read/writing pixels, copySurface, and clear. Does not add support for texturing from a RECTANGLE texture as the coords will be incorrectly normalized. BUG=skia:3868 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1583863002 Review URL: https://codereview.chromium.org/1583863002
* Move some program building utils from GL to GLSLGravatar egdaniel2016-01-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535603006 Review URL: https://codereview.chromium.org/1535603006
* Swizzle shader output and blend when using GL_RED to implement ↵Gravatar bsalomon2016-01-12
| | | | | | | | kAlpha_8_GrPixelConfig GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1584473002 Review URL: https://codereview.chromium.org/1584473002
* Add a class representing texture swizzle.Gravatar bsalomon2016-01-08
| | | | | | | | | | | Store config swizzle GrGLCaps and shader swizzles in GrGLSLCaps. Remove GrTextureAccess's swizzle and update users of it to swizzle in their shader code. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567733005 Committed: https://skia.googlesource.com/skia/+/1a1efeacf7cc94a8c2977114dfe230fed3efc105 Review URL: https://codereview.chromium.org/1567733005
* Revert of Add a class representing texture swizzle. (patchset #6 id:100001 ↵Gravatar mtklein2016-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1567733005/ ) Reason for revert: Shader compilation failures when implicitly converting vec4 to float. https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win8-MSVC-ShuttleA-GPU-GTX960-x86_64-Debug/builds/3266/steps/dm/logs/stdio https://uberchromegw.corp.google.com/i/client.skia.android/builders/Test-Android-GCC-Nexus6-GPU-Adreno420-Arm7-Debug/builds/3154/steps/dm/logs/stdio Original issue's description: > Add a class representing texture swizzle. > > Store config swizzle GrGLCaps and shader swizzles in GrGLSLCaps. > > Remove GrTextureAccess's swizzle and update users of it to swizzle in their shader code. > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567733005 > > Committed: https://skia.googlesource.com/skia/+/1a1efeacf7cc94a8c2977114dfe230fed3efc105 TBR=egdaniel@google.com,bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1569393002
* Add a class representing texture swizzle.Gravatar bsalomon2016-01-08
| | | | | | | | | Store config swizzle GrGLCaps and shader swizzles in GrGLSLCaps. Remove GrTextureAccess's swizzle and update users of it to swizzle in their shader code. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567733005 Review URL: https://codereview.chromium.org/1567733005
* Switch fragment coordinate to 'highp' to fix various broken GMs.Gravatar ethannicholas2015-12-14
| | | | | | BUG=skia:4693 Review URL: https://codereview.chromium.org/1523793002
* Always use high precision on NDS transformGravatar joel.liang2015-12-07
| | | | | | | | | To fix the Chrome fillRect issue on Galaxy S6. We should use high precision for position related calculation. BUG=chromium:552999 Review URL: https://codereview.chromium.org/1500393002
* Create GLSLUniformHandler class for gpu backendGravatar egdaniel2015-12-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1490283004
* Add in shader blending for CoverageSetOp XPGravatar egdaniel2015-12-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1488213002
* Create a static instances of SrcOver XferProcessorGravatar egdaniel2015-11-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1471293003
* 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
* Create GrGLSLVaryingHandler class for program buildingGravatar egdaniel2015-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1462123003
* Move glsl onto EmitArgs struct for emitCodeGravatar egdaniel2015-11-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1453623003
* Add ShaderBuilders to EmitArgs and remove gettings from ProgBuilder.Gravatar egdaniel2015-11-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1457543003
* Rename some processor functions from GL to GLSLGravatar egdaniel2015-11-13
| | | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1443743002
* Move GrGLPrimitive/GeometryProc to GLSLGravatar egdaniel2015-11-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1441683008