<?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>236902</bug_id>
          
          <creation_ts>2022-02-19 20:32:54 -0800</creation_ts>
          <short_desc>[WebGPU] Tracer bullet part 8: Basic implementation of device creation routines</short_desc>
          <delta_ts>2022-02-21 12:50:22 -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>WebGPU</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>236879</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>rmorisset</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1843947</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-19 20:32:54 -0800</bug_when>
    <thetext>This is a basic implementation of the Instance, Adapter, and Device methods. Device limits are not implemented yet, so for now we claim every limits is 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843948</commentid>
    <comment_count>1</comment_count>
      <attachid>452668</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-19 20:34:33 -0800</bug_when>
    <thetext>Created attachment 452668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844237</commentid>
    <comment_count>2</comment_count>
      <attachid>452668</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2022-02-21 09:29:41 -0800</bug_when>
    <thetext>Comment on attachment 452668
Patch

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

&gt; Source/WebGPU/ChangeLog:9
&gt; +        implemented yet, so for now we claim every limits is 0.

typo: limits

&gt; Source/WebGPU/WebGPU/Adapter.mm:63
&gt; +    properties-&gt;driverDescription = &quot;&quot;;

Not emptyString()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844333</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-21 12:49:11 -0800</bug_when>
    <thetext>Committed r290262 (?): &lt;https://commits.webkit.org/r290262&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844334</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-21 12:50:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/89251773&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452668</attachid>
            <date>2022-02-19 20:34:33 -0800</date>
            <delta_ts>2022-02-21 09:29:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11930</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkdQVS9DaGFu
Z2VMb2cKaW5kZXggYzYxMWM1MTkzNmIzLi43ZTU1MmNmNjhkMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJHUFUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzkgQEAKKzIwMjItMDItMTkgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxl
LmNvbT4KKworICAgICAgICBbV2ViR1BVXSBUcmFjZXIgYnVsbGV0IHBhcnQgODogQmFzaWMgaW1w
bGVtZW50YXRpb24gb2YgZGV2aWNlIGNyZWF0aW9uIHJvdXRpbmVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY5MDIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgYmFzaWMgaW1wbGVtZW50
YXRpb24gb2YgdGhlIEluc3RhbmNlLCBBZGFwdGVyLCBhbmQgRGV2aWNlIG1ldGhvZHMuIERldmlj
ZSBsaW1pdHMgYXJlIG5vdAorICAgICAgICBpbXBsZW1lbnRlZCB5ZXQsIHNvIGZvciBub3cgd2Ug
Y2xhaW0gZXZlcnkgbGltaXRzIGlzIDAuCisKKyAgICAgICAgKiBXZWJHUFUvQWRhcHRlci5tbToK
KyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6QWRhcHRlcik6CisgICAgICAgIChXZWJHUFU6OkFk
YXB0ZXI6OmVudW1lcmF0ZUZlYXR1cmVzKToKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6Z2V0
TGltaXRzKToKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6Z2V0UHJvcGVydGllcyk6CisgICAg
ICAgIChXZWJHUFU6OkFkYXB0ZXI6Omhhc0ZlYXR1cmUpOgorICAgICAgICAoV2ViR1BVOjpkZXZp
Y2VNZWV0c1JlcXVpcmVkTGltaXRzKToKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6cmVxdWVz
dERldmljZSk6CisgICAgICAgICogV2ViR1BVL0RldmljZS5oOgorICAgICAgICAqIFdlYkdQVS9E
ZXZpY2UubW06CisgICAgICAgIChXZWJHUFU6OkRldmljZTo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkdQVTo6RGV2aWNlOjpEZXZpY2UpOgorICAgICAgICAoV2ViR1BVOjpEZXZpY2U6OmRlc3Ryb3kp
OgorICAgICAgICAoV2ViR1BVOjpEZXZpY2U6OmVudW1lcmF0ZUZlYXR1cmVzKToKKyAgICAgICAg
KFdlYkdQVTo6RGV2aWNlOjpnZXRMaW1pdHMpOgorICAgICAgICAoV2ViR1BVOjpEZXZpY2U6Omdl
dFF1ZXVlKToKKyAgICAgICAgKFdlYkdQVTo6RGV2aWNlOjpoYXNGZWF0dXJlKToKKyAgICAgICAg
KFdlYkdQVTo6RGV2aWNlOjpwb3BFcnJvclNjb3BlKToKKyAgICAgICAgKFdlYkdQVTo6RGV2aWNl
OjpwdXNoRXJyb3JTY29wZSk6CisgICAgICAgIChXZWJHUFU6OkRldmljZTo6c2V0RGV2aWNlTG9z
dENhbGxiYWNrKToKKyAgICAgICAgKFdlYkdQVTo6RGV2aWNlOjpzZXRVbmNhcHR1cmVkRXJyb3JD
YWxsYmFjayk6CisgICAgICAgIChXZWJHUFU6OkRldmljZTo6c2V0TGFiZWwpOgorICAgICAgICAq
IFdlYkdQVS9JbnN0YW5jZS5tbToKKyAgICAgICAgKFdlYkdQVTo6c29ydGVkRGV2aWNlcyk6Cisg
ICAgICAgIChXZWJHUFU6Okluc3RhbmNlOjpyZXF1ZXN0QWRhcHRlcik6CisKIDIwMjItMDItMTkg
IE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2Vi
R1BVXSBUcmFjZXIgYnVsbGV0IHBhcnQgNzogQ2xlYW4gdXAgaW5jbHVkZXMgYSBiaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dl
YkdQVS9BZGFwdGVyLm1tCmluZGV4IDc5NDQwYjJmNjljOS4uZTc2ODNhZGQ4ZWQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL0FkYXB0ZXIubW0KQEAgLTM0LDM4ICszNCw5NSBAQCBuYW1lc3BhY2UgV2ViR1BVIHsK
IEFkYXB0ZXI6OkFkYXB0ZXIoaWQgPE1UTERldmljZT4gZGV2aWNlKQogICAgIDogbV9kZXZpY2Uo
ZGV2aWNlKQogewotICAgIFVOVVNFRF9WQVJJQUJMRShtX2RldmljZSk7CiB9CiAKIEFkYXB0ZXI6
On5BZGFwdGVyKCkgPSBkZWZhdWx0OwogCi1zaXplX3QgQWRhcHRlcjo6ZW51bWVyYXRlRmVhdHVy
ZXMoV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcykKK3NpemVfdCBBZGFwdGVyOjplbnVtZXJhdGVG
ZWF0dXJlcyhXR1BVRmVhdHVyZU5hbWUqKQogewotICAgIFVOVVNFRF9QQVJBTShmZWF0dXJlcyk7
CisgICAgLy8gV2Ugc3VwcG9ydCBubyBvcHRpb25hbCBmZWF0dXJlcyByaWdodCBub3cuCiAgICAg
cmV0dXJuIDA7CiB9CiAKIGJvb2wgQWRhcHRlcjo6Z2V0TGltaXRzKFdHUFVTdXBwb3J0ZWRMaW1p
dHMqIGxpbWl0cykKIHsKLSAgICBVTlVTRURfUEFSQU0obGltaXRzKTsKKyAgICBpZiAobGltaXRz
LT5uZXh0SW5DaGFpbiAhPSBudWxscHRyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAv
LyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCisgICAgbGltaXRzLT5saW1pdHMgPSB7IH07CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgQWRhcHRlcjo6Z2V0UHJvcGVydGllcyhXR1BVQWRhcHRl
clByb3BlcnRpZXMqIHByb3BlcnRpZXMpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHByb3BlcnRpZXMp
OworICAgIC8vIEZJWE1FOiBXaGF0IHNob3VsZCB0aGUgdmVuZG9ySUQgYW5kIGRldmljZUlEIGJl
PworICAgIHByb3BlcnRpZXMtPnZlbmRvcklEID0gMDsKKyAgICBwcm9wZXJ0aWVzLT5kZXZpY2VJ
RCA9IDA7CisgICAgcHJvcGVydGllcy0+bmFtZSA9IG1fZGV2aWNlLm5hbWUuVVRGOFN0cmluZzsK
KyAgICBwcm9wZXJ0aWVzLT5kcml2ZXJEZXNjcmlwdGlvbiA9ICIiOworICAgIHByb3BlcnRpZXMt
PmFkYXB0ZXJUeXBlID0gbV9kZXZpY2UuaGFzVW5pZmllZE1lbW9yeSA/IFdHUFVBZGFwdGVyVHlw
ZV9JbnRlZ3JhdGVkR1BVIDogV0dQVUFkYXB0ZXJUeXBlX0Rpc2NyZXRlR1BVOworICAgIHByb3Bl
cnRpZXMtPmJhY2tlbmRUeXBlID0gV0dQVUJhY2tlbmRUeXBlX01ldGFsOwogfQogCi1ib29sIEFk
YXB0ZXI6Omhhc0ZlYXR1cmUoV0dQVUZlYXR1cmVOYW1lIGZlYXR1cmUpCitib29sIEFkYXB0ZXI6
Omhhc0ZlYXR1cmUoV0dQVUZlYXR1cmVOYW1lKQogewotICAgIFVOVVNFRF9QQVJBTShmZWF0dXJl
KTsKKyAgICAvLyBXZSBzdXBwb3J0IG5vIG9wdGlvbmFsIGZlYXR1cmVzIHJpZ2h0IG5vdy4KICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKK3N0YXRpYyBib29sIGRldmljZU1lZXRzUmVxdWlyZWRMaW1p
dHMoaWQgPE1UTERldmljZT4sIGNvbnN0IFdHUFVSZXF1aXJlZExpbWl0cyYgcmVxdWlyZWRMaW1p
dHMpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgorICAgIHJldHVybiAhcmVxdWly
ZWRMaW1pdHMubmV4dEluQ2hhaW4KKyAgICAgICAgJiYgIXJlcXVpcmVkTGltaXRzLmxpbWl0cy5t
YXhUZXh0dXJlRGltZW5zaW9uMUQKKyAgICAgICAgJiYgIXJlcXVpcmVkTGltaXRzLmxpbWl0cy5t
YXhUZXh0dXJlRGltZW5zaW9uMkQKKyAgICAgICAgJiYgIXJlcXVpcmVkTGltaXRzLmxpbWl0cy5t
YXhUZXh0dXJlRGltZW5zaW9uM0QKKyAgICAgICAgJiYgIXJlcXVpcmVkTGltaXRzLmxpbWl0cy5t
YXhUZXh0dXJlQXJyYXlMYXllcnMKKyAgICAgICAgJiYgIXJlcXVpcmVkTGltaXRzLmxpbWl0cy5t
YXhCaW5kR3JvdXBzCisgICAgICAgICYmICFyZXF1aXJlZExpbWl0cy5saW1pdHMubWF4RHluYW1p
Y1VuaWZvcm1CdWZmZXJzUGVyUGlwZWxpbmVMYXlvdXQKKyAgICAgICAgJiYgIXJlcXVpcmVkTGlt
aXRzLmxpbWl0cy5tYXhEeW5hbWljU3RvcmFnZUJ1ZmZlcnNQZXJQaXBlbGluZUxheW91dAorICAg
ICAgICAmJiAhcmVxdWlyZWRMaW1pdHMubGltaXRzLm1heFNhbXBsZWRUZXh0dXJlc1BlclNoYWRl
clN0YWdlCisgICAgICAgICYmICFyZXF1aXJlZExpbWl0cy5saW1pdHMubWF4U2FtcGxlcnNQZXJT
aGFkZXJTdGFnZQorICAgICAgICAmJiAhcmVxdWlyZWRMaW1pdHMubGltaXRzLm1heFN0b3JhZ2VC
dWZmZXJzUGVyU2hhZGVyU3RhZ2UKKyAgICAgICAgJiYgIXJlcXVpcmVkTGltaXRzLmxpbWl0cy5t
YXhTdG9yYWdlVGV4dHVyZXNQZXJTaGFkZXJTdGFnZQorICAgICAgICAmJiAhcmVxdWlyZWRMaW1p
dHMubGltaXRzLm1heFVuaWZvcm1CdWZmZXJzUGVyU2hhZGVyU3RhZ2UKKyAgICAgICAgJiYgIXJl
cXVpcmVkTGltaXRzLmxpbWl0cy5tYXhVbmlmb3JtQnVmZmVyQmluZGluZ1NpemUKKyAgICAgICAg
JiYgIXJlcXVpcmVkTGltaXRzLmxpbWl0cy5tYXhTdG9yYWdlQnVmZmVyQmluZGluZ1NpemUKKyAg
ICAgICAgJiYgIXJlcXVpcmVkTGltaXRzLmxpbWl0cy5taW5Vbmlmb3JtQnVmZmVyT2Zmc2V0QWxp
Z25tZW50CisgICAgICAgICYmICFyZXF1aXJlZExpbWl0cy5saW1pdHMubWluU3RvcmFnZUJ1ZmZl
ck9mZnNldEFsaWdubWVudAorICAgICAgICAmJiAhcmVxdWlyZWRMaW1pdHMubGltaXRzLm1heFZl
cnRleEJ1ZmZlcnMKKyAgICAgICAgJiYgIXJlcXVpcmVkTGltaXRzLmxpbWl0cy5tYXhWZXJ0ZXhB
dHRyaWJ1dGVzCisgICAgICAgICYmICFyZXF1aXJlZExpbWl0cy5saW1pdHMubWF4VmVydGV4QnVm
ZmVyQXJyYXlTdHJpZGUKKyAgICAgICAgJiYgIXJlcXVpcmVkTGltaXRzLmxpbWl0cy5tYXhJbnRl
clN0YWdlU2hhZGVyQ29tcG9uZW50cworICAgICAgICAmJiAhcmVxdWlyZWRMaW1pdHMubGltaXRz
Lm1heENvbXB1dGVXb3JrZ3JvdXBTdG9yYWdlU2l6ZQorICAgICAgICAmJiAhcmVxdWlyZWRMaW1p
dHMubGltaXRzLm1heENvbXB1dGVJbnZvY2F0aW9uc1Blcldvcmtncm91cAorICAgICAgICAmJiAh
cmVxdWlyZWRMaW1pdHMubGltaXRzLm1heENvbXB1dGVXb3JrZ3JvdXBTaXplWAorICAgICAgICAm
JiAhcmVxdWlyZWRMaW1pdHMubGltaXRzLm1heENvbXB1dGVXb3JrZ3JvdXBTaXplWQorICAgICAg
ICAmJiAhcmVxdWlyZWRMaW1pdHMubGltaXRzLm1heENvbXB1dGVXb3JrZ3JvdXBTaXplWgorICAg
ICAgICAmJiAhcmVxdWlyZWRMaW1pdHMubGltaXRzLm1heENvbXB1dGVXb3JrZ3JvdXBzUGVyRGlt
ZW5zaW9uOworfQorCiB2b2lkIEFkYXB0ZXI6OnJlcXVlc3REZXZpY2UoY29uc3QgV0dQVURldmlj
ZURlc2NyaXB0b3IqIGRlc2NyaXB0b3IsIFdURjo6RnVuY3Rpb248dm9pZChXR1BVUmVxdWVzdERl
dmljZVN0YXR1cywgUmVmUHRyPERldmljZT4mJiwgY29uc3QgY2hhciopPiYmIGNhbGxiYWNrKQog
ewotICAgIFVOVVNFRF9QQVJBTShkZXNjcmlwdG9yKTsKLSAgICBVTlVTRURfUEFSQU0oY2FsbGJh
Y2spOworICAgIGlmIChkZXNjcmlwdG9yLT5uZXh0SW5DaGFpbikgeworICAgICAgICBjYWxsYmFj
ayhXR1BVUmVxdWVzdERldmljZVN0YXR1c19FcnJvciwgbnVsbHB0ciwgIlVua25vd24gZGVzY3Jp
cHRvciB0eXBlIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoZGVzY3JpcHRv
ci0+cmVxdWlyZWRGZWF0dXJlc0NvdW50KSB7CisgICAgICAgIGNhbGxiYWNrKFdHUFVSZXF1ZXN0
RGV2aWNlU3RhdHVzX0Vycm9yLCBudWxscHRyLCAiRGV2aWNlIGRvZXMgbm90IHN1cHBvcnQgcmVx
dWVzdGVkIGZlYXR1cmVzIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoZGVz
Y3JpcHRvci0+cmVxdWlyZWRMaW1pdHMgJiYgIWRldmljZU1lZXRzUmVxdWlyZWRMaW1pdHMobV9k
ZXZpY2UsICpkZXNjcmlwdG9yLT5yZXF1aXJlZExpbWl0cykpIHsKKyAgICAgICAgY2FsbGJhY2so
V0dQVVJlcXVlc3REZXZpY2VTdGF0dXNfRXJyb3IsIG51bGxwdHIsICJEZXZpY2UgZG9lcyBub3Qg
c3VwcG9ydCByZXF1ZXN0ZWQgbGltaXRzIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICAvLyBTZWUgdGhlIGNvbW1lbnQgaW4gRGV2aWNlOjpzZXRMYWJlbCgpIGFib3V0IHdoeSB3ZSdy
ZSBub3Qgc2V0dGluZyB0aGUgbGFiZWwgaGVyZS4KKworICAgIGNhbGxiYWNrKFdHUFVSZXF1ZXN0
RGV2aWNlU3RhdHVzX1N1Y2Nlc3MsIERldmljZTo6Y3JlYXRlKG1fZGV2aWNlKSwgbnVsbHB0cik7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkdQVQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9X
ZWJHUFUvRGV2aWNlLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UuaAppbmRleCBmOWYx
Njk0ZjM2MTkuLmE2MWJjNGMwNDdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUv
RGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKQEAgLTgzLDkgKzgz
LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldExhYmVsKGNvbnN0IGNoYXIqKTsKIAogcHJpdmF0
ZToKLSAgICBEZXZpY2UoaWQgPE1UTERldmljZT4pOworICAgIERldmljZShpZCA8TVRMRGV2aWNl
PiwgUmVmPFF1ZXVlPiYmKTsKIAogICAgIGlkIDxNVExEZXZpY2U+IG1fZGV2aWNlIHsgbmlsIH07
CisgICAgUmVmPFF1ZXVlPiBtX2RlZmF1bHRRdWV1ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkdQVQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLm1tIGIvU291cmNl
L1dlYkdQVS9XZWJHUFUvRGV2aWNlLm1tCmluZGV4IDgyODQ4ODBlOTA2Yi4uZDJlODEwMGUzMTU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UubW0KKysrIGIvU291cmNl
L1dlYkdQVS9XZWJHUFUvRGV2aWNlLm1tCkBAIC00Nyw2OCArNDcsODIgQEAgbmFtZXNwYWNlIFdl
YkdQVSB7CiAKIFJlZlB0cjxEZXZpY2U+IERldmljZTo6Y3JlYXRlKGlkIDxNVExEZXZpY2U+IGRl
dmljZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBEZXZpY2UoZGV2aWNlKSk7CisgICAg
aWQgPE1UTENvbW1hbmRRdWV1ZT4gY29tbWFuZFF1ZXVlID0gW2RldmljZSBuZXdDb21tYW5kUXVl
dWVdOworICAgIGlmICghY29tbWFuZFF1ZXVlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICBhdXRvIHF1ZXVlID0gUXVldWU6OmNyZWF0ZShjb21tYW5kUXVldWUpOworCisgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgRGV2aWNlKGRldmljZSwgV1RGTW92ZShxdWV1ZSkpKTsKIH0KIAotRGV2
aWNlOjpEZXZpY2UoaWQgPE1UTERldmljZT4gZGV2aWNlKQorRGV2aWNlOjpEZXZpY2UoaWQgPE1U
TERldmljZT4gZGV2aWNlLCBSZWY8UXVldWU+JiYgcXVldWUpCiAgICAgOiBtX2RldmljZShkZXZp
Y2UpCisgICAgLCBtX2RlZmF1bHRRdWV1ZShXVEZNb3ZlKHF1ZXVlKSkKIHsKLSAgICBVTlVTRURf
VkFSSUFCTEUobV9kZXZpY2UpOwogfQogCiBEZXZpY2U6On5EZXZpY2UoKSA9IGRlZmF1bHQ7CiAK
IHZvaWQgRGV2aWNlOjpkZXN0cm95KCkKIHsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMu
CiB9CiAKLXNpemVfdCBEZXZpY2U6OmVudW1lcmF0ZUZlYXR1cmVzKFdHUFVGZWF0dXJlTmFtZSog
ZmVhdHVyZXMpCitzaXplX3QgRGV2aWNlOjplbnVtZXJhdGVGZWF0dXJlcyhXR1BVRmVhdHVyZU5h
bWUqKQogewotICAgIFVOVVNFRF9QQVJBTShmZWF0dXJlcyk7CisgICAgLy8gV2Ugc3VwcG9ydCBu
byBvcHRpb25hbCBmZWF0dXJlcyByaWdodCBub3cuCiAgICAgcmV0dXJuIDA7CiB9CiAKIGJvb2wg
RGV2aWNlOjpnZXRMaW1pdHMoV0dQVVN1cHBvcnRlZExpbWl0cyogbGltaXRzKQogewotICAgIFVO
VVNFRF9QQVJBTShsaW1pdHMpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAobGltaXRzLT5u
ZXh0SW5DaGFpbiAhPSBudWxscHRyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBG
SVhNRTogSW1wbGVtZW50IHRoaXMuCisgICAgbGltaXRzLT5saW1pdHMgPSB7IH07CisgICAgcmV0
dXJuIHRydWU7CiB9CiAKIFJlZlB0cjxRdWV1ZT4gRGV2aWNlOjpnZXRRdWV1ZSgpCiB7Ci0gICAg
cmV0dXJuIFF1ZXVlOjpjcmVhdGUobmlsKTsKKyAgICByZXR1cm4gbV9kZWZhdWx0UXVldWUuY29w
eVJlZigpOwogfQogCi1ib29sIERldmljZTo6aGFzRmVhdHVyZShXR1BVRmVhdHVyZU5hbWUgZmVh
dHVyZSkKK2Jvb2wgRGV2aWNlOjpoYXNGZWF0dXJlKFdHUFVGZWF0dXJlTmFtZSkKIHsKLSAgICBV
TlVTRURfUEFSQU0oZmVhdHVyZSk7CisgICAgLy8gV2Ugc3VwcG9ydCBubyBvcHRpb25hbCBmZWF0
dXJlcyByaWdodCBub3cuCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiBib29sIERldmljZTo6cG9w
RXJyb3JTY29wZShXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVUVycm9yVHlwZSwgY29uc3QgY2hhciop
PiYmIGNhbGxiYWNrKQogeworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KICAgICBVTlVT
RURfUEFSQU0oY2FsbGJhY2spOwogICAgIHJldHVybiBmYWxzZTsKIH0KIAogdm9pZCBEZXZpY2U6
OnB1c2hFcnJvclNjb3BlKFdHUFVFcnJvckZpbHRlciBmaWx0ZXIpCiB7CisgICAgLy8gRklYTUU6
IEltcGxlbWVudCB0aGlzLgogICAgIFVOVVNFRF9QQVJBTShmaWx0ZXIpOwogfQogCiB2b2lkIERl
dmljZTo6c2V0RGV2aWNlTG9zdENhbGxiYWNrKFdURjo6RnVuY3Rpb248dm9pZChXR1BVRGV2aWNl
TG9zdFJlYXNvbiwgY29uc3QgY2hhciopPiYmIGNhbGxiYWNrKQogeworICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgdGhpcy4KICAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOwogfQogCiB2b2lkIERl
dmljZTo6c2V0VW5jYXB0dXJlZEVycm9yQ2FsbGJhY2soV1RGOjpGdW5jdGlvbjx2b2lkKFdHUFVF
cnJvclR5cGUsIGNvbnN0IGNoYXIqKT4mJiBjYWxsYmFjaykKIHsKKyAgICAvLyBGSVhNRTogSW1w
bGVtZW50IHRoaXMuCiAgICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKIH0KIAotdm9pZCBEZXZp
Y2U6OnNldExhYmVsKGNvbnN0IGNoYXIqIGxhYmVsKQordm9pZCBEZXZpY2U6OnNldExhYmVsKGNv
bnN0IGNoYXIqKQogewotICAgIFVOVVNFRF9QQVJBTShsYWJlbCk7CisgICAgLy8gQmVjYXVzZSBN
VExEZXZpY2VzIGFyZSBwcm9jZXNzLWdsb2JhbCwgd2UgY2FuJ3Qgc2V0IHRoZSBsYWJlbCBvbiBp
dCwgYmVjYXVzZSAyIGNvbnRleHRzJyBsYWJlbHMgd291bGQgZmlnaHQgZWFjaCBvdGhlci4KIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViR1BVCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9JbnN0YW5jZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0luc3RhbmNlLm1tCmluZGV4IDE1
NjkwOGYyOWU0OS4uY2E1NTljN2MzNmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9JbnN0YW5jZS5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5tbQpAQCAt
NzQsMTEgKzc0LDc0IEBAIHZvaWQgSW5zdGFuY2U6OnByb2Nlc3NFdmVudHMoKQogICAgIH0gd2hp
bGUgKHJlc3VsdCk7CiB9CiAKK3N0YXRpYyBOU0FycmF5PGlkIDxNVExEZXZpY2U+PiAqc29ydGVk
RGV2aWNlcyhOU0FycmF5PGlkIDxNVExEZXZpY2U+PiAqZGV2aWNlcywgV0dQVVBvd2VyUHJlZmVy
ZW5jZSBwb3dlclByZWZlcmVuY2UpCit7CisgICAgc3dpdGNoIChwb3dlclByZWZlcmVuY2UpIHsK
KyAgICBjYXNlIFdHUFVQb3dlclByZWZlcmVuY2VfVW5kZWZpbmVkOgorICAgICAgICByZXR1cm4g
ZGV2aWNlczsKKyAgICBjYXNlIFdHUFVQb3dlclByZWZlcmVuY2VfTG93UG93ZXI6CisgICAgICAg
IHJldHVybiBbZGV2aWNlcyBzb3J0ZWRBcnJheVdpdGhPcHRpb25zOk5TU29ydFN0YWJsZSB1c2lu
Z0NvbXBhcmF0b3I6Xk5TQ29tcGFyaXNvblJlc3VsdCAoaWQgPE1UTERldmljZT4gb2JqMSwgaWQg
PE1UTERldmljZT4gb2JqMikKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKG9iajEubG93UG93
ZXIgPT0gb2JqMi5sb3dQb3dlcikKKyAgICAgICAgICAgICAgICByZXR1cm4gTlNPcmRlcmVkU2Ft
ZTsKKyAgICAgICAgICAgIGlmIChvYmoxLmxvd1Bvd2VyKQorICAgICAgICAgICAgICAgIHJldHVy
biBOU09yZGVyZWRBc2NlbmRpbmc7CisgICAgICAgICAgICByZXR1cm4gTlNPcmRlcmVkRGVzY2Vu
ZGluZzsKKyAgICAgICAgfV07CisgICAgY2FzZSBXR1BVUG93ZXJQcmVmZXJlbmNlX0hpZ2hQZXJm
b3JtYW5jZToKKyAgICAgICAgcmV0dXJuIFtkZXZpY2VzIHNvcnRlZEFycmF5V2l0aE9wdGlvbnM6
TlNTb3J0U3RhYmxlIHVzaW5nQ29tcGFyYXRvcjpeTlNDb21wYXJpc29uUmVzdWx0IChpZCA8TVRM
RGV2aWNlPiBvYmoxLCBpZCA8TVRMRGV2aWNlPiBvYmoyKQorICAgICAgICB7CisgICAgICAgICAg
ICBpZiAob2JqMS5sb3dQb3dlciA9PSBvYmoyLmxvd1Bvd2VyKQorICAgICAgICAgICAgICAgIHJl
dHVybiBOU09yZGVyZWRTYW1lOworICAgICAgICAgICAgaWYgKG9iajEubG93UG93ZXIpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIE5TT3JkZXJlZERlc2NlbmRpbmc7CisgICAgICAgICAgICByZXR1
cm4gTlNPcmRlcmVkQXNjZW5kaW5nOworICAgICAgICB9XTsKKyAgICBkZWZhdWx0OgorICAgICAg
ICByZXR1cm4gbmlsOworICAgIH0KK30KKwogdm9pZCBJbnN0YW5jZTo6cmVxdWVzdEFkYXB0ZXIo
Y29uc3QgV0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucyogb3B0aW9ucywgV1RGOjpGdW5jdGlvbjx2
b2lkKFdHUFVSZXF1ZXN0QWRhcHRlclN0YXR1cywgUmVmUHRyPEFkYXB0ZXI+JiYsIGNvbnN0IGNo
YXIqKT4mJiBjYWxsYmFjaykKIHsKLSAgICBVTlVTRURfUEFSQU0ob3B0aW9ucyk7Ci0gICAgVU5V
U0VEX1BBUkFNKGNhbGxiYWNrKTsKLSAgICBjYWxsYmFjayhXR1BVUmVxdWVzdEFkYXB0ZXJTdGF0
dXNfVW5hdmFpbGFibGUsIEFkYXB0ZXI6OmNyZWF0ZShuaWwpLCAiQWRhcHRlciIpOworI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisgICAgTlNBcnJheTxpZCA8TVRM
RGV2aWNlPj4gKmRldmljZXMgPSBNVExDb3B5QWxsRGV2aWNlcygpOworI2Vsc2UKKyAgICBOU0Fy
cmF5PGlkIDxNVExEZXZpY2U+PiAqZGV2aWNlcyA9IFtOU0FycmF5IGFycmF5XTsKKyAgICBpZiAo
aWQgPE1UTERldmljZT4gZGV2aWNlID0gTVRMQ3JlYXRlU3lzdGVtRGVmYXVsdERldmljZSgpKQor
ICAgICAgICBbZGV2aWNlcyBhcHBlbmQ6ZGV2aWNlXTsKKyNlbmRpZgorCisgICAgLy8gRklYTUU6
IERlYWwgd2l0aCBvcHRpb25zLT5jb21wYXRpYmxlU3VyZmFjZS4KKworICAgIGF1dG8gc29ydGVk
RGV2aWNlcyA9IFdlYkdQVTo6c29ydGVkRGV2aWNlcyhkZXZpY2VzLCBvcHRpb25zLT5wb3dlclBy
ZWZlcmVuY2UpOworCisgICAgaWYgKG9wdGlvbnMtPm5leHRJbkNoYWluKSB7CisgICAgICAgIGNh
bGxiYWNrKFdHUFVSZXF1ZXN0QWRhcHRlclN0YXR1c19FcnJvciwgbnVsbHB0ciwgIlVua25vd24g
ZGVzY3JpcHRvciB0eXBlIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAob3B0
aW9ucy0+Zm9yY2VGYWxsYmFja0FkYXB0ZXIpIHsKKyAgICAgICAgY2FsbGJhY2soV0dQVVJlcXVl
c3RBZGFwdGVyU3RhdHVzX1VuYXZhaWxhYmxlLCBudWxscHRyLCAiTm8gYWRhcHRlcnMgcHJlc2Vu
dCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFzb3J0ZWREZXZpY2VzKSB7
CisgICAgICAgIGNhbGxiYWNrKFdHUFVSZXF1ZXN0QWRhcHRlclN0YXR1c19FcnJvciwgbnVsbHB0
ciwgIlVua25vd24gcG93ZXIgcHJlZmVyZW5jZSIpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgaWYgKCFzb3J0ZWREZXZpY2VzLmNvdW50KSB7CisgICAgICAgIGNhbGxiYWNrKFdHUFVS
ZXF1ZXN0QWRhcHRlclN0YXR1c19VbmF2YWlsYWJsZSwgbnVsbHB0ciwgIk5vIGFkYXB0ZXJzIHBy
ZXNlbnQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghc29ydGVkRGV2aWNl
c1swXSkgeworICAgICAgICBjYWxsYmFjayhXR1BVUmVxdWVzdEFkYXB0ZXJTdGF0dXNfRXJyb3Is
IG51bGxwdHIsICJBZGFwdGVyIGlzIGludGVybmFsbHkgbnVsbCIpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgY2FsbGJhY2soV0dQVVJlcXVlc3RBZGFwdGVyU3RhdHVzX1N1Y2Nlc3Ms
IEFkYXB0ZXI6OmNyZWF0ZShzb3J0ZWREZXZpY2VzWzBdKSwgbnVsbHB0cik7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkdQVQo=
</data>
<flag name="review"
          id="479784"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>