aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/SkSLCompiler.h
Commit message (Collapse)AuthorAge
* 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>
* 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>
* 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>
* 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>
* Revert "skslc can now be compiled with no Skia dependencies, in preparation for"Gravatar Ethan Nicholas2017-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7833466da45bfa1e078427c4a6db94d41c5c1535. Reason for revert: Vulkan assertion failure Original change's description: > skslc can now be compiled with no Skia dependencies, in preparation for > its eventual role in Skia's build process. > > Bug: skia: > Change-Id: Iaa9933f4fc4a64bec60aa897c509a3513f457a78 > Reviewed-on: https://skia-review.googlesource.com/10282 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Ben Wagner <benjaminwagner@google.com> > TBR=egdaniel@google.com,benjaminwagner@google.com,ethannicholas@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ic64cac2395abb406116885ddd725f74a434c8c49 Reviewed-on: https://skia-review.googlesource.com/10758 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 forGravatar Ethan Nicholas2017-03-30
| | | | | | | | | | its eventual role in Skia's build process. Bug: skia: Change-Id: Iaa9933f4fc4a64bec60aa897c509a3513f457a78 Reviewed-on: https://skia-review.googlesource.com/10282 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Mark overridden destructors with 'override' and remove 'virtual'Gravatar Brian Salomon2017-03-22
| | | | | | | | | This silences a new warning in clang 5.0 Change-Id: Ieb5b75a6ffed60107c3fd16075d2ecfd515b55e8 Reviewed-on: https://skia-review.googlesource.com/10006 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* sksl support for geometry shadersGravatar Ethan Nicholas2017-02-17
| | | | | | | | | BUG=skia: Change-Id: I8541b98aadcf4c2484fef73e2f49be3ee38bc1e2 Reviewed-on: https://skia-review.googlesource.com/8409 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* added support for sk_ClipDistanceGravatar Ethan Nicholas2017-02-09
| | | | | | | Change-Id: I9ea202679211b98cf98165c8609f24f9b4e14b66 Reviewed-on: https://skia-review.googlesource.com/8247 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "added support for sk_ClipDistance"Gravatar Ethan Nicholas2017-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8b8c76506a9a3b07246e6c2770e35dfc413da97a. Reason for revert: breaks Vulkan Original change's description: > added support for sk_ClipDistance > > Change-Id: I14fd921cace23ab37a1e5e9d5da94d92d3688680 > Reviewed-on: https://skia-review.googlesource.com/8225 > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=csmartdalton@google.com,ethannicholas@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I84d6bc75738eb9a8e090aa60e6421f2437a027b2 Reviewed-on: https://skia-review.googlesource.com/8246 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* added support for sk_ClipDistanceGravatar Ethan Nicholas2017-02-09
| | | | | | | Change-Id: I14fd921cace23ab37a1e5e9d5da94d92d3688680 Reviewed-on: https://skia-review.googlesource.com/8225 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* added support for sk_VertexIDGravatar Ethan Nicholas2017-02-07
| | | | | | | Change-Id: If3a2b7527ae6805ba54860c6ca6219431e2f3f76 Reviewed-on: https://skia-review.googlesource.com/8145 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Added dead variable / code elimination to skslc."Gravatar Ethan Nicholas2017-02-06
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 113628d76176a1ab3e6719c59efff23cd10ab213. Reason for revert: Looks to have caused https://bugs.chromium.org/p/chromium/issues/detail?id=688939 Original change's description: > Added dead variable / code elimination to skslc. > > BUG=skia: > > Change-Id: Ib037730803a8f222f099de0e001fe06ad452a22c > Reviewed-on: https://skia-review.googlesource.com/7584 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Ben Wagner <benjaminwagner@google.com> > TBR=egdaniel@google.com,benjaminwagner@google.com,ethannicholas@google.com,reviews@skia.org # Not skipping CQ checks because original CL landed > 1 day ago. BUG=skia: Change-Id: I85599e4ca2bc6bfd782edc163f67b64195d6ae65 Reviewed-on: https://skia-review.googlesource.com/8077 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Added dead variable / code elimination to skslc.Gravatar Ethan Nicholas2017-02-03
| | | | | | | | | BUG=skia: Change-Id: Ib037730803a8f222f099de0e001fe06ad452a22c Reviewed-on: https://skia-review.googlesource.com/7584 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Added constant propagation and better variable liveness tracking to skslc.Gravatar Ethan Nicholas2017-01-19
| | | | | | | | | | | | | | | | | | This allows skslc to track the values of variables with constant values across multiple statements and replace variable references with constant values where appropriate. The improved liveness tracking allows skslc to realize that a variable is no longer alive if all references to it have been replaced. It is not yet doing much with this information; better dead code elimination is coming in a followup change. BUG=skia: Change-Id: I068c5d2e9a362e75299b1de1f4575339f5ddc3bb Reviewed-on: https://skia-review.googlesource.com/7302 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Added constant propagation and better variable liveness tracking to"Gravatar Ethan Nicholas2017-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f54b07121f81a56145fb118a2e18841fc135717d. Reason for revert: ASAN failure Original change's description: > Added constant propagation and better variable liveness tracking to > skslc. > > This allows skslc to track the values of variables with constant > values across multiple statements and replace variable references with > constant values where appropriate. > > The improved liveness tracking allows skslc to realize that a > variable is no longer alive if all references to it have been > replaced. It is not yet doing much with this information; better > dead code elimination is coming in a followup change. > > BUG=skia: > > Change-Id: I6bf267d478b769caf0063ac3597dc16bbe618cb4 > Reviewed-on: https://skia-review.googlesource.com/7033 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> > TBR=egdaniel@google.com,ethannicholas@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: Id2e26bce96b27df73948f8b32d3dff2e358ae0d6 Reviewed-on: https://skia-review.googlesource.com/7274 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Added constant propagation and better variable liveness tracking toGravatar Ethan Nicholas2017-01-19
| | | | | | | | | | | | | | | | | | | | skslc. This allows skslc to track the values of variables with constant values across multiple statements and replace variable references with constant values where appropriate. The improved liveness tracking allows skslc to realize that a variable is no longer alive if all references to it have been replaced. It is not yet doing much with this information; better dead code elimination is coming in a followup change. BUG=skia: Change-Id: I6bf267d478b769caf0063ac3597dc16bbe618cb4 Reviewed-on: https://skia-review.googlesource.com/7033 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* re-land of added sk_FragCoord support to skslcGravatar Ethan Nicholas2016-12-13
| | | | | | | | | BUG=skia: Change-Id: Ifac1aa39839058787ad1794200c3dbb93c147a69 Reviewed-on: https://skia-review.googlesource.com/5850 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "added sk_FragCoord support to skslc"Gravatar Greg Daniel2016-12-12
| | | | | | | | | | | This reverts commit ce33f10677630e34187b661a02161378d8304d68. Reason for revert: Breaking many gpu bots Change-Id: I94c813ed6a9311458c872f74bb1b0792f46ff414 Reviewed-on: https://skia-review.googlesource.com/5737 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* added sk_FragCoord support to skslcGravatar Ethan Nicholas2016-12-12
| | | | | | | | | BUG=skia: Change-Id: If78a4d08121699f87659f0d2e35f3edbf1867401 Reviewed-on: https://skia-review.googlesource.com/5408 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Merge GrGLSLCaps into GrShaderCapsGravatar Brian Salomon2016-11-29
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5121 Change-Id: If8d13638f80f42161cbc766a2666c5789e5772c8 Reviewed-on: https://skia-review.googlesource.com/5121 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* sksl programs can now directly query GLSL capsGravatar Ethan Nicholas2016-11-22
| | | | | | | | | | | | | | | | This adds support for querying "sk_Caps.<cap>" directly from within an SkSL program. Combined with the existing support for collapsing 'if' statements with constant tests, this means we can query caps using ordinary 'if' statements and the tests will collapse out at compile time. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4795 Change-Id: I24d716a7fe6abf1489760bf08189164264269076 Reviewed-on: https://skia-review.googlesource.com/4795 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* re-land of switched skslc from std::string to SkStringGravatar Ethan Nicholas2016-11-21
| | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5084 Change-Id: Ib21c30afc0d8483392b417e660b7fecfcc30e617 Reviewed-on: https://skia-review.googlesource.com/5084 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "switched skslc from std::string to SkString"Gravatar Greg Daniel2016-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d8df21a1e08b5b3380261f4b90acfbdc538ef93c. Reason for revert: Breaking Roll Original change's description: > switched skslc from std::string to SkString > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4977 > > Change-Id: I15e24963b09b719a2c07da67745114f5ac66cee8 > Reviewed-on: https://skia-review.googlesource.com/4977 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=bsalomon@google.com,benjaminwagner@google.com,ethannicholas@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I84d5311beb9d5e607b7a4a3c138332f0c8f19648 Reviewed-on: https://skia-review.googlesource.com/5077 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* switched skslc from std::string to SkStringGravatar Ethan Nicholas2016-11-18
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4977 Change-Id: I15e24963b09b719a2c07da67745114f5ac66cee8 Reviewed-on: https://skia-review.googlesource.com/4977 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* re-re-land of skslc now uses standard Skia capsGravatar Ethan Nicholas2016-11-11
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4732 Change-Id: I144110bf66f67a28da7ad333173db43bddf9e8d0 Reviewed-on: https://skia-review.googlesource.com/4732 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "re-land of skslc now uses standard Skia caps"Gravatar Leon Scroggins2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 498d403f7703cb2157bf3c877b84906db5a06cd4. Reason for revert: Breaking compile bot: https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-x86_64-Release-NoGPU/builds/10116/steps/compile_skia%20on%20Ubuntu/logs/stdio undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&) Original change's description: > re-land of skslc now uses standard Skia caps > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4726 > > Change-Id: Ib1ea5d4269396e6c57ee1f0d7209aa9a9f2798e8 > Reviewed-on: https://skia-review.googlesource.com/4726 > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=bsalomon@google.com,benjaminwagner@google.com,kjlubick@google.com,ethannicholas@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I7ee96d6c658be6b7b79027c147b8950c78c79a70 Reviewed-on: https://skia-review.googlesource.com/4729 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* re-land of skslc now uses standard Skia capsGravatar Ethan Nicholas2016-11-11
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4726 Change-Id: Ib1ea5d4269396e6c57ee1f0d7209aa9a9f2798e8 Reviewed-on: https://skia-review.googlesource.com/4726 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "skslc now uses standard Skia caps"Gravatar Leon Scroggins2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8af38a96475ac5ce83b20c16d9cf82bf1006b8c4. Reason for revert: Breaking compile bots, e.g. from https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-x86_64-Debug-NoGPU/builds/10029/steps/compile_skia%20on%20Ubuntu/logs/stdio : In function `sk_make_sp<GrGLSLCaps, GrContextOptions>' undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&) In function `_Z10sk_make_spI10GrGLSLCapsI16GrContextOptionsEE5sk_spIT_EDpOT0_': undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&) Original change's description: > skslc now uses standard Skia caps > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4660 > > Change-Id: Idaedae3f81426b97f5052bb872cdf0610e47a84f > Reviewed-on: https://skia-review.googlesource.com/4660 > Reviewed-by: Ben Wagner <benjaminwagner@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=bsalomon@google.com,benjaminwagner@google.com,ethannicholas@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ic7f987f5c050ac2e333f5a0f16c8de85c1047a74 Reviewed-on: https://skia-review.googlesource.com/4697 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* skslc now uses standard Skia capsGravatar Ethan Nicholas2016-11-11
| | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4660 Change-Id: Idaedae3f81426b97f5052bb872cdf0610e47a84f Reviewed-on: https://skia-review.googlesource.com/4660 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* added basic dataflow analysis to skslcGravatar ethannicholas2016-10-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2405383003 Review-Url: https://codereview.chromium.org/2405383003
* Turned on SkSL->GLSL compilerGravatar ethannicholas2016-10-12
| | | | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288033003 Committed: https://skia.googlesource.com/skia/+/9b0fe3d125f237d9884732a48414fa85fc71b4e3 Committed: https://skia.googlesource.com/skia/+/b12b3c6908c62c908b3680be01e3b5bfd30de310 Committed: https://skia.googlesource.com/skia/+/f008b0a59f45c0d4bea3e66faf3b01805009ec89 Committed: https://skia.googlesource.com/skia/+/08b2ccf398e2b81bc05d2c105837e5419899469b Committed: https://skia.googlesource.com/skia/+/dcfe6dba4a335e50e86ff68e3252065d4197432c Committed: https://skia.googlesource.com/skia/+/ccb1dd8f267f9d7fe7c9d0ce222ebc81b41853b3 Review-Url: https://codereview.chromium.org/2288033003
* Revert of Turned on SkSL->GLSL compiler (patchset #49 id:1240001 of ↵Gravatar jvanverth2016-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2288033003/ ) Reason for revert: Pre-emptive revert. Sorry, but we're getting back up on our roll and Chrome reverted our last one for apparently no reason. Original issue's description: > Turned on SkSL->GLSL compiler > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288033003 > > Committed: https://skia.googlesource.com/skia/+/9b0fe3d125f237d9884732a48414fa85fc71b4e3 > Committed: https://skia.googlesource.com/skia/+/b12b3c6908c62c908b3680be01e3b5bfd30de310 > Committed: https://skia.googlesource.com/skia/+/f008b0a59f45c0d4bea3e66faf3b01805009ec89 > Committed: https://skia.googlesource.com/skia/+/08b2ccf398e2b81bc05d2c105837e5419899469b > Committed: https://skia.googlesource.com/skia/+/dcfe6dba4a335e50e86ff68e3252065d4197432c > Committed: https://skia.googlesource.com/skia/+/ccb1dd8f267f9d7fe7c9d0ce222ebc81b41853b3 TBR=benjaminwagner@google.com,bsalomon@google.com,egdaniel@google.com,ethannicholas@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/2408193002