1. Jul 30, 2013
  2. Jun 05, 2013
    • Valery Volgutov's avatar
      Fix FBO restoring in QOpenGLTextureGlyphCache · 1d8ec5fa
      Valery Volgutov authored
      
      QOpenGLTextureGlyphCache::restoreTextureData restores FBO which
      was binded before restoreTextureData call. More specifically,
      it restores QOpenGLContextPrivate's current_fbo member. This works
      if FBO was binded by QOpenGLFramebufferObject but not if FBO was
      binded using glBindFramebufferObject and rendering done via
      QOpenGLPaintDevice.
      
      This patch fixes it by querying current FBO using
      GL_FRAMEBUFFER_BINDING query and restoring it.
      
      Change-Id: Ia97a21e62566dc39a5191b66d3ca0e3ad0845ce1
      Reviewed-by: default avatarValery Volgutov <valery.volgutov@lge.com>
      Reviewed-by: default avatarGunnar Sletta <gunnar.sletta@digia.com>
      1d8ec5fa
  3. Feb 13, 2013
  4. Jan 18, 2013
  5. Nov 06, 2012
  6. Sep 22, 2012
  7. Aug 20, 2012
    • Sean Harmer's avatar
      OpenGL: Use official glext.h and gl2ext.h headers · fc41ee4c
      Sean Harmer authored
      The Khronos group makes the glext.h (Desktop OpenGL) and gl2ext.h
      (OpenGL ES2) headers officially available nowadays. Most (all?)
      Linux systems ship this by default. On Windows platforms the
      glext.h file needs to be downloaded from
      
      http://www.opengl.org/registry/api/glext.h
      
      and placed alongside the system OpenGL header.
      
      Making use of the official header reduces the maintenance
      overhead for OpenGL support in Qt by removing the need to copy
      and paste definitions into the Qt sources.
      
      As the Khronos-provided headers are standardised and backwards and
      forwards compatible we can utilise these for all platforms rather
      than just for Windows. This means that all definitions required
      by Qt will be present even if the system ships out-dated
      equivalents.
      
      Mac OS X needs special handling in that we should always use the
      system-provided headers there. This is because Apple controls the
      OpenGL driver and the headers that go along with it. As such there
      is no possibility that the driver exposes additional functionality
      compared with the system-provided OpenGL headers. Apple has also
      decided to make different decisions about some OpenGL typedefs
      compared to other implementations. For example, Apple typdefs
      GLhandleARB to void* whereas other platforms use unsigned int.
      
      The alternative, which is to use the system provided glext.h (or
      gl2ext.h) header means that Qt code would need to check for the
      availability of such definitions wherever it is not guaranteed
      to be provided by core OpenGL/ES just to compile.
      
      The proposed approach means that Qt can compile regardless of
      the system's OpenGL extension support. We just need to be
      rigourous in runtime checking of support for extensions but
      that is already a requirement (and is missing in a few places,
      see TODO's added in this commit).
      
      The official Khronos headers are added to Qt as
      
      qopenglext.h - Desktop OpenGL
      qopengles2ext.h - OpenGL ES2
      
      They need to be public but not part of QtGui module include, hence
      the headers have been modified by adding
      
       #if 0
       #pragma qt_no_master_include
       #endif
      
      to them.
      
      This has been tested on:
      
      Gentoo Linux with GCC 4.6.3
      Windows 7 with MSVC 2010
      Mac OSX 10.8 with Apple clang 4.0 (based on LLVM 3.1svn)
      QNX with qcc (based on GCC 4.4)
      
      A small change is needed to QtDeclarative when building for OpenGL
      ES 2 after applying this commit. See
      https://codereview.qt-project.org/#change,31794
      
      
      
      Change-Id: I4b3d2b1680baf4c78be9a87b4d8de076d23e8f82
      Reviewed-by: default avatarGunnar Sletta <gunnar.sletta@nokia.com>
      Reviewed-by: default avatarLars Knoll <lars.knoll@nokia.com>
      fc41ee4c
  8. Jul 05, 2012
  9. May 01, 2012
  10. Jan 30, 2012
  11. Jan 23, 2012
  12. Jan 05, 2012
  13. Oct 28, 2011
    • Samuel Rødal's avatar
      Get rid of legacy glTexParameterf calls. · 77d30df7
      Samuel Rødal authored
      
      ES 1.0 didn't have glTexParameteri, which is why we sometimes used
      glTexParameterf. However, we shouldn't use glTexParameterf because
      that's treating integer values as floating point, which is not type
      safe. ES 1.1+ and ES 2.x have glTexParameteri, and we don't really care
      about supporting ES 1.0 in any case in Qt 5.
      
      Change-Id: I6b586b31ddc418ba319c4cc88f6bb3978fdbd040
      Reviewed-by: default avatarKim M. Kalland <kim.kalland@nokia.com>
      77d30df7
  14. Oct 13, 2011
  15. Oct 07, 2011
  16. Aug 30, 2011
  17. Aug 29, 2011
  18. Aug 16, 2011
  19. May 24, 2011
  20. Apr 27, 2011
    • Qt by Nokia's avatar
      Initial import from the monolithic Qt. · 38be0d13
      Qt by Nokia authored
      This is the beginning of revision history for this module. If you
      want to look at revision history older than this, please refer to the
      Qt Git wiki for how to use Git history grafting. At the time of
      writing, this wiki is located here:
      
      http://qt.gitorious.org/qt/pages/GitIntroductionWithQt
      
      If you have already performed the grafting and you don't see any
      history beyond this commit, try running "git log" with the "--follow"
      argument.
      
      Branched from the monolithic repo, Qt master branch, at commit
      896db169ea224deb96c59ce8af800d019de63f12
      38be0d13