<?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>154965</bug_id>
          
          <creation_ts>2016-03-03 03:50:42 -0800</creation_ts>
          <short_desc>[TextureMapper] Use RGBA format for textures attached to framebuffers</short_desc>
          <delta_ts>2016-03-07 01:21:12 -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>WebCore Misc.</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="Nobody">webkit-unassigned</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>peavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1170180</commentid>
    <comment_count>0</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2016-03-03 03:50:42 -0800</bug_when>
    <thetext>BitmapTextureGL internal textures always use BGRA format when the GL_EXT_texture_format_BGRA8888 extension is available, which is good for uploading data to them. But if those textures are not used to upload data, but to be attached to framebuffers, using BGRA can be a problem in some platforms (for example the RPi, where currently a BGRA texture can&apos;t be attached to a framebuffer). So, in general, using RGBA for attachment textures would be more standard and platform-friendly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170181</commentid>
    <comment_count>1</comment_count>
      <attachid>272751</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2016-03-03 04:14:18 -0800</bug_when>
    <thetext>Created attachment 272751
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170182</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-03 04:15:22 -0800</bug_when>
    <thetext>Attachment 272751 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp:79:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp:91:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 2 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170219</commentid>
    <comment_count>3</comment_count>
      <attachid>272751</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-03 09:09:40 -0800</bug_when>
    <thetext>Comment on attachment 272751
Patch

Clearing flags on attachment: 272751

Committed r197506: &lt;http://trac.webkit.org/changeset/197506&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170220</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-03 09:09:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171533</commentid>
    <comment_count>5</comment_count>
    <who name="">peavo</who>
    <bug_when>2016-03-07 00:18:35 -0800</bug_when>
    <thetext>There might be a small typo in line 95 in BitmapTexturePool.cpp.
Should we be getting the size of m_attachmentTextures instead of m_textures?

93	        for (size_t i = 0; i &lt; m_attachmentTextures.size(); ++i) {
94	            if (m_attachmentTextures[i].m_lastUsedTime &lt; minUsedTime) {
95	                m_attachmentTextures.remove(i, m_textures.size() - i);
96	                break;
97	            }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171541</commentid>
    <comment_count>6</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2016-03-07 01:21:12 -0800</bug_when>
    <thetext>&gt; There might be a small typo in line 95 in BitmapTexturePool.cpp.
&gt; Should we be getting the size of m_attachmentTextures instead of m_textures?
&gt; 
&gt; 93	        for (size_t i = 0; i &lt; m_attachmentTextures.size(); ++i) {
&gt; 94	            if (m_attachmentTextures[i].m_lastUsedTime &lt; minUsedTime) {
&gt; 95	                m_attachmentTextures.remove(i, m_textures.size() - i);
&gt; 96	                break;
&gt; 97	            }

You&apos;re totally right! I&apos;ve created a follow up in https://bugs.webkit.org/show_bug.cgi?id=155105 and I&apos;ll send a fix in a while.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272751</attachid>
            <date>2016-03-03 04:14:18 -0800</date>
            <delta_ts>2016-03-03 09:09:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154965-20160303131402.patch</filename>
            <type>text/plain</type>
            <size>12634</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3NTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWNlNDBmMThmMTU2NmRl
NDBlOTM1MWY0Njc5MDc3NDk5YWVhZDMzMS4uYWU4MmY4MzczNmU5YjlmZDRhNGYxNmMxZTVkZjll
OGI4N2JhMmE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE2LTAzLTAzICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW1RleHR1cmVNYXBwZXJd
IFVzZSBSR0JBIGZvcm1hdCBmb3IgdGV4dHVyZXMgYXR0YWNoZWQgdG8gZnJhbWVidWZmZXJzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5NjUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgUkdCQSBm
b3JtYXQgd2hlbiBhbGxvY2F0aW5nIHRleHR1cmVzIHRoYXQgd2lsbCBiZSB1c2VkIGFzIGZyYW1l
YnVmZmVyCisgICAgICAgIGF0dGFjaG1lbnRzLiBUaGlzIG1lYW5zIGFkZGluZyBhIG5ldyBmbGFn
IHRvIEJpdG1hcFRleHR1cmUgYW5kIG1vZGlmeWluZworICAgICAgICBCaXRtYXBUZXh0dXJlR0wg
dG8gdXNlIHRoZSBhcHByb3ByaWF0ZSBmb3JtYXQgYWNjb3JkaW5nIHRvIHRoZSBmbGFnLiBBbHNv
LAorICAgICAgICBCaXRtYXBUZXh0dXJlUG9vbCBuZWVkcyB0byB1c2UgdHdvIHZlY3RvcnMgdG8g
aGFuZGxlIGJvdGggdHlwZXMgb2YgdGV4dHVyZXMKKyAgICAgICAgc2VwYXJhdGVseSwgYXMgd2Ug
d2FudCB0byBhdm9pZCBjb25zdGFudGx5IHN3aXRjaGluZyB0aGUgZm9ybWF0IG9mIGEgcmV1c2Vk
CisgICAgICAgIHRleHR1cmUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRoZSBiZWhh
dmlvciBjaGFuZ2UgaXMgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlLmg6IEFkZCBuZXcgZmxhZy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZUdMLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVHTDo6Qml0bWFwVGV4dHVyZUdMKTogUmVjZWl2
ZSBmbGFncyBvbiBjb25zdHJ1Y3RvciBhbmQgdXNlIFJHQkEKKyAgICAgICAgd2hlbiB0aGUgRkJP
QXR0YWNobWVudCBmbGFnIGlzIGVuYWJsZWQuCisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBUZXh0
dXJlR0w6OmFwcGx5RmlsdGVycyk6IFVzZSBGQk9BdHRhY2hlbXQgZmxhZyB0byByZXF1ZXN0IGEg
dGV4dHVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVy
ZUdMLmg6IEFkZCBmbGFncyB0byB0aGUgY29uc3RydWN0b3IuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcDogQWRkIGEgbmV3IHZlY3RvciBv
ZiB0ZXh0dXJlcyB0byBob2xkCisgICAgICAgIHRob3NlIGluIFJHQkEgZm9ybWF0LgorICAgICAg
ICAoV2ViQ29yZTo6Qml0bWFwVGV4dHVyZVBvb2w6OmFjcXVpcmVUZXh0dXJlKTogUmV0dXJuIGEg
dGV4dHVyZSBmb3IgdGhlIHVzYWdlIHNwZWNpZmllZAorICAgICAgICBpbiB0aGUgaW5jb21pbmcg
ZmxhZ3MuCisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBUZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNl
ZFRleHR1cmVzVGltZXJGaXJlZCk6IFJlbGVhc2UgdGV4dHVyZXMgZnJvbQorICAgICAgICBib3Ro
IHZlY3RvcnMuCisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBUZXh0dXJlUG9vbDo6Y3JlYXRlVGV4
dHVyZSk6IFBhc3MgdGhlIHVzYWdlIGZsYWcgd2hlbiBjcmVhdGluZyBhIG5ldworICAgICAgICB0
ZXh0dXJlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJl
UG9vbC5oOiBBZGQgbmV3IHRleHR1cmUgdmVjdG9yIGFuZCBhZGQgZmxhZ3MgdG8KKyAgICAgICAg
dGhlIG5lZWRlZCBoZWFkZXJzLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXI6OmFjcXVp
cmVUZXh0dXJlRnJvbVBvb2wpOiBQYXNzIHRoZSByZWNlaXZlZCBmbGFncyB0byB0aGUgQml0bWFw
VGV4dHVyZVBvb2wuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXI6OnBh
aW50SW50b1N1cmZhY2UpOiBVc2UgRkJPQXR0YWNoZW10IGZsYWcgdG8gcmVxdWVzdCBhIHRleHR1
cmUuCisKIDIwMTYtMDMtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBIVE1MRm9ybUVsZW1lbnQncyBuYW1lZCBwcm9wZXJ0eSBnZXR0ZXIgZG9lcyBub3QgcmV0
dXJuIGEgUmFkaW9Ob2RlbGlzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlLmgKaW5kZXggZTljN2QwNjQ4ZDc2ODMxZWY2
Yjk0NTVjZDFmYTBiYzE5M2FjNTQ2ZS4uMzI0NTYzOGE4ZWZlN2E1MjlhMjM2YWNhNmU4NTdkODBk
OWMzMTI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL0JpdG1hcFRleHR1cmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvQml0bWFwVGV4dHVyZS5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIEJpdG1hcFRl
eHR1cmUgOiBwdWJsaWMgUmVmQ291bnRlZDxCaXRtYXBUZXh0dXJlPiB7CiBwdWJsaWM6CiAgICAg
ZW51bSBGbGFnIHsKICAgICAgICAgTm9GbGFnID0gMCwKLSAgICAgICAgU3VwcG9ydHNBbHBoYSA9
IDB4MDEKKyAgICAgICAgU3VwcG9ydHNBbHBoYSA9IDB4MDEsCisgICAgICAgIEZCT0F0dGFjaG1l
bnQgPSAweDAyCiAgICAgfTsKIAogICAgIGVudW0gVXBkYXRlQ29udGVudHNGbGFnIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0
dXJlR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1h
cFRleHR1cmVHTC5jcHAKaW5kZXggZDJkOWI1MWMwNDRjYTc3MmU5ZTJkNGMxNmMzOWM3OGQzOGVj
ZGVkOS4uZTJiMDI5NWZhMTMyMGY0NjNiYTk3YzMxM2VmZGJhMzE2YjY1NDMwYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVH
TC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1h
cFRleHR1cmVHTC5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgQml0bWFwVGV4dHVyZUdMKiB0b0JpdG1h
cFRleHR1cmVHTChCaXRtYXBUZXh0dXJlKiB0ZXh0dXJlKQogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxCaXRtYXBUZXh0dXJlR0wqPih0ZXh0dXJlKTsKIH0KIAotQml0bWFwVGV4dHVyZUdMOjpCaXRt
YXBUZXh0dXJlR0woUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dDNEKQorQml0
bWFwVGV4dHVyZUdMOjpCaXRtYXBUZXh0dXJlR0woUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQz
RD4gY29udGV4dDNELCBjb25zdCBGbGFncyBmbGFncykKICAgICA6IG1faWQoMCkKICAgICAsIG1f
ZmJvKDApCiAgICAgLCBtX3JibygwKQpAQCAtNzEsMTUgKzcxLDE5IEBAIEJpdG1hcFRleHR1cmVH
TDo6Qml0bWFwVGV4dHVyZUdMKFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQz
RCkKICAgICAsIG1fdHlwZShHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURSkKICNlbmRp
ZgogewotICAgIC8vIElmIEdMX0VYVF90ZXh0dXJlX2Zvcm1hdF9CR1JBODg4OCBpcyBzdXBwb3J0
ZWQgaW4gdGhlIE9wZW5HTEVTCi0gICAgLy8gaW50ZXJuYWwgYW5kIGV4dGVybmFsIGZvcm1hdHMg
bmVlZCB0byBiZSBCR1JBCi0gICAgbV9pbnRlcm5hbEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dDNE
OjpSR0JBOwotICAgIG1fZm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0M0Q6OkJHUkE7Ci0gICAgaWYg
KG1fY29udGV4dDNELT5pc0dMRVMyQ29tcGxpYW50KCkpIHsKLSAgICAgICAgaWYgKG1fY29udGV4
dDNELT5nZXRFeHRlbnNpb25zKCktPnN1cHBvcnRzKCJHTF9FWFRfdGV4dHVyZV9mb3JtYXRfQkdS
QTg4ODgiKSkKLSAgICAgICAgICAgIG1faW50ZXJuYWxGb3JtYXQgPSBHcmFwaGljc0NvbnRleHQz
RDo6QkdSQTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9mb3JtYXQgPSBHcmFwaGljc0Nv
bnRleHQzRDo6UkdCQTsKKyAgICBpZiAoZmxhZ3MgJiBGQk9BdHRhY2htZW50KQorICAgICAgICBt
X2ludGVybmFsRm9ybWF0ID0gbV9mb3JtYXQgPSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQTsKKyAg
ICBlbHNlIHsKKyAgICAgICAgLy8gSWYgR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4IGlz
IHN1cHBvcnRlZCBpbiB0aGUgT3BlbkdMRVMKKyAgICAgICAgLy8gaW50ZXJuYWwgYW5kIGV4dGVy
bmFsIGZvcm1hdHMgbmVlZCB0byBiZSBCR1JBCisgICAgICAgIG1faW50ZXJuYWxGb3JtYXQgPSBH
cmFwaGljc0NvbnRleHQzRDo6UkdCQTsKKyAgICAgICAgbV9mb3JtYXQgPSBHcmFwaGljc0NvbnRl
eHQzRDo6QkdSQTsKKyAgICAgICAgaWYgKG1fY29udGV4dDNELT5pc0dMRVMyQ29tcGxpYW50KCkp
IHsKKyAgICAgICAgICAgIGlmIChtX2NvbnRleHQzRC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0
cygiR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4IikpCisgICAgICAgICAgICAgICAgbV9p
bnRlcm5hbEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dDNEOjpCR1JBOworICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgIG1fZm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE7Cisg
ICAgICAgIH0KICAgICB9CiB9CiAKQEAgLTI0Myw3ICsyNDcsNyBAQCBQYXNzUmVmUHRyPEJpdG1h
cFRleHR1cmU+IEJpdG1hcFRleHR1cmVHTDo6YXBwbHlGaWx0ZXJzKFRleHR1cmVNYXBwZXImIHRl
eHR1cmVNYQogICAgICAgICAgICAgYm9vbCBsYXN0ID0gKGkgPT0gZmlsdGVycy5zaXplKCkgLSAx
KSAmJiAoaiA9PSBudW1QYXNzZXMgLSAxKTsKICAgICAgICAgICAgIGlmICghbGFzdCkgewogICAg
ICAgICAgICAgICAgIGlmICghaW50ZXJtZWRpYXRlU3VyZmFjZSkKLSAgICAgICAgICAgICAgICAg
ICAgaW50ZXJtZWRpYXRlU3VyZmFjZSA9IHRleG1hcEdMLmFjcXVpcmVUZXh0dXJlRnJvbVBvb2wo
Y29udGVudFNpemUoKSk7CisgICAgICAgICAgICAgICAgICAgIGludGVybWVkaWF0ZVN1cmZhY2Ug
PSB0ZXhtYXBHTC5hY3F1aXJlVGV4dHVyZUZyb21Qb29sKGNvbnRlbnRTaXplKCksIEJpdG1hcFRl
eHR1cmU6OlN1cHBvcnRzQWxwaGEgfCBCaXRtYXBUZXh0dXJlOjpGQk9BdHRhY2htZW50KTsKICAg
ICAgICAgICAgICAgICB0ZXhtYXBHTC5iaW5kU3VyZmFjZShpbnRlcm1lZGlhdGVTdXJmYWNlLmdl
dCgpKTsKICAgICAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVHTC5oCmluZGV4IGJiMzM3NGY0MDFm
OWM3ZGMwMzQwOGI4OTk4YTAzY2I1Y2ViZjNlMmQuLjQ5YTZlMmFjODk0ZjkxOWY0ZjQ0ZmFhYjc0
YjkyNGUyMzFkZWZhYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZUdMLmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xh
c3MgRmlsdGVyT3BlcmF0aW9uOwogCiBjbGFzcyBCaXRtYXBUZXh0dXJlR0wgOiBwdWJsaWMgQml0
bWFwVGV4dHVyZSB7CiBwdWJsaWM6Ci0gICAgQml0bWFwVGV4dHVyZUdMKFBhc3NSZWZQdHI8R3Jh
cGhpY3NDb250ZXh0M0Q+KTsKKyAgICBCaXRtYXBUZXh0dXJlR0woUGFzc1JlZlB0cjxHcmFwaGlj
c0NvbnRleHQzRD4sIGNvbnN0IEZsYWdzID0gTm9GbGFnKTsKICAgICB2aXJ0dWFsIH5CaXRtYXBU
ZXh0dXJlR0woKTsKIAogICAgIHZpcnR1YWwgSW50U2l6ZSBzaXplKCkgY29uc3Qgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0
bWFwVGV4dHVyZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcAppbmRleCBjNzZlYWJiMmVkMTVmN2JhNzI1ZWIzNWQ5
ZGJlNDQ4M2I4MWU3ODgyLi43N2UxNTEzNjBkZWVlNGQ0MmZmOTY5Y2M2YTFhNjgwMTFmNTk0Yjli
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0
bWFwVGV4dHVyZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKQEAgLTQ0LDE0ICs0NCwxNiBAQCBCaXRtYXBU
ZXh0dXJlUG9vbDo6Qml0bWFwVGV4dHVyZVBvb2woUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiYm
IGNvbnRleHQzRCkKIH0KICNlbmRpZgogCi1SZWZQdHI8Qml0bWFwVGV4dHVyZT4gQml0bWFwVGV4
dHVyZVBvb2w6OmFjcXVpcmVUZXh0dXJlKGNvbnN0IEludFNpemUmIHNpemUpCitSZWZQdHI8Qml0
bWFwVGV4dHVyZT4gQml0bWFwVGV4dHVyZVBvb2w6OmFjcXVpcmVUZXh0dXJlKGNvbnN0IEludFNp
emUmIHNpemUsIGNvbnN0IEJpdG1hcFRleHR1cmU6OkZsYWdzIGZsYWdzKQogewotICAgIEVudHJ5
KiBzZWxlY3RlZEVudHJ5ID0gc3RkOjpmaW5kX2lmKG1fdGV4dHVyZXMuYmVnaW4oKSwgbV90ZXh0
dXJlcy5lbmQoKSwKKyAgICBWZWN0b3I8RW50cnk+JiBsaXN0ID0gZmxhZ3MgJiBCaXRtYXBUZXh0
dXJlOjpGQk9BdHRhY2htZW50ID8gbV9hdHRhY2htZW50VGV4dHVyZXMgOiBtX3RleHR1cmVzOwor
CisgICAgRW50cnkqIHNlbGVjdGVkRW50cnkgPSBzdGQ6OmZpbmRfaWYobGlzdC5iZWdpbigpLCBs
aXN0LmVuZCgpLAogICAgICAgICBbJnNpemVdKEVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnku
bV90ZXh0dXJlLT5yZWZDb3VudCgpID09IDEgJiYgZW50cnkubV90ZXh0dXJlLT5zaXplKCkgPT0g
c2l6ZTsgfSk7CiAKLSAgICBpZiAoc2VsZWN0ZWRFbnRyeSA9PSBtX3RleHR1cmVzLmVuZCgpKSB7
Ci0gICAgICAgIG1fdGV4dHVyZXMuYXBwZW5kKEVudHJ5KGNyZWF0ZVRleHR1cmUoKSkpOwotICAg
ICAgICBzZWxlY3RlZEVudHJ5ID0gJm1fdGV4dHVyZXMubGFzdCgpOworICAgIGlmIChzZWxlY3Rl
ZEVudHJ5ID09IGxpc3QuZW5kKCkpIHsKKyAgICAgICAgbGlzdC5hcHBlbmQoRW50cnkoY3JlYXRl
VGV4dHVyZShmbGFncykpKTsKKyAgICAgICAgc2VsZWN0ZWRFbnRyeSA9ICZsaXN0Lmxhc3QoKTsK
ICAgICB9CiAKICAgICBzY2hlZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcygpOwpAQCAtNjksMjkg
KzcxLDQxIEBAIHZvaWQgQml0bWFwVGV4dHVyZVBvb2w6OnNjaGVkdWxlUmVsZWFzZVVudXNlZFRl
eHR1cmVzKCkKIAogdm9pZCBCaXRtYXBUZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNlZFRleHR1cmVz
VGltZXJGaXJlZCgpCiB7Ci0gICAgaWYgKG1fdGV4dHVyZXMuaXNFbXB0eSgpKQotICAgICAgICBy
ZXR1cm47Ci0KICAgICAvLyBEZWxldGUgZW50cmllcywgd2hpY2ggaGF2ZSBiZWVuIHVudXNlZCBp
biBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlLgotICAgIHN0ZDo6c29ydChtX3RleHR1
cmVzLmJlZ2luKCksIG1fdGV4dHVyZXMuZW5kKCksCi0gICAgICAgIFtdKGNvbnN0IEVudHJ5JiBh
LCBjb25zdCBFbnRyeSYgYikgeyByZXR1cm4gYS5tX2xhc3RVc2VkVGltZSA+IGIubV9sYXN0VXNl
ZFRpbWU7IH0pOwotCiAgICAgZG91YmxlIG1pblVzZWRUaW1lID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkgLSBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlOwotICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbV90ZXh0dXJlcy5zaXplKCk7ICsraSkgewotICAgICAgICBpZiAo
bV90ZXh0dXJlc1tpXS5tX2xhc3RVc2VkVGltZSA8IG1pblVzZWRUaW1lKSB7Ci0gICAgICAgICAg
ICBtX3RleHR1cmVzLnJlbW92ZShpLCBtX3RleHR1cmVzLnNpemUoKSAtIGkpOwotICAgICAgICAg
ICAgYnJlYWs7CisKKyAgICBpZiAoIW1fdGV4dHVyZXMuaXNFbXB0eSgpKSB7CisgICAgICAgIHN0
ZDo6c29ydChtX3RleHR1cmVzLmJlZ2luKCksIG1fdGV4dHVyZXMuZW5kKCksCisgICAgICAgICAg
ICBbXShjb25zdCBFbnRyeSYgYSwgY29uc3QgRW50cnkmIGIpIHsgcmV0dXJuIGEubV9sYXN0VXNl
ZFRpbWUgPiBiLm1fbGFzdFVzZWRUaW1lOyB9KTsKKworICAgICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IG1fdGV4dHVyZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChtX3RleHR1
cmVzW2ldLm1fbGFzdFVzZWRUaW1lIDwgbWluVXNlZFRpbWUpIHsKKyAgICAgICAgICAgICAgICBt
X3RleHR1cmVzLnJlbW92ZShpLCBtX3RleHR1cmVzLnNpemUoKSAtIGkpOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFt
X2F0dGFjaG1lbnRUZXh0dXJlcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgc3RkOjpzb3J0KG1fYXR0
YWNobWVudFRleHR1cmVzLmJlZ2luKCksIG1fYXR0YWNobWVudFRleHR1cmVzLmVuZCgpLAorICAg
ICAgICAgICAgW10oY29uc3QgRW50cnkmIGEsIGNvbnN0IEVudHJ5JiBiKSB7IHJldHVybiBhLm1f
bGFzdFVzZWRUaW1lID4gYi5tX2xhc3RVc2VkVGltZTsgfSk7CisKKyAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBtX2F0dGFjaG1lbnRUZXh0dXJlcy5zaXplKCk7ICsraSkgeworICAgICAg
ICAgICAgaWYgKG1fYXR0YWNobWVudFRleHR1cmVzW2ldLm1fbGFzdFVzZWRUaW1lIDwgbWluVXNl
ZFRpbWUpIHsKKyAgICAgICAgICAgICAgICBtX2F0dGFjaG1lbnRUZXh0dXJlcy5yZW1vdmUoaSwg
bV90ZXh0dXJlcy5zaXplKCkgLSBpKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghbV90ZXh0dXJlcy5pc0VtcHR5KCkp
CisgICAgaWYgKCFtX3RleHR1cmVzLmlzRW1wdHkoKSB8fCAhbV9hdHRhY2htZW50VGV4dHVyZXMu
aXNFbXB0eSgpKQogICAgICAgICBzY2hlZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcygpOwogfQog
Ci1SZWZQdHI8Qml0bWFwVGV4dHVyZT4gQml0bWFwVGV4dHVyZVBvb2w6OmNyZWF0ZVRleHR1cmUo
KQorUmVmUHRyPEJpdG1hcFRleHR1cmU+IEJpdG1hcFRleHR1cmVQb29sOjpjcmVhdGVUZXh0dXJl
KGNvbnN0IEJpdG1hcFRleHR1cmU6OkZsYWdzIGZsYWdzKQogewogI2lmIFVTRShURVhUVVJFX01B
UFBFUl9HTCkKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJpdG1hcFRleHR1cmVHTChtX2NvbnRl
eHQzRCkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQml0bWFwVGV4dHVyZUdMKG1fY29udGV4
dDNELCBmbGFncykpOwogI2Vsc2UKICAgICByZXR1cm4gbnVsbHB0cjsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1
cmVQb29sLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFw
VGV4dHVyZVBvb2wuaAppbmRleCBiMjQ0MjQ0YWIyMTc5NDQ4MjUwZGNmZmVjYjI5NDAyZTc3ZDU3
Y2ZjLi45NWJhMjQ5YWE3YTZiODgzNDllMTNlMDRiODcyNTU2YzBjY2NmMTIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBv
b2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFw
VGV4dHVyZVBvb2wuaApAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgQml0
bWFwVGV4dHVyZVBvb2woUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiYmKTsKICNlbmRpZgogCi0g
ICAgUmVmUHRyPEJpdG1hcFRleHR1cmU+IGFjcXVpcmVUZXh0dXJlKGNvbnN0IEludFNpemUmKTsK
KyAgICBSZWZQdHI8Qml0bWFwVGV4dHVyZT4gYWNxdWlyZVRleHR1cmUoY29uc3QgSW50U2l6ZSYs
IGNvbnN0IEJpdG1hcFRleHR1cmU6OkZsYWdzKTsKIAogcHJpdmF0ZToKICAgICBzdHJ1Y3QgRW50
cnkgewpAQCAtNjQsMTMgKzY0LDE0IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNjaGVkdWxlUmVs
ZWFzZVVudXNlZFRleHR1cmVzKCk7CiAgICAgdm9pZCByZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1l
ckZpcmVkKCk7Ci0gICAgUmVmUHRyPEJpdG1hcFRleHR1cmU+IGNyZWF0ZVRleHR1cmUoKTsKKyAg
ICBSZWZQdHI8Qml0bWFwVGV4dHVyZT4gY3JlYXRlVGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJl
OjpGbGFncyk7CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiAgICAgUmVmUHRyPEdyYXBo
aWNzQ29udGV4dDNEPiBtX2NvbnRleHQzRDsKICNlbmRpZgogCiAgICAgVmVjdG9yPEVudHJ5PiBt
X3RleHR1cmVzOworICAgIFZlY3RvcjxFbnRyeT4gbV9hdHRhY2htZW50VGV4dHVyZXM7CiAgICAg
VGltZXIgbV9yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lcjsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNw
cAppbmRleCA0Y2U3ODU5MTFhM2NiNTg0ZTljZDgxZGRlZjhmZjU4NmE1ODAzMjRjLi4xMGNjMjZj
NmVkMDk0MTM1YTQwM2I5YjJmMTc0ZTE5NWU5ZmI1ODYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCkBA
IC0zMiw3ICszMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUGFzc1JlZlB0cjxCaXRtYXBU
ZXh0dXJlPiBUZXh0dXJlTWFwcGVyOjphY3F1aXJlVGV4dHVyZUZyb21Qb29sKGNvbnN0IEludFNp
emUmIHNpemUsIGNvbnN0IEJpdG1hcFRleHR1cmU6OkZsYWdzIGZsYWdzKQogewotICAgIFJlZlB0
cjxCaXRtYXBUZXh0dXJlPiBzZWxlY3RlZFRleHR1cmUgPSBtX3RleHR1cmVQb29sLT5hY3F1aXJl
VGV4dHVyZShzaXplKTsKKyAgICBSZWZQdHI8Qml0bWFwVGV4dHVyZT4gc2VsZWN0ZWRUZXh0dXJl
ID0gbV90ZXh0dXJlUG9vbC0+YWNxdWlyZVRleHR1cmUoc2l6ZSwgZmxhZ3MpOwogICAgIHNlbGVj
dGVkVGV4dHVyZS0+cmVzZXQoc2l6ZSwgZmxhZ3MpOwogICAgIHJldHVybiBzZWxlY3RlZFRleHR1
cmUucmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAppbmRleCA3NTM2NzNm
NzM2NWQ1ZDdkZDczY2M5N2Y1MTUwN2ZmZTMyOGFhMjk2Li43YmNiNGU4Njg3OTMxNDMyZDI4M2E1
MDhiMDY0MjBhMGY1ZTk2NTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcApAQCAtMzcw
LDcgKzM3MCw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjphcHBseU1hc2soY29uc3QgVGV4
dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucykKIAogUGFzc1JlZlB0cjxCaXRtYXBUZXh0
dXJlPiBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50SW50b1N1cmZhY2UoY29uc3QgVGV4dHVyZU1h
cHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucywgY29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKLSAgICBS
ZWZQdHI8Qml0bWFwVGV4dHVyZT4gc3VyZmFjZSA9IG9wdGlvbnMudGV4dHVyZU1hcHBlci5hY3F1
aXJlVGV4dHVyZUZyb21Qb29sKHNpemUpOworICAgIFJlZlB0cjxCaXRtYXBUZXh0dXJlPiBzdXJm
YWNlID0gb3B0aW9ucy50ZXh0dXJlTWFwcGVyLmFjcXVpcmVUZXh0dXJlRnJvbVBvb2woc2l6ZSwg
Qml0bWFwVGV4dHVyZTo6U3VwcG9ydHNBbHBoYSB8IEJpdG1hcFRleHR1cmU6OkZCT0F0dGFjaG1l
bnQpOwogICAgIFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMgcGFpbnRPcHRpb25zKG9wdGlvbnMp
OwogICAgIHBhaW50T3B0aW9ucy5zdXJmYWNlID0gc3VyZmFjZTsKICAgICBvcHRpb25zLnRleHR1
cmVNYXBwZXIuYmluZFN1cmZhY2Uoc3VyZmFjZS5nZXQoKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>