1. Nov 10, 2014
    • Eskil Abrahamsen Blomfeldt's avatar
      Revert "Fix pixel bleed in BorderImage" · 4d15f528
      Eskil Abrahamsen Blomfeldt authored
      This reverts commit a9238292.
      
      It also reverts follow-up commits:
        87755d04
        c2c710e5
        cc8a76ce
      
      
      
      The new implementation is much too slow because it will cause each
      section of the border image to be uploaded to the atlas, and it will
      not be shared between different border images nor between different
      sizes of the border. The performance regression is so significant
      that it's not worth it for the original bug fix.
      
      We leave the tests around, so some of those might regress due to
      this.
      
      Change-Id: I3f56f4564255ebb77e6487881a6a11b19ad0234e
      Task-number: QTBUG-42288
      Task-number: QTBUG-35838
      Reviewed-by: default avatarMichael Brasser <michael.brasser@live.com>
      4d15f528
  2. Sep 10, 2014
    • Eskil Abrahamsen Blomfeldt's avatar
      Fix pixel bleed in BorderImage · a9238292
      Eskil Abrahamsen Blomfeldt authored
      
      Keeping all patches of the border image in the same texture
      with different sample points can cause parts of the border
      to bleed over to the center patch. To rectify this, we
      create a separate texture for each of the nine patches we
      need, and separate image nodes.
      
      To avoid applying antialiasing on the interior edges of the
      border image, we introduce new antialiasing flags which can
      be used to specify precisely which edges of the image should
      be antialiased.
      
      [ChangeLog][BorderImage] Fixed possible pixel bleed between
      border patches and center patch in BorderImage.
      
      Change-Id: Icc292b3969217320eecca99e79675316c42eab08
      Task-number: QTBUG-35838
      Reviewed-by: default avatarGunnar Sletta <gunnar@sletta.org>
      a9238292
  3. Aug 25, 2014
  4. Aug 23, 2014
  5. Apr 25, 2014
  6. Mar 18, 2014
  7. Oct 31, 2013
    • Sean Harmer's avatar
      Refactor shaders into seprate GLSL source files · 426f6aa6
      Sean Harmer authored
      
      The default implementation of QSGShaderMaterial::vertexShader() and
      fragmentShader() now loads the GLSL source from a list of source files
      that can be specified via the setShaderSourceFile() or
      setShaderSourceFiles() functions.
      
      Multiple shader source files for each shader stage are supported. Each
      source file will be read in the order specified and concatenated
      together before being compiled.
      
      The other places where Qt Quick 2 loads shader source code have
      been adapted to use the new QSGShaderSourceBuilder, which is also
      used internally by QSGMaterial.
      
      This puts Qt Quick 2 into a better state ready to support OpenGL
      core profile and to load different shaders based upon OpenGL version,
      profile, GPU vendor, platform, etc.
      
      Change-Id: I1a66213c2ce788413168eb48c7bc5317e61988a2
      Reviewed-by: default avatarGunnar Sletta <gunnar.sletta@digia.com>
      426f6aa6
  8. Oct 21, 2013
    • Gunnar Sletta's avatar
      Prevent badly formed texture nodes in the scene graph. · 486d367e
      Gunnar Sletta authored
      
      A texture based node without a valid texture is not allowed,
      as the material and the renderer will only tolerate
      well-formed nodes. If a node is missing any part of its material
      state it should not be in the scene graph in the first place.
      
      Because of an "optimization" in QSGDefaultImageNode::setTexture
      and QSGSimpleTextureNode::setTexture, we must temporarily set
      the texture to 0 to ensure that it gets updated properly. This
      temporarily puts the node into an invalid state which can lead
      to crashes when QSGNode::markDirty() reaches the renderer.
      
      Task-number: QTBUG-34062
      Change-Id: Ic1735c9b974b90b3684262de9589133c961bac6e
      Reviewed-by: default avatarLaszlo Agocs <laszlo.agocs@digia.com>
      486d367e
  9. Sep 30, 2013
  10. Sep 05, 2013
  11. Aug 12, 2013
  12. Jun 17, 2013
  13. Jan 10, 2013
  14. Dec 12, 2012
  15. Sep 26, 2012
    • Sean Harmer's avatar
      Work around mis-optimisation on QNX/SGX in AA vertex shader · 5846b946
      Sean Harmer authored
      
      The new AA algorithm which is implemented in the vertex shader of
      SmoothColorMaterialShader and SmoothTextureMaterialShader exposes
      a driver bug in the glsl compiler/optimiser for the GPU used in
      the BlackBerry PlayBook.
      
      The bug results in the if (scale < 0.0) scale = 1.0 code always
      being executed even when the condition is false. This leads to
      massive corrupion of Image, Rectangle, and BorderImage elements
      when the antialiasing property is enabled.
      
      This commit works around the compiler bug by refactoring the
      vertex shader to explicitly include an else clause. The check for
      negative values is now performed on the numerator only as the
      denominator is dot(dir, dir) which is always positive (square of
      magnitude of dir vector).
      
      This gives the correct behaviour on all platforms (that I have
      access to).
      
      Change-Id: I236542c9b59ff2915e95cbd9300b442be316bba9
      Reviewed-by: default avatarSamuel Rødal <samuel.rodal@digia.com>
      5846b946
  16. Sep 23, 2012
  17. Aug 06, 2012
  18. Jul 19, 2012
  19. Jul 13, 2012
    • Kim Motoyoshi Kalland's avatar
      Change antialiasing method for QML2. · d83eb21f
      Kim Motoyoshi Kalland authored
      
      Since multisampling can require a lot of memory, and might not
      be supported on some hardware, turn off multisampling and
      implement antialiasing in the vertex shader instead. The
      alternative method of antialiasing is implemented for Rectangle,
      Image, BorderImage and AnimatedImage, and must be explicitly
      enabled by setting the new antialiasing property.
      
      Task-number: QTBUG-26268
      Change-Id: I39a93d978658a494bf51e9f0fd02d8414eb8be12
      Reviewed-by: default avatarGunnar Sletta <gunnar.sletta@nokia.com>
      d83eb21f
  20. Feb 24, 2012
  21. Jan 30, 2012
  22. Jan 27, 2012
  23. Jan 23, 2012
  24. Jan 17, 2012
  25. Jan 03, 2012
  26. Dec 02, 2011
    • Kent Hansen's avatar
      Say hello to QtQuick module · 6c8378ea
      Kent Hansen authored
      
      This change moves the QtQuick 2 types and C++ API (including
      SceneGraph) to a new module (AKA library), QtQuick.
      
      99% of this change is moving files from src/declarative to
      src/quick, and from tests/auto/declarative to
      tests/auto/qtquick2.
      
      The loading of QtQuick 2 ("import QtQuick 2.0") is now delegated to
      a plugin, src/imports/qtquick2, just like it's done for QtQuick 1.
      
      All tools, examples, and tests that use QtQuick C++ API have gotten
      "QT += quick" or "QT += quick-private" added to their .pro file.
      
      A few additional internal QtDeclarative classes had to be exported
      (via Q_DECLARATIVE_PRIVATE_EXPORT) since they're needed by the
      QtQuick 2 implementation.
      
      The old header locations (e.g. QtDeclarative/qquickitem.h) will
      still be supported for some time, but will produce compile-time
      warnings. (To avoid the QtQuick implementation using the
      compatibility headers (since QtDeclarative's includepath comes
      first), a few include statements were modified, e.g. from
      "#include <qsgnode.h>" to "#include <QtQuick/qsgnode.h>".)
      
      There's a change in qtbase that automatically adds QtQuick to the
      module list if QtDeclarative is used. Together with the compatibility
      headers, this should help reduce the migration pain for existing
      projects.
      
      In theory, simply getting an existing QtDeclarative-based project
      to compile and link shouldn't require any changes for now -- but
      porting to the new scheme is of course recommended, and will
      eventually become mandatory.
      
      Task-number: QTBUG-22889
      Reviewed-by: default avatarLars Knoll <lars.knoll@nokia.com>
      Change-Id: Ia52be9373172ba2f37e7623231ecb060316c96a7
      Reviewed-by: default avatarKent Hansen <kent.hansen@nokia.com>
      Reviewed-by: default avatarSergio Ahumada <sergio.ahumada@nokia.com>
      6c8378ea
  27. Nov 16, 2011
  28. Aug 29, 2011
  29. Jul 08, 2011
  30. May 12, 2011
  31. May 11, 2011
  32. Apr 29, 2011
  33. Apr 27, 2011