[Webkit-unassigned] [Bug 255006] New: [WPE] Always call glBindAttribLocation before glLinkProgram

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 4 13:55:01 PDT 2023


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

            Bug ID: 255006
           Summary: [WPE] Always call glBindAttribLocation before
                    glLinkProgram
           Product: WebKit
           Version: WebKit Local Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WPE WebKit
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: aperez at igalia.com
                CC: bugs-noreply at webkitgtk.org

There are currently two places where we wrongly call glBindAttribLocation()
after glLinkProgram(), which is wrong:

  - Tools/wpe/backends/fdo/WindowViewBackend.cpp:827
  - Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewBackend.cpp:111

While this works by chance on most GL implementations (they seem to assign the
locations in the same order as declared in shader sources), there is no guarantee
about this--and actually the current code was reported to not work on an iMX8 Mini
with the proprietary Vivante driver.

The documentation tells that glLinkProgram() is what makes the bindings
effective:

  “Attribute variable name-to-generic attribute index bindings for a program
   object can be explicitly assigned at any time by calling glBindAttribLocation.
   Attribute bindings do not go into effect until glLinkProgram is called.”

                              -- https://docs.gl/es2/glBindAttribLocation

This means we should be calling glLinkProgram() *after* glBindAttribLocation().

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230404/7afcccc9/attachment.htm>


More information about the webkit-unassigned mailing list