[Webkit-unassigned] [Bug 95556] New: [Qt] QNX OpenGL enabled build fails in OpenGLShims.cpp

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Aug 31 04:38:00 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=95556

           Summary: [Qt] QNX OpenGL enabled build fails in OpenGLShims.cpp
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit Qt
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: milian.wolff at kdab.com
            Blocks: 95466


When trying to build QtWebKit with OpenGL support for QNX (see bug 95466), you will run into compilation errors in OpenGLShims.cpp:

/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/OpenGLShims.cpp: In function 'bool WebCore::initializeOpenGLShims()':
/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/OpenGLShims.cpp:117: error: expected id-expression before numeric constant
/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/OpenGLShims.cpp:117: error: expected ';' before numeric constant
/home/milian/projects/qt5/qtwebkit/Source/WebCore/platform/graphics/OpenGLShims.cpp:173: error: '::glRenderbufferStorageMultisampleAPPLE' has not been declared

The reason is that OpenGLShims.h includes qopenglfunctions.h which is the khronos official header that includes all possible extensions. According to a colleague of mine, consumers should be doing runtime checks in addition to compile time checks. An easier fix for QNX at least though would be the following: Undefining the defines that are known to be non-existant on QNX, in our case: GL_ANGLE_framebuffer_blit, GL_APPLE_framebuffer_multisample and GL_ANGLE_framebuffer_multisample.

Unrelated to this, I think the following line is completely wrong:

openGLFunctionTable()->glBlitFramebuffer = ::GL_ANGLE_framebuffer_blit;

GL_ANGLE_framebuffer_blit is a define of "1" and not a function pointer. I *think* the correct version would be

openGLFunctionTable()->glBlitFramebuffer = ::glBlitFramebufferANGLE;

Anyhow, I'll include this in a patch and you can decide on whether that should be included as well.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list