aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/SkSLCompiler.cpp
Commit message (Collapse)AuthorAge
* SkSL now supports ternary lvaluesGravatar Ethan Nicholas2018-01-18
| | | | | | | | Bug: skia: Change-Id: I859b756fe016f80c7a94f812623a16b4865204ba Reviewed-on: https://skia-review.googlesource.com/96680 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* converted vertex shaders to device coordsGravatar Ethan Nicholas2017-12-12
| | | | | | | | Bug: skia:6239 Change-Id: I1a3b67fe84d208d426d71deb7aea6b0cd433af37 Reviewed-on: https://skia-review.googlesource.com/75501 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* fixed SkSL optimizing away side effectsGravatar Ethan Nicholas2017-12-11
| | | | | | | | Bug: skia:7196 Change-Id: I44676003d9ea7970efb40df2f7e40c2de05a5f67 Reviewed-on: https://skia-review.googlesource.com/83440 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Switched SkSL from using raw strings back to STRINGIFYGravatar Ethan Nicholas2017-11-16
| | | | | | | | | | | | | Stringify was stripping the comments from the strings, whereas raw strings preserve them, which led to an increase in executable size. The only effect of this change is to strip the comments back out. Bug: 784880 Change-Id: Icf2f9cf522cb890179f2e481a3504e8171732705 Reviewed-on: https://skia-review.googlesource.com/72524 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* sksl enum supportGravatar Ethan Nicholas2017-11-13
| | | | | | | | Bug: skia: Change-Id: I4d505b31cf8b59de12bcdbca410aafc085977ba9 Reviewed-on: https://skia-review.googlesource.com/68621 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "refactored SkSLVarDeclaration out of existence"Gravatar Ethan Nicholas2017-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1ae353c887fdf447e1fe627e3cd29f8fa62c2a05. Reason for revert: ASAN failures Original change's description: > refactored SkSLVarDeclaration out of existence > > Bug: skia: > Change-Id: I3dbc08e6d759f6828a472246d4797babb6cc132e > Reviewed-on: https://skia-review.googlesource.com/66147 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=egdaniel@google.com,ethannicholas@google.com Change-Id: I8cae451de1546fe783e32dd41df00eac7da61b21 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/68280 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* refactored SkSLVarDeclaration out of existenceGravatar Ethan Nicholas2017-11-07
| | | | | | | | Bug: skia: Change-Id: I3dbc08e6d759f6828a472246d4797babb6cc132e Reviewed-on: https://skia-review.googlesource.com/66147 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* preliminary SkSL Metal backendGravatar Ethan Nicholas2017-10-24
| | | | | | | | Bug: skia: Change-Id: I03e839fb4f1061bc6d1b1b72d54fd39ca7bd7b84 Reviewed-on: https://skia-review.googlesource.com/51245 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Remove color space xform support from SkSLGravatar Brian Osman2017-10-23
| | | | | | | | Bug: skia: Change-Id: Ia50c1f750e4626211f012ae7543db126b10134c3 Reviewed-on: https://skia-review.googlesource.com/61906 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* SkSL FPs now support child processors, converted ArithmeticFP to SkSLGravatar Ethan Nicholas2017-10-11
| | | | | | | | Bug: skia: Change-Id: I34ed3480073d05762a7d4692aeee4b87e454ce52 Reviewed-on: https://skia-review.googlesource.com/57961 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* re-land of new SkSL precisionsGravatar Ethan Nicholas2017-09-18
| | | | | | | | Bug: skia: Change-Id: Ic1deb3db2cbda6ca45f93dee99832971a36a2119 Reviewed-on: https://skia-review.googlesource.com/47841 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Revert "Revert "Revert "Switched highp float to highfloat and mediump float ↵Gravatar Ethan Nicholas2017-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | to half.""" This reverts commit 05d5a13fea6246648de7e41358ed338d53c85ea2. Reason for revert: looks like it broke filterfastbounds Original change's description: > Revert "Revert "Switched highp float to highfloat and mediump float to half."" > > This reverts commit 1d816b92bb7cf2258007f3f74ffd143b89f25d01. > > Bug: skia: > Change-Id: I388b5e5e9bf619db48297a80c9a80c039f26c9f1 > Reviewed-on: https://skia-review.googlesource.com/46464 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=bsalomon@google.com,ethannicholas@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: Iddf6aef2ab084aa73da7ceebdfc303a1d2b80cde Reviewed-on: https://skia-review.googlesource.com/47441 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Revert "Switched highp float to highfloat and mediump float to half.""Gravatar Ethan Nicholas2017-09-15
| | | | | | | | | | This reverts commit 1d816b92bb7cf2258007f3f74ffd143b89f25d01. Bug: skia: Change-Id: I388b5e5e9bf619db48297a80c9a80c039f26c9f1 Reviewed-on: https://skia-review.googlesource.com/46464 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Revert "Switch to the new SkSL lexer.""Gravatar Ethan Nicholas2017-09-11
| | | | | | | | | | This reverts commit 358515491a0d6891e6a709688a30ad087df1beb1. Bug: skia: Change-Id: I013fac0ed83774d8ae7c6ee6819045cab37f5e97 Reviewed-on: https://skia-review.googlesource.com/45180 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Switch to the new SkSL lexer."Gravatar Ethan Nicholas2017-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c576e93d174f3106e072a2f506bca3990b541265. Reason for revert: ASAN failures Original change's description: > Switch to the new SkSL lexer. > > This completely replaces flex with a new in-house lexical analyzer generator, > which we have done for performance and memory usage reasons. Flex requires us > to copy strings every time we need the text of a token, whereas this new lexer > allows us to handle strings as a (non-null-terminated) pointer and length > everywhere, eliminating most string copies. > > Bug: skia: > Change-Id: I2add26efc9e20cb699520e82abcf713af3968aca > Reviewed-on: https://skia-review.googlesource.com/39780 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=bsalomon@google.com,ethannicholas@google.com Change-Id: If27b750a5f696d06a6bcffed12fe9f0598e084a6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/44881 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Switch to the new SkSL lexer.Gravatar Ethan Nicholas2017-09-11
| | | | | | | | | | | | | | This completely replaces flex with a new in-house lexical analyzer generator, which we have done for performance and memory usage reasons. Flex requires us to copy strings every time we need the text of a token, whereas this new lexer allows us to handle strings as a (non-null-terminated) pointer and length everywhere, eliminating most string copies. Bug: skia: Change-Id: I2add26efc9e20cb699520e82abcf713af3968aca Reviewed-on: https://skia-review.googlesource.com/39780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Switched highp float to highfloat and mediump float to half."Gravatar Brian Salomon2017-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 88d99c63878c2d3d340120f0321676f72afcb4f0. Reason for revert: Believed to be causing unit test failures in Chrome roll: https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/364433 https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.android%2Flinux_android_rel_ng%2F364433%2F%2B%2Frecipes%2Fsteps%2Fcontent_browsertests__with_patch__on_Android%2F0%2Flogs%2FWebRtcCaptureFromElementBrowserTest.VerifyCanvasWebGLCaptureColor%2F0 Original change's description: > Switched highp float to highfloat and mediump float to half. > > The ultimate goal is to end up with "float" and "half", but this > intermediate step uses "highfloat" so that it is clear if I missed a > "float" somewhere. Once this lands, a subsequent CL will switch all > "highfloats" back to "floats". > > Bug: skia: > Change-Id: Ia13225c7a0a0a2901e07665891c473d2500ddcca > Reviewed-on: https://skia-review.googlesource.com/31000 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,csmartdalton@google.com,ethannicholas@google.com Change-Id: I8bfa97547ac3920d433665f161d27df3f15c83aa No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/35705 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Switched highp float to highfloat and mediump float to half.Gravatar Ethan Nicholas2017-08-16
| | | | | | | | | | | | | The ultimate goal is to end up with "float" and "half", but this intermediate step uses "highfloat" so that it is clear if I missed a "float" somewhere. Once this lands, a subsequent CL will switch all "highfloats" back to "floats". Bug: skia: Change-Id: Ia13225c7a0a0a2901e07665891c473d2500ddcca Reviewed-on: https://skia-review.googlesource.com/31000 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "support for 'half' types in sksl, plus general numeric type ↵Gravatar Ethan Nicholas2017-08-02
| | | | | | | | | | | | improvements"" This reverts commit 0e9605542444a7653359f4fc610f7620df9f6313. Bug: skia: Change-Id: Id45d091c1950887316c901ed9c9281181f346bcf Reviewed-on: https://skia-review.googlesource.com/29602 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "support for 'half' types in sksl, plus general numeric type ↵Gravatar Ethan Nicholas2017-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | improvements" This reverts commit 93061b53442ce303e9d3ef74c7eeddc034802c4f. Reason for revert: bot failures Original change's description: > support for 'half' types in sksl, plus general numeric type improvements > > Bug: skia: > Change-Id: Id285262fda8291847f11343d499b5df62ddb4b09 > Reviewed-on: https://skia-review.googlesource.com/28980 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=bsalomon@google.com,ethannicholas@google.com Change-Id: Ie8672271d35b9fcdf567f8bc3674084748be66ad No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/29600 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* support for 'half' types in sksl, plus general numeric type improvementsGravatar Ethan Nicholas2017-08-01
| | | | | | | | Bug: skia: Change-Id: Id285262fda8291847f11343d499b5df62ddb4b09 Reviewed-on: https://skia-review.googlesource.com/28980 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* renamed SkSL types in preparation for killing precision modifiersGravatar Ethan Nicholas2017-07-28
| | | | | | | | Bug: skia: Change-Id: Iff0289e25355a89cdc289a0892ed755dd1b1c900 Reviewed-on: https://skia-review.googlesource.com/27703 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* fixed use-after-free in sksl switch statementsGravatar Ethan Nicholas2017-07-18
| | | | | | | | Bug: skia: Change-Id: I66ef1cd2af9c654bfa40a71b2218cfde49f3a54e Reviewed-on: https://skia-review.googlesource.com/24329 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* fixed sksl static ifs to work for CircleEffectGravatar Ethan Nicholas2017-07-14
| | | | | | | | | | | | | | | | | | static ifs (and switches) in .fp files are a bit tricky, because they aren't necessarily static when the CPP file is being produced. They become static when the CPP file produces the final SkSL; at this point the final values of the 'in' variables are known. This change permits 'deferred' static ifs and switches. The initial compilation (.fp -> .cpp) passes the @if / @switch through, and then the final compilation (.cpp's generated SkSL -> GLSL or whatever) enforces the static test. Bug: skia: Change-Id: I0087dfe1725c8fd350507ac77f64db1d82659cdf Reviewed-on: https://skia-review.googlesource.com/23403 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Re-re-land sksl fragment processor supportGravatar Ethan Nicholas2017-06-29
| | | | | | | | | | This reverts commit 5ce397205528f82084fc650c2ce27d246c01da33. Bug: skia: Change-Id: I88260c90004610a1cf8ad1a87c2b4b222525bbb6 Reviewed-on: https://skia-review.googlesource.com/21108 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Re-land sksl fragment processor support"Gravatar Mike Klein2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c070939fd1a954b7a492bc30f0cf64a664b90181. Reason for revert: This has some knock-on effects in the generation of Android.bp from our GN files. See gn/gn_to_bp.py? We're seeing things like "tmp/tmpsBVycx/gen/" end up in the include search path in Android.bp, which obviously don't exist there... Original change's description: > Re-land sksl fragment processor support > > This reverts commit ed50200682e0de72c3abecaa4d5324ebcd1ed9f9. > > Bug: skia: > Change-Id: I9caa7454b391450620d6989dc472abb3cf7a2cab > Reviewed-on: https://skia-review.googlesource.com/20965 > Reviewed-by: Ben Wagner <benjaminwagner@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=benjaminwagner@google.com,ethannicholas@google.com Change-Id: I502486b5405923b322429219f4cc396a45a14cea No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/20990 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Re-land sksl fragment processor supportGravatar Ethan Nicholas2017-06-27
| | | | | | | | | | This reverts commit ed50200682e0de72c3abecaa4d5324ebcd1ed9f9. Bug: skia: Change-Id: I9caa7454b391450620d6989dc472abb3cf7a2cab Reviewed-on: https://skia-review.googlesource.com/20965 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "sksl fragment processor support"Gravatar Ethan Nicholas2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ccf59917d3fe7aaf59de714acfbd0596503f324f. Reason for revert: breaking iOS bots Original change's description: > sksl fragment processor support > > Bug: skia: > Change-Id: Ia3b0305c2b0c78074303831f628fb01852b90d34 > Reviewed-on: https://skia-review.googlesource.com/17843 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Ben Wagner <benjaminwagner@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,benjaminwagner@google.com,ethannicholas@google.com Change-Id: I0a33060c7c42c7b44c5c13d443ac42958291c2f1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/20962 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* sksl fragment processor supportGravatar Ethan Nicholas2017-06-27
| | | | | | | | | Bug: skia: Change-Id: Ia3b0305c2b0c78074303831f628fb01852b90d34 Reviewed-on: https://skia-review.googlesource.com/17843 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Revert "Revert "clean up sksl dead variable handling""Gravatar Ethan Nicholas2017-06-22
| | | | | | | | | | This reverts commit e0a33e28e2786fb17be2edf28e04cd62bfe4ec1e. Bug: skia: Change-Id: Iab31ec1ee091aacc3ba854ad91e71840c911f52e Reviewed-on: https://skia-review.googlesource.com/20506 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "clean up sksl dead variable handling"Gravatar Greg Daniel2017-06-21
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b29dd819c9f4cc0f33c24a10b128c363a4c83a6f. Reason for revert: asan errors Original change's description: > clean up sksl dead variable handling > > Change-Id: I301e82bf87d976e59a02b0f383da67eaf5a8795a > Reviewed-on: https://skia-review.googlesource.com/18494 > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=csmartdalton@google.com,ethannicholas@google.com Change-Id: I32b3c6a04a014b31360d92b3f85491b01e8a381c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/20480 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* clean up sksl dead variable handlingGravatar Ethan Nicholas2017-06-21
| | | | | | | Change-Id: I301e82bf87d976e59a02b0f383da67eaf5a8795a Reviewed-on: https://skia-review.googlesource.com/18494 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* implemented mustImplementGSInvocationsWithLoop workaround in skslGravatar Ethan Nicholas2017-06-21
| | | | | | | | | | | | Third time's the charm This reverts commit 84cda40bd7e98f4e19574c6e946395e244901408. Bug: skia: Change-Id: I2c0f4425122a94beb7b4053ee6e891faa8a5f290 Reviewed-on: https://skia-review.googlesource.com/20441 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Revert "Revert "implemented mustImplementGSInvocationsWithLoop ↵Gravatar Mike Reed2017-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | workaround in sksl""" This reverts commit f66d28dfb25127ff073e2e9549c6985785a65afa. Reason for revert: breaks chrome-roll? https://chromium-review.googlesource.com/c/542000 Original change's description: > Revert "Revert "implemented mustImplementGSInvocationsWithLoop workaround in sksl"" > > This reverts commit 8ea60736aaa92cf3cf24705fb356e9e09e85b1fd. > > Bug: skia: > Change-Id: If77035e03430b469c2682788610b33ae0aefbe1f > Reviewed-on: https://skia-review.googlesource.com/20053 > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=csmartdalton@google.com,ethannicholas@google.com Change-Id: Iedada4e4b9facb37b792a655947d76eb0f7b22e4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/20361 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Revert "implemented mustImplementGSInvocationsWithLoop workaround in ↵Gravatar Ethan Nicholas2017-06-20
| | | | | | | | | | | | sksl"" This reverts commit 8ea60736aaa92cf3cf24705fb356e9e09e85b1fd. Bug: skia: Change-Id: If77035e03430b469c2682788610b33ae0aefbe1f Reviewed-on: https://skia-review.googlesource.com/20053 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "implemented mustImplementGSInvocationsWithLoop workaround in sksl"Gravatar Greg Daniel2017-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d5d323f45777c4766ddf4c74eedff36ee5d9bc56. Reason for revert: Looks like this might be breaking vulkan Original change's description: > implemented mustImplementGSInvocationsWithLoop workaround in sksl > > Bug: skia: > Change-Id: I8434be89537a8baf9e9c5c7a643d28c03108f4ea > Reviewed-on: https://skia-review.googlesource.com/18154 > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=csmartdalton@google.com,ethannicholas@google.com Change-Id: I606aad071d3c084eb7eb7ec6c1c1a3cf10479cec No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/20045 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* implemented mustImplementGSInvocationsWithLoop workaround in skslGravatar Ethan Nicholas2017-06-15
| | | | | | | | Bug: skia: Change-Id: I8434be89537a8baf9e9c5c7a643d28c03108f4ea Reviewed-on: https://skia-review.googlesource.com/18154 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Re-land "Fixed an issue with sksl variable declarations"Gravatar Ethan Nicholas2017-06-02
| | | | | | | | | | This reverts commit affa6a3da87e9ea85f1d4fe3137b5bccbbc56f92. Bug: skia: Change-Id: I5864830e31acbf786f3ea7ae91f42f10aae6d855 Reviewed-on: https://skia-review.googlesource.com/18459 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Fixed an issue with sksl variable declarations"Gravatar Ethan Nicholas2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 88bd8edcff23dc9cf31b664cba7ba73b235318b0. Reason for revert: unhappy bots Original change's description: > Fixed an issue with sksl variable declarations > > There was an issue where multiple variables defined in the same > declaration were not being sequenced appropriately during analysis, so > 'int x = 0, y = x + 1' would report that x was undefined. > > Bug: skia: > Change-Id: I882f7e216467306f6a6013a0a34aac30a4c60744 > Reviewed-on: https://skia-review.googlesource.com/18313 > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=csmartdalton@google.com,ethannicholas@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Change-Id: Ibc68674289dce70b6173a347a0e78bb0f1e6db1b Reviewed-on: https://skia-review.googlesource.com/18457 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Fixed an issue with sksl variable declarationsGravatar Ethan Nicholas2017-06-02
| | | | | | | | | | | | There was an issue where multiple variables defined in the same declaration were not being sequenced appropriately during analysis, so 'int x = 0, y = x + 1' would report that x was undefined. Bug: skia: Change-Id: I882f7e216467306f6a6013a0a34aac30a4c60744 Reviewed-on: https://skia-review.googlesource.com/18313 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* skslc comma operator and optimizer fixesGravatar Ethan Nicholas2017-05-17
| | | | | | | | Bug: skia: Change-Id: I732d4fba843c06af570d4a56cadfaa1cc565808c Reviewed-on: https://skia-review.googlesource.com/17125 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* sksl support for static ifs & switchesGravatar Ethan Nicholas2017-05-10
| | | | | | | | Bug: skia: Change-Id: Ic9e01a3a18efddb19bab26e92bfb473cad294fc1 Reviewed-on: https://skia-review.googlesource.com/16144 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* sksl optimizer fixesGravatar Ethan Nicholas2017-05-05
| | | | | | | | | | | | | The main issue was a use-after-free due to removing (and thus destroying) the binary expression prior to re-adding part of it. Also cleaned up the way dead assignments are handled and added the test that originally identified these problems. Bug: skia: Change-Id: Icda93d69a66c4e57850ecdc88fc4a4f634e1aac2 Reviewed-on: https://skia-review.googlesource.com/15383 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* additional skslc vector optimizationsGravatar Ethan Nicholas2017-04-28
| | | | | | | | Bug: skia: Change-Id: I845d0952c281835a630882ae4026277c93ccf542 Reviewed-on: https://skia-review.googlesource.com/14406 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* fixed 0 - x in skslcGravatar Ethan Nicholas2017-04-21
| | | | | | | | Bug: skia: Change-Id: Ib9bd6bdd8f339e5395157532f68bb12f5ccb4a02 Reviewed-on: https://skia-review.googlesource.com/14030 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Improved skslc optimizer, particularly around vectors.Gravatar Ethan Nicholas2017-04-20
| | | | | | | | | BUG=skia: Change-Id: Idb364d9198f2ff84aad1eb68e236fb45ec1c86b7 Reviewed-on: https://skia-review.googlesource.com/8000 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* skslc can now be compiled with no Skia dependencies, in preparation for its ↵Gravatar Ethan Nicholas2017-03-31
| | | | | | | | | | | | eventual This reverts commit 9bd301d640ff63c280b202c7dd00bc00a3315ff4. Bug: skia: Change-Id: I5ad3f77ef33aa5ce2fd27fe383c9339c571663a1 Reviewed-on: https://skia-review.googlesource.com/10964 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "skslc can now be compiled with no Skia dependencies, in preparation ↵Gravatar Ethan Nicholas2017-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for its eventual" This reverts commit f3333c89bf05fc602d9bf8e1e24547668c660383. Reason for revert: breaking the bots Original change's description: > skslc can now be compiled with no Skia dependencies, in preparation for its eventual > role in Skia's build process. > > This reverts commit bcf35f86d50b784b165de703b404998dd4299f6a. > > BUG=skia: > > Change-Id: Id0a12dfc4d804d69a3c6bf60fed37e89ee130f02 > Reviewed-on: https://skia-review.googlesource.com/10802 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Ben Wagner <benjaminwagner@google.com> > TBR=benjaminwagner@google.com,ethannicholas@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: Ic7b50d391d25b3870acffa9764cbafc7f5c3be89 Reviewed-on: https://skia-review.googlesource.com/10962 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* skslc can now be compiled with no Skia dependencies, in preparation for its ↵Gravatar Ethan Nicholas2017-03-31
| | | | | | | | | | | | | | | eventual role in Skia's build process. This reverts commit bcf35f86d50b784b165de703b404998dd4299f6a. BUG=skia: Change-Id: Id0a12dfc4d804d69a3c6bf60fed37e89ee130f02 Reviewed-on: https://skia-review.googlesource.com/10802 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* fixed skslc SPIR-V memory errorGravatar Ethan Nicholas2017-03-30
| | | | | | | | | BUG=skia:6446 Change-Id: Ibc55124db60d6a05964ddcd02d285e313379f93e Reviewed-on: https://skia-review.googlesource.com/10756 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>