<?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>278908</bug_id>
          
          <creation_ts>2024-08-30 02:06:09 -0700</creation_ts>
          <short_desc>[GTK][WPE][Skia] Invalid result or crash when painting an accelerated ImageBitmap into WebGL</short_desc>
          <delta_ts>2024-11-26 01:06:15 -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>WebKitGTK</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=283704</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="Pawel Lampe">plampe</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>plampe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2056496</commentid>
    <comment_count>0</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2024-08-30 02:06:09 -0700</bug_when>
    <thetext>A common pattern when rendering to WebGL is creating an ImageBitmap, rendering into it, and then uploading the result into a WebGL texture. This is typically done for text rendering, for example.

When the created ImageBitmap is big enough, it&apos;s created as accelerated, which means that it&apos;s backed by a gl texture instead of a normal buffer. In this case, trying to render the content of that ImageBitmap won&apos;t work as expected. It may cause a crash or fail to actually render properly.

The problem can be avoided by not accelerating ImageBitmaps, which is why I know that the problem is related to the accelerated ones. It can be reproduced with https://strike.lightningjs.io/es6/#home where the rendering will be wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2057560</commentid>
    <comment_count>1</comment_count>
      <attachid>472446</attachid>
    <who name="Pawel Lampe">plampe</who>
    <bug_when>2024-09-04 05:48:20 -0700</bug_when>
    <thetext>Created attachment 472446
minimal reproducing example</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2057561</commentid>
    <comment_count>2</comment_count>
    <who name="Pawel Lampe">plampe</who>
    <bug_when>2024-09-04 05:50:48 -0700</bug_when>
    <thetext>The issue is about worker with context B creating accelerated ImageBitmap, transferring it (with ownership) to the main, and the main thread with context A using such ImageBitmap (context B) in texImage2D() and therefore leading to failure of when reading pixels - due to skia GrDirectContext mismatch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2057588</commentid>
    <comment_count>3</comment_count>
    <who name="Pawel Lampe">plampe</who>
    <bug_when>2024-09-04 08:18:19 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/33122</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2059705</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-09-12 09:56:34 -0700</bug_when>
    <thetext>Committed 283563@main (b2b8d3a40c38): &lt;https://commits.webkit.org/283563@main&gt;

Reviewed commits have been landed. Closing PR #33122 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>472446</attachid>
            <date>2024-09-04 05:48:20 -0700</date>
            <delta_ts>2024-09-04 05:48:20 -0700</delta_ts>
            <desc>minimal reproducing example</desc>
            <filename>index.html</filename>
            <type>text/html</type>
            <size>3624</size>
            <attacher name="Pawel Lampe">plampe</attacher>
            
              <data encoding="base64">PGh0bWw+CiAgPGhlYWQ+CiAgICA8c2NyaXB0IGlkPSdteVdvcmtlcicgdHlwZT0ndGV4dC93b3Jr
ZXInPgogICAgICBzZWxmLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1zZykgewogICAgICAgICAgdmFy
IGltZyA9IG1zZy5kYXRhOwogICAgICAgICAgY29uc29sZS5sb2coImdvdCBtc2cgZnJvbSBtYWlu
OiIgKyBpbWcpOwogICAgICAgICAgdmFyIGdldE9mZnNjcmVlbkNhbnZhc0ZvckZpbHRlciA9IGZ1
bmN0aW9uKGZpbHRlciwgcGF0dGVybikgewogICAgICAgICAgICAgIHZhciBvYyA9IG5ldyBPZmZz
Y3JlZW5DYW52YXMoODAsIDgwKTsKICAgICAgICAgICAgICB2YXIgb2ZmQ3R4ID0gb2MuZ2V0Q29u
dGV4dCgnMmQnKTsKICAgICAgICAgICAgICBvZmZDdHguZmlsdGVyID0gZmlsdGVyOwogICAgICAg
ICAgICAgIG9mZkN0eC5kcmF3SW1hZ2UocGF0dGVybiwgNSwgNSk7CiAgICAgICAgICAgICAgb2Zm
Q3R4LmRyYXdJbWFnZShwYXR0ZXJuLCAyNSwgMjUpOwogICAgICAgICAgICAgIG9mZkN0eC5kcmF3
SW1hZ2UocGF0dGVybiwgNDUsIDQ1KTsKICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygib2Zm
Q3R4OiAiICsgb2ZmQ3R4LmdldEltYWdlRGF0YSgwLCAwLCA4MCwgODApLmRhdGEpOwogICAgICAg
ICAgICAgIHJldHVybiBvYzsKICAgICAgICAgIH07CgogICAgICAgICAgdmFyIG9jID0gZ2V0T2Zm
c2NyZWVuQ2FudmFzRm9yRmlsdGVyKCdub25lJywgaW1nKTsKICAgICAgICAgIHZhciBpbWFnZUJp
dG1hcCA9IG9jLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpOwogICAgICAgICAgc2VsZi5wb3N0TWVz
c2FnZShpbWFnZUJpdG1hcCk7CiAgICAgIH07CiAgICA8L3NjcmlwdD4KICA8L2hlYWQ+CiAgPGJv
ZHk+CiAgICA8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI1MDAiIGhlaWdodD0iMjAwIiBzdHls
ZT0iYm9yZGVyOiAxcHggc29saWQgIzAwMCIvPgogICAgPHNjcmlwdD4KICAgICAgdmFyIGNyZWF0
ZVBhdHRlcm5DYW52YXMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciBwYXR0ZXJuQ2FudmFz
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgICAgICBwYXR0ZXJuQ2Fu
dmFzLndpZHRoID0gMjA7CiAgICAgICAgICBwYXR0ZXJuQ2FudmFzLmhlaWdodCA9IDIwOwogICAg
ICAgICAgdmFyIHBhdHRlcm5DdHggPSBwYXR0ZXJuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAg
ICAgICAgICBwYXR0ZXJuQ3R4LmZpbGxTdHlsZSA9ICcjQTAwJzsKICAgICAgICAgIHBhdHRlcm5D
dHguZmlsbFJlY3QoMCwgMCwgMTAsIDEwKTsKICAgICAgICAgIHBhdHRlcm5DdHguZmlsbFN0eWxl
ID0gJyMwQTAnOwogICAgICAgICAgcGF0dGVybkN0eC5maWxsUmVjdCgxMCwgMCwgMTAsIDEwKTsK
ICAgICAgICAgIHBhdHRlcm5DdHguZmlsbFN0eWxlID0gJyMwMEEnOwogICAgICAgICAgcGF0dGVy
bkN0eC5maWxsUmVjdCgwLCAxMCwgMTAsIDEwKTsKICAgICAgICAgIHBhdHRlcm5DdHguZmlsbFN0
eWxlID0gIiNBQTAiOwogICAgICAgICAgcGF0dGVybkN0eC5maWxsUmVjdCgxMCwgMTAsIDEwLCAx
MCk7CiAgICAgICAgICByZXR1cm4gcGF0dGVybkNhbnZhczsKICAgICAgfTsKICAgICAgLy8gdmFy
IGdldFJlZ3VsYXJDb250ZXh0Rm9yRmlsdGVyID0gZnVuY3Rpb24oZmlsdGVyLCBwYXR0ZXJuKSB7
CiAgICAgIC8vICAgICB2YXIgYyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOwog
ICAgICAvLyAgICAgYy53aWR0aCA9IGMuaGVpZ2h0ID0gODA7CiAgICAgIC8vICAgICB2YXIgY3R4
ID0gYy5nZXRDb250ZXh0KCcyZCcpOwogICAgICAvLyAgICAgY29uc29sZS5sb2coJ2dldFJlZ3Vs
YXJDb250ZXh0Rm9yRmlsdGVyOicrZmlsdGVyKTsKICAgICAgLy8gICAgIGN0eC5maWx0ZXIgPSBm
aWx0ZXI7CiAgICAgIC8vICAgICBjdHguZHJhd0ltYWdlKHBhdHRlcm4sIDUsIDUpOwogICAgICAv
LyAgICAgY3R4LmRyYXdJbWFnZShwYXR0ZXJuLCAyNSwgMjUpOwogICAgICAvLyAgICAgY3R4LmRy
YXdJbWFnZShwYXR0ZXJuLCA0NSwgNDUpOwogICAgICAvLyAgICAgcmV0dXJuIGN0eDsKICAgICAg
Ly8gfTsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXS5vbmxv
YWQgPSBhc3luYyAoKSA9PiB7CiAgICAgICAgICB2YXIgcGF0dGVybkNhbnZhcyA9IGNyZWF0ZVBh
dHRlcm5DYW52YXMoKTsKICAgICAgICAgIC8vIGdldFJlZ3VsYXJDb250ZXh0Rm9yRmlsdGVyKCJu
b25lIiwgcGF0dGVybkNhbnZhcyk7CiAgICAgICAgICB2YXIgcGF0dGVybiA9IGF3YWl0IGNyZWF0
ZUltYWdlQml0bWFwKHBhdHRlcm5DYW52YXMpOwogICAgICAgICAgaWYgKHRydWUpIHsKICAgICAg
ICAgICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwog
ICAgICAgICAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgICAg
ICAgICBjdHguZHJhd0ltYWdlKHBhdHRlcm4sIDUsIDUpOwogICAgICAgICAgfQogICAgICAgICAg
Ly8gc3luYwogICAgICAgICAgLy8gdmFyIG9jID0gbmV3IE9mZnNjcmVlbkNhbnZhcyg4MCwgODAp
OwogICAgICAgICAgLy8gdmFyIG9mZkN0eCA9IG9jLmdldENvbnRleHQoJzJkJyk7CiAgICAgICAg
ICAvLyBvZmZDdHguZmlsdGVyID0gJ2JsdXIoMTBweCknOwogICAgICAgICAgLy8gb2ZmQ3R4LmRy
YXdJbWFnZShwYXR0ZXJuLCA1LCA1KTsKICAgICAgICAgIC8vIG9mZkN0eC5kcmF3SW1hZ2UocGF0
dGVybiwgMjUsIDI1KTsKICAgICAgICAgIC8vIG9mZkN0eC5kcmF3SW1hZ2UocGF0dGVybiwgNDUs
IDQ1KTsKICAgICAgICAgIC8vIHZhciBvY0ltYWdlQml0bWFwID0gb2MudHJhbnNmZXJUb0ltYWdl
Qml0bWFwKCk7CiAgICAgICAgICAvLyB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNhbnZhcyIpOwogICAgICAgICAgLy8gdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOwogICAgICAgICAgLy8gY3R4LmRyYXdJbWFnZShvY0ltYWdlQml0bWFwLCAwLCAwKTsKCiAg
ICAgICAgICAvLyB3b3JrZXJzOgogICAgICAgICAgdmFyIGJsb2IgPSBuZXcgQmxvYihbZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ215V29ya2VyJykudGV4dENvbnRlbnRdKTsKICAgICAgICAgIHZh
ciB3b3JrZXIgPSBuZXcgV29ya2VyKFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYikpOwogICAgICAg
ICAgd29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBtc2cgPT4gewogICAgICAgICAg
ICAgIGNvbnNvbGUubG9nKCJnb3QgbXNnIGZyb20gd29ya2VyOiIgKyBtc2cuZGF0YSk7CiAgICAg
ICAgICAgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsK
ICAgICAgICAgICAgICB2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAgICAgICAg
ICAgICAgY3R4LmRyYXdJbWFnZShtc2cuZGF0YSwgODAsIDApOwogICAgICAgICAgfSk7CiAgICAg
ICAgICB3b3JrZXIucG9zdE1lc3NhZ2UocGF0dGVybiwgW3BhdHRlcm5dKTsgLy8gaGVyZSdzIHRo
ZSB0aGluZwogICAgICAgICAgLy8gd29ya2VyLnBvc3RNZXNzYWdlKHBhdHRlcm4pOwogICAgICB9
CiAgICA8L3NjcmlwdD4KICA8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>