<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>219739</bug_id>
          
          <creation_ts>2020-12-10 05:46:50 -0800</creation_ts>
          <short_desc>REGRESSION(r268923): [WPE] Nothing renders on the rpi3 using the proprietary video driver</short_desc>
          <delta_ts>2020-12-11 04:46:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WPE WebKit</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Miguel Gomez">magomez</reporter>
          <assigned_to name="Miguel Gomez">magomez</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1713512</commentid>
    <comment_count>0</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2020-12-10 05:46:50 -0800</bug_when>
    <thetext>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 &lt; nRects; rectIndex++)

not to work because nRects is not a constant.

* can&apos;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 &lt; ROUNDED_RECT_MAX_RECTS; rectIndex++) {
    if (rectIndex &gt;= 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&apos;t do it inside any function.

I&apos;ll send a patch with the changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713865</commentid>
    <comment_count>1</comment_count>
      <attachid>415982</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2020-12-11 02:38:43 -0800</bug_when>
    <thetext>Created attachment 415982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713882</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-11 04:46:51 -0800</bug_when>
    <thetext>Committed r270675: &lt;https://trac.webkit.org/changeset/270675&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415982.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415982</attachid>
            <date>2020-12-11 02:38:43 -0800</date>
            <delta_ts>2020-12-11 04:46:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219739-20201211113842.patch</filename>
            <type>text/plain</type>
            <size>4048</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjJjMmZmNTQ1OWJjOGFj
OGQzMzllZWZkZjg0MjEzMjdmYzlhOWMwNi4uMTZmZGY1NDAzNWYyMzg1NjA0ODEyYjgzYmJkZTA5
YWQzNTFmYTQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEyLTExICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjY4
OTIzKTogW1dQRV0gTm90aGluZyByZW5kZXJzIG9uIHRoZSBycGkzIHVzaW5nIHRoZSBwcm9wcmll
dGFyeSB2aWRlbyBkcml2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxOTczOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJld3JpdGUgdGhlIEdMU0wgY29kZSB0byBwZXJmb3JtIHJvdW5kZWQgcmVjdGFu
Z2xlIGNsaXBwaW5nIHNvIGl0IHdvcmtzIHdpdGggdGhlIGxpbWl0YXRpb25zCisgICAgICAgIG9m
IHRoZSByYXNwYmVycnlwaTMgcHJvcHJpZXRhcnkgdmlkZW8gZHJpdmVyLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJTaGFkZXJQcm9ncmFtLmNwcDoK
KwogMjAyMC0xMi0xMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEFjY2VwdCBjbGljayBtZWFzdXJlbWVudCBkYXRhIGZyb20gaG9zdGluZyBh
cHBsaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJTaGFkZXJQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyU2hhZGVyUHJvZ3JhbS5jcHAKaW5k
ZXggMmIwZGMzYzkzYmNlYTIzMDAwYjJiYjFjZTc4ODAzZjI4NzBhNWViMS4uMzUzYzNkNGY1NTRj
MzJjMGEzYWVhZDBmMzZhNTg4NmI2MzlmNmMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJTaGFkZXJQcm9ncmFtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
clNoYWRlclByb2dyYW0uY3BwCkBAIC00MjYsMTggKzQyNiwxMSBAQCBzdGF0aWMgY29uc3QgY2hh
ciogZnJhZ21lbnRUZW1wbGF0ZUNvbW1vbiA9CiAgICAgICAgICAgICByZXR1cm4gY2xhbXAoMC41
IC0gZCwgMC4wLCAxLjApOwogICAgICAgICB9CiAKLSAgICAgICAgZmxvYXQgcm91bmRlZFJlY3RD
b3ZlcmFnZSh2ZWMyIHAsIGludCBpbmRleCkKKyAgICAgICAgZmxvYXQgcm91bmRlZFJlY3RDb3Zl
cmFnZSh2ZWMyIHAsIHZlYzQgYm91bmRzLCB2ZWMyIHRvcExlZnRSYWRpaSwgdmVjMiB0b3BSaWdo
dFJhZGlpLCB2ZWMyIGJvdHRvbUxlZnRSYWRpaSwgdmVjMiBib3R0b21SaWdodFJhZGlpKQogICAg
ICAgICB7Ci0gICAgICAgICAgICB2ZWM0IGJvdW5kcyA9IHZlYzQodV9yb3VuZGVkUmVjdFtpbmRl
eF0ueHksIHVfcm91bmRlZFJlY3RbaW5kZXhdLnh5ICsgdV9yb3VuZGVkUmVjdFtpbmRleF0uencp
OwotCiAgICAgICAgICAgICBpZiAocC54IDwgYm91bmRzLnggfHwgcC55IDwgYm91bmRzLnkgfHwg
cC54ID49IGJvdW5kcy56IHx8IHAueSA+PSBib3VuZHMudykKICAgICAgICAgICAgICAgICByZXR1
cm4gMC4wOwogCi0gICAgICAgICAgICB2ZWMyIHRvcExlZnRSYWRpaSA9IHVfcm91bmRlZFJlY3Rb
aW5kZXggKyAxXS54eTsKLSAgICAgICAgICAgIHZlYzIgdG9wUmlnaHRSYWRpaSA9IHVfcm91bmRl
ZFJlY3RbaW5kZXggKyAxXS56dzsKLSAgICAgICAgICAgIHZlYzIgYm90dG9tTGVmdFJhZGlpID0g
dV9yb3VuZGVkUmVjdFtpbmRleCArIDJdLnh5OwotICAgICAgICAgICAgdmVjMiBib3R0b21SaWdo
dFJhZGlpID0gdV9yb3VuZGVkUmVjdFtpbmRleCArIDJdLnp3OwotCiAgICAgICAgICAgICB2ZWMy
IHRvcExlZnRDZW50ZXIgPSBib3VuZHMueHkgKyB0b3BMZWZ0UmFkaWk7CiAgICAgICAgICAgICB2
ZWMyIHRvcFJpZ2h0Q2VudGVyID0gYm91bmRzLnp5ICsgKHRvcFJpZ2h0UmFkaWkgKiB2ZWMyKC0x
LCAxKSk7CiAgICAgICAgICAgICB2ZWMyIGJvdHRvbUxlZnRDZW50ZXIgPSBib3VuZHMueHcgKyAo
Ym90dG9tTGVmdFJhZGlpICogdmVjMigxLCAtMSkpOwpAQCAtNDY2LDEzICs0NTksMjEgQEAgc3Rh
dGljIGNvbnN0IGNoYXIqIGZyYWdtZW50VGVtcGxhdGVDb21tb24gPQogICAgICAgICAgICAgLy8g
V2UgY2FuJ3QgdXNlIGdsX2ZyYWdDb29yZCBmb3IgdGhlIGZyYWdtZW50IHBvc2l0aW9uIGJlY2F1
c2UgdGhhdHMgdGhlIHByb2plY3RlZCBwb2ludAogICAgICAgICAgICAgLy8gYW5kIHRoZSBwcm9q
ZWN0aW9uIHNjcmV3cyB0aGUgWiBjb21wb25lbnQuIFdlIG5lZWQgdGhlIHJlYWwgM0QgcG9zaXRp
b24gdGhhdCBjb21lcyBmcm9tCiAgICAgICAgICAgICAvLyB0aGUgbm9uUHJvamVjdGVkUG9zaXRp
b24gdmFyaWFibGUuCi0gICAgICAgICAgICBpbnQgblJlY3RzID0gdV9yb3VuZGVkUmVjdE51bWJl
cjsKLSAgICAgICAgICAgIGlmIChuUmVjdHMgPiBST1VOREVEX1JFQ1RfTUFYX1JFQ1RTKQotICAg
ICAgICAgICAgICAgIG5SZWN0cyA9IFJPVU5ERURfUkVDVF9NQVhfUkVDVFM7CisgICAgICAgICAg
ICAvLworICAgICAgICAgICAgLy8gVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3Qgb3B0aW1hbCwg
YnV0IGl0J3MgZG9uZSB0aGlzIHdheSBpbiBvcmRlciB0byBvdmVyY29tZSBycGkzJ3MKKyAgICAg
ICAgICAgIC8vIHByb3ByaWV0YXJ5IHZpZGVvIGRyaXZlciBsaW1pdGF0aW9ucyAoc2VlIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk3MzkpLgorCisgICAgICAgICAg
ICBmb3IgKGludCByZWN0SW5kZXggPSAwOyByZWN0SW5kZXggPCBST1VOREVEX1JFQ1RfTUFYX1JF
Q1RTOyByZWN0SW5kZXgrKykgeworICAgICAgICAgICAgICAgIGlmIChyZWN0SW5kZXggPj0gdV9y
b3VuZGVkUmVjdE51bWJlcikKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAg
ICAgIGZvciAoaW50IHJlY3RJbmRleCA9IDA7IHJlY3RJbmRleCA8IG5SZWN0czsgcmVjdEluZGV4
KyspIHsKICAgICAgICAgICAgICAgICB2ZWM0IGZyYWdDb29yZCA9IHVfcm91bmRlZFJlY3RJbnZl
cnNlVHJhbnNmb3JtTWF0cml4W3JlY3RJbmRleF0gKiB2X25vblByb2plY3RlZFBvc2l0aW9uOwot
ICAgICAgICAgICAgICAgIGNvbG9yICo9IHJvdW5kZWRSZWN0Q292ZXJhZ2UoZnJhZ0Nvb3JkLnh5
LCByZWN0SW5kZXggKiAzKTsKKyAgICAgICAgICAgICAgICB2ZWM0IGJvdW5kcyA9IHZlYzQodV9y
b3VuZGVkUmVjdFtyZWN0SW5kZXggKiAzXS54eSwgdV9yb3VuZGVkUmVjdFtyZWN0SW5kZXggKiAz
XS54eSArIHVfcm91bmRlZFJlY3RbcmVjdEluZGV4ICogM10uencpOworICAgICAgICAgICAgICAg
IHZlYzIgdG9wTGVmdFJhZGlpID0gdV9yb3VuZGVkUmVjdFsocmVjdEluZGV4ICogMykgKyAxXS54
eTsKKyAgICAgICAgICAgICAgICB2ZWMyIHRvcFJpZ2h0UmFkaWkgPSB1X3JvdW5kZWRSZWN0Wyhy
ZWN0SW5kZXggKiAzKSArIDFdLnp3OworICAgICAgICAgICAgICAgIHZlYzIgYm90dG9tTGVmdFJh
ZGlpID0gdV9yb3VuZGVkUmVjdFsocmVjdEluZGV4ICogMykgKyAyXS54eTsKKyAgICAgICAgICAg
ICAgICB2ZWMyIGJvdHRvbVJpZ2h0UmFkaWkgPSB1X3JvdW5kZWRSZWN0WyhyZWN0SW5kZXggKiAz
KSArIDJdLnp3OworICAgICAgICAgICAgICAgIGNvbG9yICo9IHJvdW5kZWRSZWN0Q292ZXJhZ2Uo
ZnJhZ0Nvb3JkLnh5LCBib3VuZHMsIHRvcExlZnRSYWRpaSwgdG9wUmlnaHRSYWRpaSwgYm90dG9t
TGVmdFJhZGlpLCBib3R0b21SaWdodFJhZGlpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>