<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    yes i can confirm this behaviour.<br>
    <br>
    <div class="moz-cite-prefix">10.02.2015 15:24, Luca Donaggio пишет:<br>
    </div>
    <blockquote
cite="mid:CABPtM85UiNmnVXsagaGD9aoznLgq0w3_9YmuwSdZoxL-W_7UhA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>Hi Andrey, thanks for your reply.<br>
            <br>
          </div>
          Still, can you try both tests on your Jolla?<br>
        </div>
        The first shouldn't work, while the second does.<br>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Tue, Feb 10, 2015 at 10:32 AM,
          Andrey Kozhevnikov <span dir="ltr"><<a
              moz-do-not-send="true"
              href="mailto:coderusinbox@gmail.com" target="_blank">coderusinbox@gmail.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000"> sorry, not using
              emulator at all.<br>
              <br>
              <div>10.02.2015 14:28, Luca Donaggio пишет:<br>
              </div>
              <blockquote type="cite">
                <div>
                  <div class="h5">
                    <div dir="ltr">Anybody is willing to try my test
                      code and confirm or deny my finding?<br>
                    </div>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">On Fri, Feb 6, 2015 at
                        2:12 PM, Luca Donaggio <span dir="ltr"><<a
                            moz-do-not-send="true"
                            href="mailto:donaggio@gmail.com"
                            target="_blank">donaggio@gmail.com</a>></span>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0
                          0 0 .8ex;border-left:1px #ccc
                          solid;padding-left:1ex">
                          <div dir="ltr">The following code works fine
                            in Emulator, changing the gradient of the
                            Rectangle correctly updates the nested
                            ShaderEffectSource and it is reflected on
                            the ShaderEffect which uses it as its
                            texture:<br>
                            <br>
                            Page {<br>
                                id: page<br>
                            <br>
                                SilicaFlickable {<br>
                                    anchors.fill: parent<br>
                            <br>
                                    contentHeight: column.height<br>
                            <br>
                                    Column {<br>
                                        id: column<br>
                            <br>
                                        anchors { top: parent.top; left:
                            parent.left; right: parent.right;
                            leftMargin: Theme.paddingLarge; rightMargin:
                            Theme.paddingLarge; }<br>
                                        spacing: Theme.paddingLarge<br>
                            <br>
                                        PageHeader {<br>
                                            title: qsTr("ShaderEffect
                            Test")<br>
                                        }<br>
                            <br>
                                        Row {<br>
                                            anchors.horizontalCenter:
                            parent.horizontalCenter<br>
                                            spacing: Theme.paddingLarge<br>
                            <br>
                                            Column {<br>
                                                spacing:
                            Theme.paddingSmall<br>
                            <br>
                                                Rectangle {<br>
                                                    id: gradientSource<br>
                            <br>
                                                    property
                            list<Gradient> gradients: [<br>
                                                        Gradient {<br>
                                                            GradientStop
                            { position: 0.0; color: "black"; }<br>
                                                            GradientStop
                            { position: 1.0; color: "blue"; }<br>
                                                        },<br>
                            <br>
                                                        Gradient {<br>
                                                            GradientStop
                            { position: 0.0; color: "black"; }<br>
                                                            GradientStop
                            { position: 1.0; color: "red"; }<br>
                                                        }<br>
                                                    ]<br>
                            <br>
                                                    width: 100<br>
                                                    height: 100<br>
                            <br>
                                                    gradient:
                            gradients[0]<br>
                            <br>
                                                    ShaderEffectSource {<br>
                                                        id:
                            gradientTexture<br>
                            <br>
                                                        anchors.fill:
                            parent<br>
                                                        sourceItem:
                            gradientSource<br>
                                                        hideSource:
                            false<br>
                                                        live: true<br>
                                                    }<br>
                                                }<br>
                            <br>
                                                Label {<br>
                                                    font.pixelSize:
                            Theme.fontSizeExtraSmall<br>
                                                    wrapMode:
                            Text.WordWrap<br>
                                                    text:
                            "Rectangle\nShaderEffectSource"<br>
                                                }<br>
                                            }<br>
                            <br>
                                            Column {<br>
                                                spacing:
                            Theme.paddingSmall<br>
                            <br>
                                                ShaderEffect {<br>
                                                    property variant
                            source: gradientTexture<br>
                            <br>
                                                    width: 100<br>
                                                    height: 100<br>
                            <br>
                                                    blending: false<br>
                                                    cullMode:
                            ShaderEffect.BackFaceCulling<br>
                                                    fragmentShader: "<br>
                                                        varying highp
                            vec2 qt_TexCoord0;<br>
                                                        uniform lowp
                            float qt_Opacity;<br>
                                                        uniform
                            sampler2D source;<br>
                            <br>
                                                        void main() {<br>
                                                            gl_FragColor
                            = texture2D(source, qt_TexCoord0) *
                            qt_Opacity;<br>
                                                        }"<br>
                                                }<br>
                            <br>
                                                Label {<br>
                                                    font.pixelSize:
                            Theme.fontSizeExtraSmall<br>
                                                    text: "ShaderEffect"<br>
                                                }<br>
                                            }<br>
                                        }<br>
                            <br>
                                        Button {<br>
                                            anchors.horizontalCenter:
                            parent.horizontalCenter<br>
                                            text: "Blue gradient"<br>
                            <br>
                                            onClicked:
                            gradientSource.gradient =
                            gradientSource.gradients[0]<br>
                                        }<br>
                            <br>
                                        Button {<br>
                                            anchors.horizontalCenter:
                            parent.horizontalCenter<br>
                                            text: "Red gradient"<br>
                            <br>
                                            onClicked:
                            gradientSource.gradient =
                            gradientSource.gradients[1]<br>
                                        }<br>
                                    }<br>
                                }<br>
                            }<br>
                            <br clear="all">
                            <div>It doesn't work on device though
                              (changing Reactangle's gradient doesn't
                              update the ShaderEffectSource).<br>
                              <br>
                            </div>
                            <div>Un-nesting the ShaderEffectSource from
                              its source item (the Rectangle) works fine
                              both on emulator and on device:<br>
                              <br>
                              Page {<br>
                                  id: page<br>
                              <br>
                                  SilicaFlickable {<br>
                                      anchors.fill: parent<br>
                              <br>
                                      contentHeight: column.height<br>
                              <br>
                                      Column {<br>
                                          id: column<br>
                              <br>
                                          anchors { top: parent.top;
                              left: parent.left; right: parent.right;
                              leftMargin: Theme.paddingLarge;
                              rightMargin: Theme.paddingLarge; }<br>
                                          spacing: Theme.paddingLarge<br>
                              <br>
                                          PageHeader {<br>
                                              title: qsTr("ShaderEffect
                              Test")<br>
                                          }<br>
                              <br>
                                          Row {<br>
                                              anchors.horizontalCenter:
                              parent.horizontalCenter<br>
                                              spacing:
                              Theme.paddingLarge<br>
                              <br>
                                              Column {<br>
                                                  spacing:
                              Theme.paddingSmall<br>
                              <br>
                                                  Rectangle {<br>
                                                      id: gradientSource<br>
                              <br>
                                                      property
                              list<Gradient> gradients: [<br>
                                                          Gradient {<br>
                                                             
                              GradientStop { position: 0.0; color:
                              "black"; }<br>
                                                             
                              GradientStop { position: 1.0; color:
                              "blue"; }<br>
                                                          },<br>
                              <br>
                                                          Gradient {<br>
                                                             
                              GradientStop { position: 0.0; color:
                              "black"; }<br>
                                                             
                              GradientStop { position: 1.0; color:
                              "red"; }<br>
                                                          }<br>
                                                      ]<br>
                              <br>
                                                      width: 100<br>
                                                      height: 100<br>
                              <br>
                                                      gradient:
                              gradients[0]<br>
                                                  }<br>
                              <br>
                                                  Label {<br>
                                                      font.pixelSize:
                              Theme.fontSizeExtraSmall<br>
                                                      text: "Rectangle"<br>
                                                  }<br>
                                              }<br>
                              <br>
                                              Column {<br>
                                                  spacing:
                              Theme.paddingSmall<br>
                              <br>
                                                  ShaderEffectSource {<br>
                                                      id:
                              gradientTexture<br>
                              <br>
                                                      width: 100<br>
                                                      height: 100<br>
                                                      sourceItem:
                              gradientSource<br>
                                                      hideSource: false<br>
                                                      live: true<br>
                                                  }<br>
                              <br>
                                                  Label {<br>
                                                      font.pixelSize:
                              Theme.fontSizeExtraSmall<br>
                                                      text:
                              "ShaderEffectSource"<br>
                                                  }<br>
                                              }<br>
                              <br>
                                              Column {<br>
                                                  spacing:
                              Theme.paddingSmall<br>
                              <br>
                                                  ShaderEffect {<br>
                                                      property variant
                              source: gradientTexture<br>
                              <br>
                                                      width: 100<br>
                                                      height: 100<br>
                              <br>
                                                      blending: false<br>
                                                      cullMode:
                              ShaderEffect.BackFaceCulling<br>
                                                      fragmentShader: "<br>
                                                          varying highp
                              vec2 qt_TexCoord0;<br>
                                                          uniform lowp
                              float qt_Opacity;<br>
                                                          uniform
                              sampler2D source;<br>
                              <br>
                                                          void main() {<br>
                                                             
                              gl_FragColor = texture2D(source,
                              qt_TexCoord0) * qt_Opacity;<br>
                                                          }"<br>
                                                  }<br>
                              <br>
                                                  Label {<br>
                                                      font.pixelSize:
                              Theme.fontSizeExtraSmall<br>
                                                      text:
                              "ShaderEffect"<br>
                                                  }<br>
                                              }<br>
                                          }<br>
                              <br>
                                          Button {<br>
                                              anchors.horizontalCenter:
                              parent.horizontalCenter<br>
                                              text: "Blue gradient"<br>
                              <br>
                                              onClicked:
                              gradientSource.gradient =
                              gradientSource.gradients[0]<br>
                                          }<br>
                              <br>
                                          Button {<br>
                                              anchors.horizontalCenter:
                              parent.horizontalCenter<br>
                                              text: "Red gradient"<br>
                              <br>
                                              onClicked:
                              gradientSource.gradient =
                              gradientSource.gradients[1]<br>
                                          }<br>
                                      }<br>
                                  }<br>
                              }<br>
                              <br>
                            </div>
                            <div>Is it a bug?<span><font color="#888888"><br>
                                </font></span></div>
                            <span><font color="#888888">
                                <div><br>
                                  -- <br>
                                  <div>Luca Donaggio</div>
                                </div>
                              </font></span></div>
                        </blockquote>
                      </div>
                      <br>
                      <br clear="all">
                      <br>
                      -- <br>
                      <div>Luca Donaggio</div>
                    </div>
                    <br>
                    <fieldset></fieldset>
                    <br>
                  </div>
                </div>
                <pre>_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to <a moz-do-not-send="true" href="mailto:devel-unsubscribe@lists.sailfishos.org" target="_blank">devel-unsubscribe@lists.sailfishos.org</a></pre>
              </blockquote>
              <br>
            </div>
            <br>
            _______________________________________________<br>
            SailfishOS.org Devel mailing list<br>
            To unsubscribe, please send a mail to <a
              moz-do-not-send="true"
              href="mailto:devel-unsubscribe@lists.sailfishos.org">devel-unsubscribe@lists.sailfishos.org</a><br>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <br>
        -- <br>
        <div class="gmail_signature">Luca Donaggio</div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to <a class="moz-txt-link-abbreviated" href="mailto:devel-unsubscribe@lists.sailfishos.org">devel-unsubscribe@lists.sailfishos.org</a></pre>
    </blockquote>
    <br>
  </body>
</html>