<?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>162598</bug_id>
          
          <creation_ts>2016-09-27 01:43:10 -0700</creation_ts>
          <short_desc>[GTK] Should check whether GDK can use GL before asking it to</short_desc>
          <delta_ts>2016-09-27 02:09:05 -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>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>
          
          
          <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="Gustavo Noronha (kov)">gustavo</reporter>
          <assigned_to name="Gustavo Noronha (kov)">gustavo</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1233768</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2016-09-27 01:43:10 -0700</bug_when>
    <thetext>[GTK] Should check whether GDK can use GL before asking it to</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233769</commentid>
    <comment_count>1</comment_count>
      <attachid>289924</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2016-09-27 01:49:09 -0700</bug_when>
    <thetext>Created attachment 289924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233773</commentid>
    <comment_count>2</comment_count>
      <attachid>289924</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-27 01:56:13 -0700</bug_when>
    <thetext>Comment on attachment 289924
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=289924&amp;action=review

Thanks. OK with a GTK+ bug report on bugzilla.gnome.org.

&gt; Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:79
&gt; +        g_warning(&quot;GDK is not able to create a GL context, falling back to glReadPixels: %s&quot;, error-&gt;message);

I would tweak this slightly to indicate that glReadPixels is slow:

&quot;falling back to glReadPixels (slow!): %s&quot;

&gt; Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreWayland.h:46
&gt; +    bool canGdkUseGL();

I think this function should probably be static, since it doesn&apos;t need any member variables. Otherwise, it should be const.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233775</commentid>
    <comment_count>3</comment_count>
      <attachid>289924</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-09-27 02:01:35 -0700</bug_when>
    <thetext>Comment on attachment 289924
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=289924&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreWayland.h:46
&gt;&gt; +    bool canGdkUseGL();
&gt; 
&gt; I think this function should probably be static, since it doesn&apos;t need any member variables. Otherwise, it should be const.

And we avoid including gtk.h in the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233776</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-09-27 02:03:32 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 289924 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=289924&amp;action=review
&gt; 
&gt; Thanks. OK with a GTK+ bug report on bugzilla.gnome.org.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:79
&gt; &gt; +        g_warning(&quot;GDK is not able to create a GL context, falling back to glReadPixels: %s&quot;, error-&gt;message);
&gt; 
&gt; I would tweak this slightly to indicate that glReadPixels is slow:
&gt; 
&gt; &quot;falling back to glReadPixels (slow!): %s&quot;

I would not, first because it&apos;s not accurate, it&apos;s fast in most desktops, but also because there&apos;s nothing the user can do, I&apos;m afraid. Or what&apos;s the reason why GL can&apos;t be used? missing libs the user needs to install? or drivers?

&gt; &gt; Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreWayland.h:46
&gt; &gt; +    bool canGdkUseGL();
&gt; 
&gt; I think this function should probably be static, since it doesn&apos;t need any
&gt; member variables. Otherwise, it should be const.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233778</commentid>
    <comment_count>5</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2016-09-27 02:09:05 -0700</bug_when>
    <thetext>Committed r206424: &lt;http://trac.webkit.org/changeset/206424&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289924</attachid>
            <date>2016-09-27 01:49:09 -0700</date>
            <delta_ts>2016-09-27 01:56:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162598-20160927104610.patch</filename>
            <type>text/plain</type>
            <size>4837</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjM3NTU3MzU5ZmI5ZDFh
ZDZlODQ1ZWVmNzViYWNmZjI0ODdiNGRkZi4uY2EzNmYwZDRjY2Y3OGNjNGMxNTE4YmJhM2RmMzhh
YmNhYmVjNWQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA5LTI3ICBHdXN0
YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgorCisg
ICAgICAgIFtHVEtdIFNob3VsZCBjaGVjayB3aGV0aGVyIEdESyBjYW4gdXNlIEdMIGJlZm9yZSBh
c2tpbmcgaXQgdG8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2MjU5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGdka19jYWlyb19kcmF3X2Zyb21fZ2wgY2FuIGZhaWwgZXZlbiB3aGVuIFdlYktpdCBpdHNl
bGYgaGFzIGJlZW4gYWJsZSB0byB1c2UgR0wgKGl0cworICAgICAgICBjb250ZXh0IGNyZWF0aW9u
IGNvZGUgbWlnaHQgYmUgYnVnZ3ksIEdMIG1heSBoYXZlIGJlZW4gZGlzYWJsZWQgdXNpbmcgR0RL
X0dMPWRpc2FibGUsIOKApikuCisgICAgICAgIFVuZm9ydHVuYXRlbHkgaXQgZG9lcyBub3QgaGF2
ZSBhbnkgZXJyb3IgcmVwb3J0aW5nIG90aGVyIHRoYW4gYSB3YXJuaW5nIHByaW50ZWQgdG8KKyAg
ICAgICAgc3RkZXJyLCBzbyB3ZSBjYW5ub3QgZmFsbGJhY2sgZnJvbSBpdC4gV2UgaGF2ZSB0byBm
aXJzdCBjaGVjayBpZiBHTCBjYW4gYmUgdXNlZCBieSBHREsKKyAgICAgICAgYnkgdHJ5aW5nIHRv
IGNyZWF0ZSBhIGNvbnRleHQuCisKKyAgICAgICAgU2VlIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0
LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTM3ODk4NworCisgICAgICAgICogVUlQcm9jZXNzL2d0ay9B
Y2NlbGVyYXRlZEJhY2tpbmdTdG9yZVdheWxhbmQuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2Nl
bGVyYXRlZEJhY2tpbmdTdG9yZVdheWxhbmQ6OmNhbkdka1VzZUdMKTogZGVjaWRlIHdoZXRoZXIg
R0RLIGNhbiB1c2UgR0wgYnkKKyAgICAgICAgdHJ5aW5nIHRvIGNyZWF0ZSBhIGNvbnRleHQgZm9y
IGEgR2RrV2luZG93LgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRlZEJhY2tpbmdTdG9yZVdh
eWxhbmQ6OnBhaW50KTogZmFsbGJhY2sgdG8gZ2xSZWFkUGl4ZWxzIGlmIEdESyBjYW5ub3QKKyAg
ICAgICAgdXNlIEdMLgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvQWNjZWxlcmF0ZWRCYWNraW5n
U3RvcmVXYXlsYW5kLmg6CisKIDIwMTYtMDktMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBbV0syXSBFbmFibGUgc3VwcG9ydCBmb3IgJ2Rvd25sb2FkJyBhdHRy
aWJ1dGUgb24gYW5jaG9yIGVsZW1lbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZ3RrL0FjY2VsZXJhdGVkQmFja2luZ1N0b3JlV2F5bGFuZC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZ3RrL0FjY2VsZXJhdGVkQmFja2luZ1N0b3JlV2F5bGFuZC5jcHAKaW5k
ZXggZDA4MzliMWU5ZGMxNDIzZjAzNTQ4N2VkOTQwYzQ5MDA3MjlmNzFiNy4uNzA4N2VkOTY1Nzk5
NDYzODE3N2FhY2IzYWU4ZTk5MDM0ZGMzNGI1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2d0ay9BY2NlbGVyYXRlZEJhY2tpbmdTdG9yZVdheWxhbmQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVXYXlsYW5k
LmNwcApAQCAtNjEsNiArNjEsMzEgQEAgQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVXYXlsYW5kOjp+
QWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVXYXlsYW5kKCkKICAgICBXYXlsYW5kQ29tcG9zaXRvcjo6
c2luZ2xldG9uKCkudW5yZWdpc3RlcldlYlBhZ2UobV93ZWJQYWdlKTsKIH0KIAorI2lmIEdUS19D
SEVDS19WRVJTSU9OKDMsIDE2LCAwKQorYm9vbCBBY2NlbGVyYXRlZEJhY2tpbmdTdG9yZVdheWxh
bmQ6OmNhbkdka1VzZUdMKCkKK3sKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplZCA9IGZhbHNl
OworICAgIHN0YXRpYyBib29sIGNhbkNyZWF0ZUdMQ29udGV4dCA9IGZhbHNlOworCisgICAgaWYg
KGluaXRpYWxpemVkKQorICAgICAgICByZXR1cm4gY2FuQ3JlYXRlR0xDb250ZXh0OworCisgICAg
aW5pdGlhbGl6ZWQgPSB0cnVlOworCisgICAgR1VuaXF1ZU91dFB0cjxHRXJyb3I+IGVycm9yOwor
ICAgIEdka1dpbmRvdyogZ2RrV2luZG93ID0gZ3RrX3dpZGdldF9nZXRfd2luZG93KG1fd2ViUGFn
ZS52aWV3V2lkZ2V0KCkpOworICAgIEdSZWZQdHI8R2RrR0xDb250ZXh0PiBnZGtDb250ZXh0KGdk
a193aW5kb3dfY3JlYXRlX2dsX2NvbnRleHQoZ2RrV2luZG93LCAmZXJyb3Iub3V0UHRyKCkpKTsK
KyAgICBpZiAoIWdka0NvbnRleHQpIHsKKyAgICAgICAgZ193YXJuaW5nKCJHREsgaXMgbm90IGFi
bGUgdG8gY3JlYXRlIGEgR0wgY29udGV4dCwgZmFsbGluZyBiYWNrIHRvIGdsUmVhZFBpeGVsczog
JXMiLCBlcnJvci0+bWVzc2FnZSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAg
ICBjYW5DcmVhdGVHTENvbnRleHQgPSB0cnVlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisjZW5k
aWYKKwogYm9vbCBBY2NlbGVyYXRlZEJhY2tpbmdTdG9yZVdheWxhbmQ6OnBhaW50KGNhaXJvX3Qq
IGNyLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkKIHsKICAgICBHTHVpbnQgdGV4dHVyZTsKQEAg
LTcyLDggKzk3LDEzIEBAIGJvb2wgQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVXYXlsYW5kOjpwYWlu
dChjYWlyb190KiBjciwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpCiAgICAgQWNjZWxlcmF0ZWRC
YWNraW5nU3RvcmU6OnBhaW50KGNyLCBjbGlwUmVjdCk7CiAKICNpZiBHVEtfQ0hFQ0tfVkVSU0lP
TigzLCAxNiwgMCkKLSAgICBnZGtfY2Fpcm9fZHJhd19mcm9tX2dsKGNyLCBndGtfd2lkZ2V0X2dl
dF93aW5kb3cobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSksIHRleHR1cmUsIEdMX1RFWFRVUkUsIG1f
d2ViUGFnZS5kZXZpY2VTY2FsZUZhY3RvcigpLCAwLCAwLCB0ZXh0dXJlU2l6ZS53aWR0aCgpLCB0
ZXh0dXJlU2l6ZS5oZWlnaHQoKSk7Ci0jZWxzZQorICAgIGlmIChjYW5HZGtVc2VHTCgpKSB7Cisg
ICAgICAgIGdka19jYWlyb19kcmF3X2Zyb21fZ2woY3IsIGd0a193aWRnZXRfZ2V0X3dpbmRvdyht
X3dlYlBhZ2Uudmlld1dpZGdldCgpKSwgdGV4dHVyZSwgR0xfVEVYVFVSRSwgbV93ZWJQYWdlLmRl
dmljZVNjYWxlRmFjdG9yKCksIDAsIDAsIHRleHR1cmVTaXplLndpZHRoKCksIHRleHR1cmVTaXpl
LmhlaWdodCgpKTsKKyAgICAgICAgY2Fpcm9fcmVzdG9yZShjcik7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyNlbmRpZgorCiAgICAgaWYgKCFtX3N1cmZhY2UgfHwgY2Fpcm9faW1hZ2Vf
c3VyZmFjZV9nZXRfd2lkdGgobV9zdXJmYWNlLmdldCgpKSAhPSB0ZXh0dXJlU2l6ZS53aWR0aCgp
IHx8IGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2hlaWdodChtX3N1cmZhY2UuZ2V0KCkpICE9IHRl
eHR1cmVTaXplLmhlaWdodCgpKQogICAgICAgICBtX3N1cmZhY2UgPSBhZG9wdFJlZihjYWlyb19p
bWFnZV9zdXJmYWNlX2NyZWF0ZShDQUlST19GT1JNQVRfQVJHQjMyLCB0ZXh0dXJlU2l6ZS53aWR0
aCgpLCB0ZXh0dXJlU2l6ZS5oZWlnaHQoKSkpOwogCkBAIC0xMjQsNyArMTU0LDYgQEAgYm9vbCBB
Y2NlbGVyYXRlZEJhY2tpbmdTdG9yZVdheWxhbmQ6OnBhaW50KGNhaXJvX3QqIGNyLCBjb25zdCBJ
bnRSZWN0JiBjbGlwUmVjdCkKICAgICBjYWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3IsIG1fc3Vy
ZmFjZS5nZXQoKSwgMCwgMCk7CiAgICAgY2Fpcm9fc2V0X29wZXJhdG9yKGNyLCBDQUlST19PUEVS
QVRPUl9PVkVSKTsKICAgICBjYWlyb19maWxsKGNyKTsKLSNlbmRpZgogCiAgICAgY2Fpcm9fcmVz
dG9yZShjcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvQWNj
ZWxlcmF0ZWRCYWNraW5nU3RvcmVXYXlsYW5kLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Z3RrL0FjY2VsZXJhdGVkQmFja2luZ1N0b3JlV2F5bGFuZC5oCmluZGV4IDRjNDIyMzU0OWVhMTI3
ZjU5M2M3MzBiYWMyNTI4ZWYyMjRjOGE5ZWIuLmU4ZGE3MGZhNjVhYTIzMGM1Zjk3MDljOTc0Zjkx
NzFlZGU5MzZhMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvQWNj
ZWxlcmF0ZWRCYWNraW5nU3RvcmVXYXlsYW5kLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2d0ay9BY2NlbGVyYXRlZEJhY2tpbmdTdG9yZVdheWxhbmQuaApAQCAtMzAsNiArMzAsNyBA
QAogI2lmIFBMQVRGT1JNKFdBWUxBTkQpCiAKICNpbmNsdWRlIDxXZWJDb3JlL1JlZlB0ckNhaXJv
Lmg+CisjaW5jbHVkZSA8Z3RrL2d0ay5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNDEs
NiArNDIsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZWxlcmF0
ZWRCYWNraW5nU3RvcmVXYXlsYW5kPiBjcmVhdGUoV2ViUGFnZVByb3h5Jik7CiAgICAgfkFjY2Vs
ZXJhdGVkQmFja2luZ1N0b3JlV2F5bGFuZCgpOwogCisjaWYgR1RLX0NIRUNLX1ZFUlNJT04oMywg
MTYsIDApCisgICAgYm9vbCBjYW5HZGtVc2VHTCgpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAg
QWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVXYXlsYW5kKFdlYlBhZ2VQcm94eSYpOwogCg==
</data>
<flag name="review"
          id="313112"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>