Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. GlTextureParameteriEXT being called from Core profile

GlTextureParameteriEXT being called from Core profile

Scheduled Pinned Locked Moved General and Desktop
4 Posts 3 Posters 1.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mimp
    wrote on last edited by
    #1

    EDIT: Ignore this, the problem was me - everything works as it should do (see below)

    If I

    • Create a core 3.3 OpenGL context
    • Grab a core 3.3 functions object via versionFunctions()
    • Call glTexParameteri() on that object

    What actually seems to happen is a call to glTextureParameteriEXT().

    This in turn breaks tracing with VOGL as it's not in their whitelist.

    Tried manually requesting the function via

    @QOpenGLContext::currentContext()->getProcAddress("glTexParameteri"));@
    then casting the returned pointer to the appropriate type and using it directly, but it seems to still wind up with the EXT version.

    Is it possible to restrict use of extensions even if they are available?

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi and welcome to devnet,

      Since this might dig a bit deeper in the OpenGL stack implementation, I'd recommend asking this question on the interest mailing list, you'll find there Qt's developers/maintainers (this forum is more user oriented)

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • Chris KawaC Online
        Chris KawaC Online
        Chris Kawa
        Lifetime Qt Champion
        wrote on last edited by
        #3

        @
        auto a = QOpenGLContext::currentContext()->getProcAddress("glTexParameteri");
        auto b = QOpenGLContext::currentContext()->getProcAddress("glTextureParameteriEXT");
        qDebug() << a << b;
        @
        This returns different addresses for me (Win 8.1, NVidia 340.82). Doesn't sound like Qt problem if it's down to function pointers. Might be a driver issue. AMD did some pretty weird hacks in their drivers back in the time. What OS/graphics card are you on?

        1 Reply Last reply
        0
        • M Offline
          M Offline
          mimp
          wrote on last edited by
          #4

          So it turns out I'm a total idiot, and shouldn't post things last thing on a Friday afternoon.
          I was getting bits of my trace confused and thought some calls eminating from a QOpenGLTexture object were the ones I was manually calling myself.
          Both calling glTexParameteri() via the function pointer returned from getProcAddress() and calling glTexParameteri() directly via the function object work exactly as you would expect them to, QOpenGLTexture is just doing the right thing by using direct state access when it can (hence glTextureParameteriEXT)
          Sorry everyone!

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved