[Webkit-unassigned] [Bug 219739] New: REGRESSION(r268923): [WPE] Nothing renders on the rpi3 using the proprietary driver
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Dec 10 05:46:50 PST 2020
https://bugs.webkit.org/show_bug.cgi?id=219739
Bug ID: 219739
Summary: REGRESSION(r268923): [WPE] Nothing renders on the rpi3
using the proprietary driver
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WPE WebKit
Assignee: webkit-unassigned at lists.webkit.org
Reporter: magomez at igalia.com
CC: bugs-noreply at webkitgtk.org
Some of the modifications added to the fragment shader (in order to implement rounded rectangle clipping) broke the rendering on the rpi3 when using the proprietary driver. While these changes work on mesa based drivers, it seems that the proprietary driver has some limitations:
* the right operand of the condition of a for loop must be a constant, which causes the line
for (int rectIndex = 0; rectIndex < nRects; rectIndex++)
not to work because nRects is not a constant.
* can't index arrays with non constant variables, which causes things like
vec4 bounds = vec4(u_roundedRect[index].xy, u_roundedRect[index].xy + u_roundedRect[index].zw);
not to work unless index is a constant (which is not).
So we need to rewrite the code in way that allows us to overcome those limitations. The first one is easy, as we need to replace the former loop with something like this:
for (int rectIndex = 0; rectIndex < ROUNDED_RECT_MAX_RECTS; rectIndex++) {
if (rectIndex >= u_roundedRectNumber)
break;
whatever;
}
This is required for the driver to be able to unwind the for loop. And this gives a way to fix the second issue: when unwinding the loop, the rectIndex var will be a constant in each of the loop steps, which allows us to use it to index the array. We need to perform all the accesses to the array with that variable though, so we can't do it inside any function.
I'll send a patch with the changes.
--
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/20201210/981f59e7/attachment.htm>
More information about the webkit-unassigned
mailing list