<?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>141178</bug_id>
          
          <creation_ts>2015-02-02 15:24:25 -0800</creation_ts>
          <short_desc>[WebGL2] Use Open GL ES 3.0 to back WebGL2 contexts</short_desc>
          <delta_ts>2016-04-11 14:42:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roger Fong">roger_fong</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>roger_fong</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1066262</commentid>
    <comment_count>0</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2015-02-02 15:24:25 -0800</bug_when>
    <thetext>We currently have a way to create a WebGL2 context, but this context still uses the old OpenGL/GLES headers and contexts.
We need it to use the new OpenGL headers (gl3.h?) and the GLES 3.0 resources.

Ideally I would like to simply replace all instances of gl.h with gl3.h and GLES2.0 with GLES3.0 but I’m not sure the newer stuff is fully backwards compatible with the older stuff.

I know that if I have to do this I’ll have to replace calls in WebKit that use various extension calls (like renderbufferStorageMultisampleEXT)

If I cannot do this, I’ll have to create two different GraphicsContexts, one for WebGL2 and one for WebGL1, which would be unfortunate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108682</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-07-10 11:01:27 -0700</bug_when>
    <thetext>I suggest you to take a look on libepoxy.

See https://bugs.webkit.org/show_bug.cgi?id=146680 for a summary of what this library can do, also check https://github.com/anholt/libepoxy

Maybe it can help with this problem ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182655</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-04-11 02:50:00 -0700</bug_when>
    <thetext>Repurposing this bug to be about adopting Open GL ES 3.0 as a backend for WebGL2 contexts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182656</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-04-11 02:52:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/25651492&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182657</commentid>
    <comment_count>4</comment_count>
      <attachid>276135</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-04-11 02:54:22 -0700</bug_when>
    <thetext>Created attachment 276135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182778</commentid>
    <comment_count>5</comment_count>
      <attachid>276135</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-11 12:10:10 -0700</bug_when>
    <thetext>Comment on attachment 276135
Patch

I wonder if there is a way to test this. Maybe by getParameter(RENDERER)? Although &quot;This name is typically specific to a particular configuration of a hardware platform. It does not change from release to release.&quot;

Hmm, UNMASKED_RENDERER_WEBGL should probably work. You&apos;d need to get it via the https://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/ extension. I think we have a testcase that can be used as a base.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182813</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-11 13:42:57 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; 
&gt; Hmm, UNMASKED_RENDERER_WEBGL should probably work. You&apos;d need to get it via
&gt; the
&gt; https://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/
&gt; extension. I think we have a testcase that can be used as a base.

It doesn&apos;t. 

gl.getParameter(extension.UNMASKED_RENDERER_WEBGL) on an iOS device gives something like

Apple A8X GPU</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182817</commentid>
    <comment_count>7</comment_count>
      <attachid>276135</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-11 13:52:15 -0700</bug_when>
    <thetext>Comment on attachment 276135
Patch

Adding r+. I think we want to expose something via Internals that allows us to get more info on the context being used. Can you file a bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182831</commentid>
    <comment_count>8</comment_count>
      <attachid>276135</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-11 14:42:10 -0700</bug_when>
    <thetext>Comment on attachment 276135
Patch

Clearing flags on attachment: 276135

Committed r199314: &lt;http://trac.webkit.org/changeset/199314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182832</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-11 14:42:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276135</attachid>
            <date>2016-04-11 02:54:22 -0700</date>
            <delta_ts>2016-04-11 14:42:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141178-20160411115429.patch</filename>
            <type>text/plain</type>
            <size>3706</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5MjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmU5MTY5Y2JlNjUyNjg5
YjNjNTUyNGU5NWJhZTA1OTZkZTQ3Mzg1NS4uN2FkNzZhN2MyNzQ4MDNiYmJlMWQyOWVhZjc1MDlk
MDAxOTI4MTkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA0LTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdMMl0gVXNlIE9w
ZW4gR0wgRVMgMy4wIHRvIGJhY2sgV2ViR0wyIGNvbnRleHRzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDExNzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBhZGQgYSBuZXcgYHVzZUdMRVMzYCBhdHRy
aWJ1dGUgd2hlbiBjcmVhdGluZyBhIEdyYXBoaWNzQ29udGV4dDNEIGluIHRoZSBldmVudCB0aGF0
IHRoZQorICAgICAgICBjb250ZXh0IHR5cGUgaXMgIndlYmdsMiIuIFRoaXMgYXR0cmlidXRlIGlz
IHRoZW4gcmVhZCBieSB0aGUgR3JhcGhpY3NDb250ZXh0M0QgY29uc3RydWN0b3IKKyAgICAgICAg
dG8gcmVxdWVzdCBhbiBPcGVuIEdMIEVTIDMuMCBiYWNrZW5kIHdoZW4gY3JlYXRpbmcgdGhlIEVB
R0xDb250ZXh0IG9uIGlPUy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5oOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXM6
OkF0dHJpYnV0ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0Nv
bnRleHQzRE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpHcmFw
aGljc0NvbnRleHQzRCk6CisKIDIwMTYtMDQtMDggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lZWRlZCBVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxs
YWJsZU9iamVjdEFyZ3VtZW50cyBmcm9tIGV2ZW50IGNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5k
ZXggZGRlYjM5NWY1MDk4ZDlhMjExMWU2NjBkYjUyYmIyN2FmMjgzM2E1My4uYjIzNjMwNWQ0N2Nk
NTRhMWJiY2YyMWRkMDg2YWI4YzY0M2I1NmJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKQEAgLTQwMCw2
ICs0MDAsMTEgQEAgc3RkOjp1bmlxdWVfcHRyPFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U+IFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNyZWF0ZShIVE0KICAgICBpZiAocGFnZSkKICAgICAg
ICAgYXR0cmlidXRlcy5kZXZpY2VQaXhlbFJhdGlvID0gcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3Io
KTsKIAorI2lmIEVOQUJMRShXRUJHTDIpCisgICAgaWYgKHR5cGUgPT0gIndlYmdsMiIpCisgICAg
ICAgIGF0dHJpYnV0ZXMudXNlR0xFUzMgPSB0cnVlOworI2VuZGlmCisKICAgICBpZiAoaXNQZW5k
aW5nUG9saWN5UmVzb2x1dGlvbikgewogICAgICAgICBMT0coV2ViR0wsICJDcmVhdGUgYSBXZWJH
TCBjb250ZXh0IHRoYXQgbG9va3MgcmVhbCwgYnV0IHdpbGwgcmVxdWlyZSBhIHBvbGljeSByZXNv
bHV0aW9uIGlmIHVzZWQuIik7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlPiByZW5kZXJpbmdDb250ZXh0ID0gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IGRi
YmJjZjU4YzM3YjlhNmIxNjRkNmYxMzUxY2Q2ZTE1ZWI0MWQ4NTMuLmNlN2ZhYTA5ODM4NjYwMmQ1
YWQwN2VkZWJkN2RlYTc3YzZhZDA1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAtNzI4LDYgKzcyOCw3IEBAIHB1
YmxpYzoKICAgICAgICAgICAgICwgc2hhcmVSZXNvdXJjZXModHJ1ZSkKICAgICAgICAgICAgICwg
cHJlZmVyRGlzY3JldGVHUFUoZmFsc2UpCiAgICAgICAgICAgICAsIGZvcmNlU29mdHdhcmVSZW5k
ZXJlcihmYWxzZSkKKyAgICAgICAgICAgICwgdXNlR0xFUzMoZmFsc2UpCiAgICAgICAgICAgICAs
IGRldmljZVBpeGVsUmF0aW8oMSkKICAgICAgICAgewogICAgICAgICB9CkBAIC03NDIsNiArNzQz
LDcgQEAgcHVibGljOgogICAgICAgICBib29sIHNoYXJlUmVzb3VyY2VzOwogICAgICAgICBib29s
IHByZWZlckRpc2NyZXRlR1BVOwogICAgICAgICBib29sIGZvcmNlU29mdHdhcmVSZW5kZXJlcjsK
KyAgICAgICAgYm9vbCB1c2VHTEVTMzsKICAgICAgICAgZmxvYXQgZGV2aWNlUGl4ZWxSYXRpbzsK
ICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KaW5kZXggMGE1ZTgyMjQwZDc2NDAzMmZk
NjQ5YmQ2ZDc5Zjc3MDFiYzEwNDE2Mi4uMjVjYmU0YTI3OWQ4NDVjOWRhNDg3OTE2Zjk4YmFiNDAy
OWY0MzViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQpAQCAtMTU2LDcgKzE1Niw4IEBAIEdy
YXBoaWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRChHcmFwaGljc0NvbnRleHQzRDo6QXR0
cmlidXRlcyBhdHRycywgSG9zdFdpCiAgICAgVU5VU0VEX1BBUkFNKHJlbmRlclN0eWxlKTsKIAog
I2lmIFBMQVRGT1JNKElPUykKLSAgICBtX2NvbnRleHRPYmogPSBbW0VBR0xDb250ZXh0IGFsbG9j
XSBpbml0V2l0aEFQSTprRUFHTFJlbmRlcmluZ0FQSU9wZW5HTEVTMl07CisgICAgRUFHTFJlbmRl
cmluZ0FQSSBhcGkgPSBtX2F0dHJzLnVzZUdMRVMzID8ga0VBR0xSZW5kZXJpbmdBUElPcGVuR0xF
UzMgOiBrRUFHTFJlbmRlcmluZ0FQSU9wZW5HTEVTMjsKKyAgICBtX2NvbnRleHRPYmogPSBbW0VB
R0xDb250ZXh0IGFsbG9jXSBpbml0V2l0aEFQSTphcGldOwogICAgIG1ha2VDb250ZXh0Q3VycmVu
dCgpOwogI2Vsc2UKICAgICBWZWN0b3I8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+IGF0dHJpYnM7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>