<?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>261870</bug_id>
          
          <creation_ts>2023-09-21 04:06:19 -0700</creation_ts>
          <short_desc>REGRESSION(267646@main): [TextureMapper][WPE] 2.42 doesn&apos;t render anything on the rpi3 with the proprietary drivers</short_desc>
          <delta_ts>2023-12-19 12:18:48 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=261101</see_also>
          <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="Fujii Hironori">fujii</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>fujii</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1978945</commentid>
    <comment_count>0</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2023-09-21 04:06:19 -0700</bug_when>
    <thetext>I&apos;ve bisected the problem to e9cc37c74045a5ceaa356c37802b1dbddaec0775.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1979157</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-09-21 15:34:21 -0700</bug_when>
    <thetext>I guess the shader compiler is reporting an error.
You can check it by enabling debug logging. WebCoreLogging=Compositing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1979267</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-09-21 21:52:59 -0700</bug_when>
    <thetext>GTK used WEBKIT_DEBUG env var.
https://docs.webkit.org/Build%20%26%20Debug/Logging.html#linux</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1996820</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2023-12-04 12:45:28 -0800</bug_when>
    <thetext>Hi Miguel, can you check the debug logging and report back for Fujii please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1997641</commentid>
    <comment_count>4</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2023-12-07 06:34:04 -0800</bug_when>
    <thetext>These are the errors coming from the shader program:

Program log: ERROR:OPTIMIZER-3 (fragment shader, line 48) Support for for loops is restricted : right side of condition expression must be constant

Program log: ERROR:OPTIMIZER-3 (fragment shader, line 49) Support for for loops is restricted : right side of condition expression must be constant

The problem seems to be the loops in the applyBlurFilter and applyAlphaBlur functions. The loop condition is i &lt; u_gaussianKernelHalfSize, but u_gaussianKernelHalfSize is an uniform, not a constant.

I guess there are some limitations to what rpi3 proprietary drivers can do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1997746</commentid>
    <comment_count>5</comment_count>
      <attachid>468928</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-12-07 13:29:23 -0800</bug_when>
    <thetext>Created attachment 468928
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1998431</commentid>
    <comment_count>6</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2023-12-10 03:52:35 -0800</bug_when>
    <thetext>It seems this is not a problem on rpi3, but a problem wiht GLES2. 

From the specs in https://registry.khronos.org/OpenGL/specs/es/2.0/GLSL_ES_Specification_1.00.pdf :


In general, control flow is limited to forward branching and to loops where the maximum number of iterations can easily be determined at compile time.

[…]

for loops are supported but with the following restrictions:

[…]

The for statement has the form:
for ( init-declaration ; condition ; expression ) statement
[…]

condition has the form
loop_index relational_operator constant_expression
where relational_operator is one of: &gt; &gt;= &lt; &lt;= == or !=

When working on the desktop, eglCreate context is probably returning a GLES3 context even when we request a GLES2 one (the specs state that it may return a backwards compatible version). When this happens, the error doesn&apos;t trigger because GLES3 doesn&apos;t have the loop limitation.

But the rpi3 supports GLES2 only and that&apos;s why the problem reproduces there. Fujii, the condition you&apos;re looking for in your patch is something like GLContext::current()-&gt;version() &lt;= 200, which means that were using GLES2. But this needs to checked at runtime and not during compilation, so a change in the approach is required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1999806</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-12-14 20:52:13 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/21847</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2000808</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-12-19 12:18:46 -0800</bug_when>
    <thetext>Committed 272287@main (767a3b1ebacc): &lt;https://commits.webkit.org/272287@main&gt;

Reviewed commits have been landed. Closing PR #21847 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468928</attachid>
            <date>2023-12-07 13:29:23 -0800</date>
            <delta_ts>2023-12-07 13:29:23 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>3466</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyLmNwcA0KaW5kZXggY2MwMTYxMTI5MmYwLi4wZTNjZTJiYTNlNTYgMTAwNjQ0
DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlci5jcHANCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyLmNwcA0KQEAgLTg3MCw4ICs4NzAsOSBAQCB2b2lkIFRleHR1cmVNYXBwZXI6
OmRyYXdCbHVycmVkKGNvbnN0IEJpdG1hcFRleHR1cmUmIHNvdXJjZVRleHR1cmUsIGNvbnN0IEZs
b2F0Ug0KICAgICBhdXRvIGRpcmVjdGlvblZlY3RvciA9IGRpcmVjdGlvbiA9PSBEaXJlY3Rpb246
OlggPyBGbG9hdFBvaW50KDEsIDApIDogRmxvYXRQb2ludCgwLCAxKTsNCiAgICAgZ2xVbmlmb3Jt
MmYocHJvZ3JhbS0+Ymx1ckRpcmVjdGlvbkxvY2F0aW9uKCksIGRpcmVjdGlvblZlY3Rvci54KCks
IGRpcmVjdGlvblZlY3Rvci55KCkpOw0KIA0KLSAgICBzdGQ6OmFycmF5PGZsb2F0LCBTaW1wbGlm
aWVkR2F1c3NpYW5LZXJuZWxNYXhIYWxmU2l6ZT4ga2VybmVsOw0KLSAgICBzdGQ6OmFycmF5PGZs
b2F0LCBTaW1wbGlmaWVkR2F1c3NpYW5LZXJuZWxNYXhIYWxmU2l6ZT4gb2Zmc2V0Ow0KKyAgICAv
LyBaZXJvLWZpbGxlZCBhcnJheXMgZm9yIFJQSTNfQ09OU1RBTlRfUklHSFRfQ09ORElUSU9ODQor
ICAgIHN0ZDo6YXJyYXk8ZmxvYXQsIFNpbXBsaWZpZWRHYXVzc2lhbktlcm5lbE1heEhhbGZTaXpl
PiBrZXJuZWwgPSB7IH07DQorICAgIHN0ZDo6YXJyYXk8ZmxvYXQsIFNpbXBsaWZpZWRHYXVzc2lh
bktlcm5lbE1heEhhbGZTaXplPiBvZmZzZXQgPSB7IH07DQogICAgIGludCBzaW1wbGlmaWVkS2Vy
bmVsSGFsZlNpemUgPSBjb21wdXRlR2F1c3NpYW5LZXJuZWwocmFkaXVzLCBrZXJuZWwsIG9mZnNl
dCk7DQogICAgIGdsVW5pZm9ybTFmdihwcm9ncmFtLT5nYXVzc2lhbktlcm5lbExvY2F0aW9uKCks
IFNpbXBsaWZpZWRHYXVzc2lhbktlcm5lbE1heEhhbGZTaXplLCBrZXJuZWwuZGF0YSgpKTsNCiAg
ICAgZ2xVbmlmb3JtMWZ2KHByb2dyYW0tPmdhdXNzaWFuS2VybmVsT2Zmc2V0TG9jYXRpb24oKSwg
U2ltcGxpZmllZEdhdXNzaWFuS2VybmVsTWF4SGFsZlNpemUsIG9mZnNldC5kYXRhKCkpOw0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVyU2hhZGVyUHJvZ3JhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlclNoYWRlclByb2dyYW0uY3BwDQppbmRleCA4YTA3MTQ1NTAw
ZTMuLjllMmE4MzgyZDlkZCAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyU2hhZGVyUHJvZ3JhbS5jcHANCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyU2hhZGVyUHJv
Z3JhbS5jcHANCkBAIC0xNDQsNyArMTQ0LDEyIEBAIHN0YXRpYyBjb25zdCBjaGFyKiB2ZXJ0ZXhU
ZW1wbGF0ZUNvbW1vbiA9DQogI2RlZmluZSBFTkFCTEVfQVBQTElFUihOYW1lKSAiI2RlZmluZSBF
TkFCTEVfIiNOYW1lIlxuI2RlZmluZSBhcHBseSIjTmFtZSJJZk5lZWRlZCBhcHBseSIjTmFtZSJc
biINCiAjZGVmaW5lIERJU0FCTEVfQVBQTElFUihOYW1lKSAiI2RlZmluZSBhcHBseSIjTmFtZSJJ
Zk5lZWRlZCBub29wXG4iDQogI2RlZmluZSBCTFVSX0NPTlNUQU5UUyBcDQotICAgIEdMU0xfRElS
RUNUSVZFKGRlZmluZSBHQVVTU0lBTl9LRVJORUxfTUFYX0hBTEZfU0laRSA2KQ0KKyAgICBHTFNM
X0RJUkVDVElWRShkZWZpbmUgR0FVU1NJQU5fS0VSTkVMX01BWF9IQUxGX1NJWkUgNikgXA0KKyAg
ICBHTFNMX0RJUkVDVElWRShpZmRlZiBSUEkzX0NPTlNUQU5UX1JJR0hUX0NPTkRJVElPTikgXA0K
KyAgICAgICAgR0xTTF9ESVJFQ1RJVkUoZGVmaW5lIEdhdXNzaWFuS2VybmVsSGFsZlNpemUgR0FV
U1NJQU5fS0VSTkVMX01BWF9IQUxGX1NJWkUpIFwNCisgICAgR0xTTF9ESVJFQ1RJVkUoZWxzZSkg
XA0KKyAgICAgICAgR0xTTF9ESVJFQ1RJVkUoZGVmaW5lIEdhdXNzaWFuS2VybmVsSGFsZlNpemUg
dV9nYXVzc2lhbktlcm5lbEhhbGZTaXplKSBcDQorICAgIEdMU0xfRElSRUNUSVZFKGVuZGlmKQ0K
IA0KIA0KICNkZWZpbmUgT0VTX0VHTF9JTUFHRV9FWFRFUk5BTF9ESVJFQ1RJVkUgXA0KQEAgLTM2
Miw3ICszNjcsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogZnJhZ21lbnRUZW1wbGF0ZUNvbW1vbiA9
DQogDQogICAgICAgICAgICAgdmVjNCB0b3RhbCA9IHRleHR1cmUyRChzX3NhbXBsZXIsIHRleENv
b3JkKSAqIHVfZ2F1c3NpYW5LZXJuZWxbMF07DQogDQotICAgICAgICAgICAgZm9yIChpbnQgaSA9
IDE7IGkgPCB1X2dhdXNzaWFuS2VybmVsSGFsZlNpemU7IGkrKykgew0KKyAgICAgICAgICAgIGZv
ciAoaW50IGkgPSAxOyBpIDwgR2F1c3NpYW5LZXJuZWxIYWxmU2l6ZTsgaSsrKSB7DQogICAgICAg
ICAgICAgICAgIHZlYzIgb2Zmc2V0ID0gc3RlcCAqIHVfZ2F1c3NpYW5LZXJuZWxPZmZzZXRbaV07
DQogICAgICAgICAgICAgICAgIHRvdGFsICs9IHRleHR1cmUyRChzX3NhbXBsZXIsIGNsYW1wKHRl
eENvb3JkICsgb2Zmc2V0LCBtaW4sIG1heCkpICogdV9nYXVzc2lhbktlcm5lbFtpXTsNCiAgICAg
ICAgICAgICAgICAgdG90YWwgKz0gdGV4dHVyZTJEKHNfc2FtcGxlciwgY2xhbXAodGV4Q29vcmQg
LSBvZmZzZXQsIG1pbiwgbWF4KSkgKiB1X2dhdXNzaWFuS2VybmVsW2ldOw0KQEAgLTM3OSw3ICsz
ODQsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogZnJhZ21lbnRUZW1wbGF0ZUNvbW1vbiA9DQogDQog
ICAgICAgICAgICAgZmxvYXQgdG90YWwgPSB0ZXh0dXJlMkQoc19zYW1wbGVyLCB0ZXhDb29yZCku
YSAqIHVfZ2F1c3NpYW5LZXJuZWxbMF07DQogDQotICAgICAgICAgICAgZm9yIChpbnQgaSA9IDE7
IGkgPCB1X2dhdXNzaWFuS2VybmVsSGFsZlNpemU7IGkrKykgew0KKyAgICAgICAgICAgIGZvciAo
aW50IGkgPSAxOyBpIDwgR2F1c3NpYW5LZXJuZWxIYWxmU2l6ZTsgaSsrKSB7DQogICAgICAgICAg
ICAgICAgIHZlYzIgb2Zmc2V0ID0gc3RlcCAqIHVfZ2F1c3NpYW5LZXJuZWxPZmZzZXRbaV07DQog
ICAgICAgICAgICAgICAgIHRvdGFsICs9IHRleHR1cmUyRChzX3NhbXBsZXIsIGNsYW1wKHRleENv
b3JkICsgb2Zmc2V0LCBtaW4sIG1heCkpLmEgKiB1X2dhdXNzaWFuS2VybmVsW2ldOw0KICAgICAg
ICAgICAgICAgICB0b3RhbCArPSB0ZXh0dXJlMkQoc19zYW1wbGVyLCBjbGFtcCh0ZXhDb29yZCAt
IG9mZnNldCwgbWluLCBtYXgpKS5hICogdV9nYXVzc2lhbktlcm5lbFtpXTsNCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>