<?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>134854</bug_id>
          
          <creation_ts>2014-07-12 06:10:04 -0700</creation_ts>
          <short_desc>Safari 8 on OSX 10.10 does not run WebGL in Retina HiDPI mode.</short_desc>
          <delta_ts>2014-10-07 19:23:39 -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>Mac</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://threejs.org/examples/#webgl_buffergeometry_uint</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>rik</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>evan.exe</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>1021966</commentid>
    <comment_count>0</comment_count>
    <who name="">rik</who>
    <bug_when>2014-07-12 06:10:04 -0700</bug_when>
    <thetext>Tested on Retina macbook pro mid 2012, nvidia GPU.

HighDPI backbuffer resolution (set to 2x the css size) does not result in a hidpi blit to the front. Changing the backbuffer resolution does change the aliasing in the picture, so that appears to do something, but it seems to be just the compositor that somehow lowers the resolution again of the final output. Antialiasing is off, so i should be able to see hard jagged poly edges at highdp, but everything is as blurry as if the output is downscaled to lowdpi and then bilinear scaled back up to the final output.
Works fine on Safari on iOS 8 on retina ipad mini and works on Chrome on OSX 10.10 on the same machine.
Canvas 2D context does seem to blit correctly with the HiDPI backbuffer res.

I just applied the latest update of 10.10, version of safari is: 8.0 (10538.39.41), bug is still present.
I cant run nightly to try there since it says its not compatible with mavericks

As a test run the threejs example in chrome and in safari and the difference is immediately visible.
http://threejs.org/examples/#webgl_buffergeometry_uint

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037389</commentid>
    <comment_count>1</comment_count>
    <who name="">evan.exe</who>
    <bug_when>2014-09-25 20:36:59 -0700</bug_when>
    <thetext>I just discovered this. This makes our app look awful, and is still present in WebKit Nightly.

One workaround is to use a CSS scale transform to do the downscaling instead of normal CSS positioning, although this goes against the recommendation from https://www.khronos.org/webgl/wiki/HandlingHighDPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037411</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-09-25 22:40:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/18465263&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037552</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-09-26 14:01:08 -0700</bug_when>
    <thetext>Yikes. This is pretty bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039422</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-03 17:52:39 -0700</bug_when>
    <thetext>I have a fix. Just need to write a test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039423</commentid>
    <comment_count>5</comment_count>
      <attachid>239257</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-03 18:01:57 -0700</bug_when>
    <thetext>Created attachment 239257
Patch (without testcase)

I&apos;ll write a testcase when I think of how best to do it :)

And then submit a patch for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039503</commentid>
    <comment_count>6</comment_count>
    <who name="">evan.exe</who>
    <bug_when>2014-10-04 07:54:58 -0700</bug_when>
    <thetext>Thanks for working on this bug! Keep in mind that the devicePixelRatio may change during the lifetime of the page. For example, the browser window may load the page on a non-retina monitor and then be dragged over to a retina monitor. It looks like your patch only reads the devicePixelRatio once on WebGL context creation time, so my guess is that it won&apos;t work correctly when the browser window is dragged between displays of different densities.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039875</commentid>
    <comment_count>7</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-06 16:48:28 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Thanks for working on this bug! Keep in mind that the devicePixelRatio may change during the lifetime of the page. For example, the browser window may load the page on a non-retina monitor and then be dragged over to a retina monitor. It looks like your patch only reads the devicePixelRatio once on WebGL context creation time, so my guess is that it won&apos;t work correctly when the browser window is dragged between displays of different densities.

Nope - we don&apos;t yet do that in WebKit/Safari. We have some open bugs on it.

Also, it&apos;s not really clear if a canvas should do that when the density changes. The issue here is that the author decided they wanted a 100x100 canvas because they are on a 2x display and the canvas is 50x50 CSS px. If you want the backing store of the canvas to change then you need to adjust its width and height (effectively resetting the canvas). Images don&apos;t do this by default either. Only srcset and &lt;picture&gt; would handle it, because they are explicit about what content should be used at what density.

The bug was that even when the author was taking 2x into consideration, the compositor wasn&apos;t - and was still allocating a 1x rendering target.

It&apos;s an interesting question. Nothing in the canvas or WebGL spec says that anything should happen when the display density changes. That&apos;s why, for now, it should be a context creation time thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040165</commentid>
    <comment_count>8</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-07 17:07:07 -0700</bug_when>
    <thetext>Turns out this is untestable! (at the moment)

A script test won&apos;t work because it would read the pixels from the buffer, and the buffer is always correct. It&apos;s the compositing that is wrong.

A ref test should work, but WebGL hangs in reftests. I&apos;ll have to work out why.

Printing the layer tree also won&apos;t work, since the change is in the CALayer subclass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040175</commentid>
    <comment_count>9</comment_count>
      <attachid>239445</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-07 18:29:19 -0700</bug_when>
    <thetext>Created attachment 239445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040176</commentid>
    <comment_count>10</comment_count>
      <attachid>239445</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-10-07 18:38:20 -0700</bug_when>
    <thetext>Comment on attachment 239445
Patch

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

&gt; Source/WebCore/ChangeLog:20
&gt; +

- we don&apos;t believe in pixel tests?

&gt; Source/WebCore/platform/graphics/GraphicsContext3D.h:445
&gt; +            , devicePixelRatio(1.0)

just 1, I think?

&gt; Source/WebCore/platform/graphics/mac/WebGLLayer.mm:53
&gt; +    self.contentsScale = _devicePixelRatio;

why is iOS special here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040177</commentid>
    <comment_count>11</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-07 18:47:01 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 239445 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=239445&amp;action=review

&gt; &gt; Source/WebCore/platform/graphics/mac/WebGLLayer.mm:53
&gt; &gt; +    self.contentsScale = _devicePixelRatio;
&gt; 
&gt; why is iOS special here?

It&apos;s not, but OS X is the only place where we render from the WebGL FBO into the CALayer backing store.

I need to investigate if we&apos;re doing this unnecessarily on OS X.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040180</commentid>
    <comment_count>12</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-07 19:23:39 -0700</bug_when>
    <thetext>Committed r174414: &lt;http://trac.webkit.org/changeset/174414&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239257</attachid>
            <date>2014-10-03 18:01:57 -0700</date>
            <delta_ts>2014-10-07 18:29:05 -0700</delta_ts>
            <desc>Patch (without testcase)</desc>
            <filename>retina-gl-fix.patch</filename>
            <type>text/plain</type>
            <size>5144</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhYzhlYjI2Li40ZWE3NTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTQtMTAtMDMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAg
IFNhZmFyaSA4IG9uIE9TWCAxMC4xMCBkb2VzIG5vdCBydW4gV2ViR0wgaW4gUmV0aW5hIEhpRFBJ
IG1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MzQ4NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE4NDY1MjYzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBOU09wZW5HTExheWVyIGhhcyB0
byBoYXZlIGl0cyBjb250ZW50U2NhbGUgcHJvcGVydHkKKyAgICAgICAgc2V0IGFjY29yZGluZ2x5
IHdoZW4gb24gYSByZXRpbmEgZGlzcGxheS4gRG8gdGhpcyBieQorICAgICAgICBhZGRpbmcgYW5v
dGhlciB2YWx1ZSB0byB0aGUgR3JhcGhpY3NDb250ZXh0M0QgY3JlYXRpb24KKyAgICAgICAgYXR0
cmlidXRlIGRpY3Rpb25hcnksIHJlcHJlc2VudGluZyB0aGUgZGV2aWNlIHBpeGVsIHJhdGlvLgor
ICAgICAgICBUaGVuLCB3aGVuIHdlIGNvbWUgdG8gZHJhdyBpbnRvIHRoZSBsYXllciwgbWFrZSBz
dXJlCisgICAgICAgIHdlIHNldCBvdXIgR0wgdmlld3BvcnQgdG8gdGhlIGNvcnJlY3QgdmFsdWUu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuIEknbGwgYWRkIGEgdGVzdCB3aGVuIEkg
c2VuZCB0aGlzIGZvciByZXZpZXcuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpjcmVhdGUpOiBQYXNzIHRoZSBkZXZpY2VQaXhlbFJhdGlvIGludG8gdGhlIGF0dHJpYnV0ZSBk
aWN0aW9uYXJ5LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlczo6QXR0
cmlidXRlcyk6IEFkZCBhIGRldmljZVBpeGVsUmF0aW8gYXR0cmlidXRlLgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21hYy9XZWJHTExheWVyLmg6IE5ldyBwcm9wZXJ0eSB0byBzYXZlIHVz
IGxvb2tpbmcgdXAgdGhlIGF0dHJpYnV0ZXMKKyAgICAgICAgZWFjaCBmcmFtZS4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViR0xMYXllci5tbToKKyAgICAgICAgKC1bV2ViR0xM
YXllciBpbml0V2l0aEdyYXBoaWNzQ29udGV4dDNEOl0pOiBTdG9yZSB0aGUgZGV2aWNlUGl4ZWxS
YXRpbywgYW5kIHNldCBvdXIKKyAgICAgICAgY29udGVudHMgc2NhbGUgYXBwcm9wcmlhdGVseS4K
KyAgICAgICAgKC1bV2ViR0xMYXllciBkcmF3SW5DR0xDb250ZXh0OnBpeGVsRm9ybWF0OmZvckxh
eWVyVGltZTpkaXNwbGF5VGltZTpdKTogRHJhdyBpbnRvCisgICAgICAgIGEgY29ycmVjdGx5IHNp
emVkIGJhY2tidWZmZXIuCisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTpdKTogR2VuZXJhdGUgYW4gaW1hZ2Ugb2YgdGhlIGNvcnJlY3Qgc2l6ZS4K
KwogMjAxNC0xMC0wMSAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW1RleE1hcF0gU3ByaW5rbGUgcmFuZ2UtYmFzZWQgZm9yLWxvb3BzIGluIEdyYXBoaWNz
TGF5ZXJUZXh0dXJlTWFwcGVyLCBUZXh0dXJlTWFwcGVyTGF5ZXIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDNjMmQ4
NGYuLmI2ODJhN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNDM0LDYgKzQzNCw5IEBAIHN0ZDo6dW5pcXVlX3B0
cjxXZWJHTFJlbmRlcmluZ0NvbnRleHQ+IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKEhU
TUxDYW52YXNFCiAgICAgaWYgKGZyYW1lLT5zZXR0aW5ncygpLmZvcmNlU29mdHdhcmVXZWJHTFJl
bmRlcmluZygpKQogICAgICAgICBhdHRyaWJ1dGVzLmZvcmNlU29mdHdhcmVSZW5kZXJlciA9IHRy
dWU7CiAKKyAgICBpZiAocGFnZSkKKyAgICAgICAgYXR0cmlidXRlcy5kZXZpY2VQaXhlbFJhdGlv
ID0gcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKKwogICAgIGlmIChpc1BlbmRpbmdQb2xpY3lS
ZXNvbHV0aW9uKSB7CiAgICAgICAgIExPRyhXZWJHTCwgIkNyZWF0ZSBhIFdlYkdMIGNvbnRleHQg
dGhhdCBsb29rcyByZWFsLCBidXQgd2lsbCByZXF1aXJlIGEgcG9saWN5IHJlc29sdXRpb24gaWYg
dXNlZC4iKTsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4g
cmVuZGVyaW5nQ29udGV4dChuZXcgV2ViR0xSZW5kZXJpbmdDb250ZXh0KGNhbnZhcywgYXR0cmli
dXRlcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dDNELmgKaW5kZXggMTExMDZiYi4uM2E2Y2Y0NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC00NDIs
NiArNDQyLDcgQEAgcHVibGljOgogICAgICAgICAgICAgLCBzaGFyZVJlc291cmNlcyh0cnVlKQog
ICAgICAgICAgICAgLCBwcmVmZXJEaXNjcmV0ZUdQVShmYWxzZSkKICAgICAgICAgICAgICwgZm9y
Y2VTb2Z0d2FyZVJlbmRlcmVyKGZhbHNlKQorICAgICAgICAgICAgLCBkZXZpY2VQaXhlbFJhdGlv
KDEuMCkKICAgICAgICAgewogICAgICAgICB9CiAKQEAgLTQ1NSw2ICs0NTYsNyBAQCBwdWJsaWM6
CiAgICAgICAgIGJvb2wgc2hhcmVSZXNvdXJjZXM7CiAgICAgICAgIGJvb2wgcHJlZmVyRGlzY3Jl
dGVHUFU7CiAgICAgICAgIGJvb2wgZm9yY2VTb2Z0d2FyZVJlbmRlcmVyOworICAgICAgICBmbG9h
dCBkZXZpY2VQaXhlbFJhdGlvOwogICAgIH07CiAKICAgICBlbnVtIFJlbmRlclN0eWxlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJHTExheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViR0xMYXllci5oCmlu
ZGV4IDk2ODcxYTguLmE1NzM1OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9XZWJHTExheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIuaApAQCAtNDAsNiArNDAsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAjZW5kaWYKIHsKICAgICBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCogX2NvbnRl
eHQ7CisgICAgZmxvYXQgX2RldmljZVBpeGVsUmF0aW87CiB9CiAKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCogY29udGV4dDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJHTExheWVyLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIubW0KaW5kZXggNTVkZTA0
ZS4uODA3ZmY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL1dlYkdMTGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL1dlYkdMTGF5ZXIubW0KQEAgLTQ4LDYgKzQ4LDEwIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogewogICAgIF9jb250ZXh0ID0gY29udGV4dDsKICAgICBzZWxmID0gW3N1cGVyIGluaXRd
OworICAgIF9kZXZpY2VQaXhlbFJhdGlvID0gY29udGV4dC0+Z2V0Q29udGV4dEF0dHJpYnV0ZXMo
KS5kZXZpY2VQaXhlbFJhdGlvOworI2lmICFQTEFURk9STShJT1MpCisgICAgc2VsZi5jb250ZW50
c1NjYWxlID0gX2RldmljZVBpeGVsUmF0aW87CisjZW5kaWYKICAgICByZXR1cm4gc2VsZjsKIH0K
IApAQCAtODEsNyArODUsOSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAgICBDR0xTZXRD
dXJyZW50Q29udGV4dChnbENvbnRleHQpOwogCiAgICAgQ0dSZWN0IGZyYW1lID0gW3NlbGYgZnJh
bWVdOwotICAgICAgICAKKyAgICBmcmFtZS5zaXplLndpZHRoICo9IF9kZXZpY2VQaXhlbFJhdGlv
OworICAgIGZyYW1lLnNpemUuaGVpZ2h0ICo9IF9kZXZpY2VQaXhlbFJhdGlvOworCiAgICAgLy8g
ZHJhdyB0aGUgRkJPIGludG8gdGhlIGxheWVyCiAgICAgZ2xWaWV3cG9ydCgwLCAwLCBmcmFtZS5z
aXplLndpZHRoLCBmcmFtZS5zaXplLmhlaWdodCk7CiAgICAgZ2xNYXRyaXhNb2RlKEdMX1BST0pF
Q1RJT04pOwpAQCAtMTM0LDggKzE0MCw4IEBAIHN0YXRpYyB2b2lkIGZyZWVEYXRhKHZvaWQgKiwg
Y29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IC8qIHNpemUgKi8pCiAKICAgICBDR1JlY3QgbGF5ZXJC
b3VuZHMgPSBDR1JlY3RJbnRlZ3JhbChbc2VsZiBib3VuZHNdKTsKICAgICAKLSAgICBzaXplX3Qg
d2lkdGggPSBsYXllckJvdW5kcy5zaXplLndpZHRoOwotICAgIHNpemVfdCBoZWlnaHQgPSBsYXll
ckJvdW5kcy5zaXplLmhlaWdodDsKKyAgICBzaXplX3Qgd2lkdGggPSBsYXllckJvdW5kcy5zaXpl
LndpZHRoICogX2RldmljZVBpeGVsUmF0aW87CisgICAgc2l6ZV90IGhlaWdodCA9IGxheWVyQm91
bmRzLnNpemUuaGVpZ2h0ICogX2RldmljZVBpeGVsUmF0aW87CiAKICAgICBzaXplX3Qgcm93Qnl0
ZXMgPSAod2lkdGggKiA0ICsgMTUpICYgfjE1OwogICAgIHNpemVfdCBkYXRhU2l6ZSA9IHJvd0J5
dGVzICogaGVpZ2h0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239445</attachid>
            <date>2014-10-07 18:29:19 -0700</date>
            <delta_ts>2014-10-07 18:38:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134854-20141008122919.patch</filename>
            <type>text/plain</type>
            <size>5678</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWM4ZWIyNjY1ODQ0Y2Ux
OTU4ZDM1NmQ4YzI0YTEyMzJkZDdlNWQ5NS4uODZjNGZiMDBkZDU5NzViM2JkOWM4M2VkY2Y2OTUz
Yjg5OGRmNGJlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTEwLTAzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBTYWZhcmkgOCBvbiBPU1ggMTAu
MTAgZG9lcyBub3QgcnVuIFdlYkdMIGluIFJldGluYSBIaURQSSBtb2RlLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0ODU0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8xODQ2NTI2Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgTlNPcGVuR0xMYXllciBoYXMgdG8gaGF2ZSBpdHMgY29udGVudFNj
YWxlIHByb3BlcnR5CisgICAgICAgIHNldCBhY2NvcmRpbmdseSB3aGVuIG9uIGEgcmV0aW5hIGRp
c3BsYXkuIERvIHRoaXMgYnkKKyAgICAgICAgYWRkaW5nIGFub3RoZXIgdmFsdWUgdG8gdGhlIEdy
YXBoaWNzQ29udGV4dDNEIGNyZWF0aW9uCisgICAgICAgIGF0dHJpYnV0ZSBkaWN0aW9uYXJ5LCBy
ZXByZXNlbnRpbmcgdGhlIGRldmljZSBwaXhlbCByYXRpby4KKyAgICAgICAgVGhlbiwgd2hlbiB3
ZSBjb21lIHRvIGRyYXcgaW50byB0aGUgbGF5ZXIsIG1ha2Ugc3VyZQorICAgICAgICB3ZSBzZXQg
b3VyIEdMIHZpZXdwb3J0IHRvIHRoZSBjb3JyZWN0IHZhbHVlLgorCisgICAgICAgIFRoaXMgaXMg
Y3VycmVudGx5IHVudGVzdGFibGUgYmVjYXVzZToKKyAgICAgICAgLSB3ZSBjYW4ndCBqdXN0IHJl
YWQgZnJvbSB0aGUgR0wgYnVmZmVyIGFzIGl0IGlzIGFsd2F5cyBjb3JyZWN0CisgICAgICAgIC0g
V2ViR0wgaXNuJ3Qgd29ya2luZyBpbiByZWZ0ZXN0cworICAgICAgICAtIGEgbGF5ZXIgZHVtcCBk
b2Vzbid0IHNob3cgdGhlIGNoYW5nZSBzaW5jZSBpdCB3YXMgZG9uZSBpbiBhIENBTGF5ZXIgc3Vi
Y2xhc3MuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGUpOiBQYXNz
IHRoZSBkZXZpY2VQaXhlbFJhdGlvIGludG8gdGhlIGF0dHJpYnV0ZSBkaWN0aW9uYXJ5LgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlczo6QXR0cmlidXRlcyk6IEFkZCBh
IGRldmljZVBpeGVsUmF0aW8gYXR0cmlidXRlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L21hYy9XZWJHTExheWVyLmg6IE5ldyBwcm9wZXJ0eSB0byBzYXZlIHVzIGxvb2tpbmcgdXAgdGhl
IGF0dHJpYnV0ZXMKKyAgICAgICAgZWFjaCBmcmFtZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9tYWMvV2ViR0xMYXllci5tbToKKyAgICAgICAgKC1bV2ViR0xMYXllciBpbml0V2l0aEdy
YXBoaWNzQ29udGV4dDNEOl0pOiBTdG9yZSB0aGUgZGV2aWNlUGl4ZWxSYXRpbywgYW5kIHNldCBv
dXIKKyAgICAgICAgY29udGVudHMgc2NhbGUgYXBwcm9wcmlhdGVseS4KKyAgICAgICAgKC1bV2Vi
R0xMYXllciBkcmF3SW5DR0xDb250ZXh0OnBpeGVsRm9ybWF0OmZvckxheWVyVGltZTpkaXNwbGF5
VGltZTpdKTogRHJhdyBpbnRvCisgICAgICAgIGEgY29ycmVjdGx5IHNpemVkIGJhY2tidWZmZXIu
CisgICAgICAgICgtW1dlYkdMTGF5ZXIgY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTpd
KTogR2VuZXJhdGUgYW4gaW1hZ2Ugb2YgdGhlIGNvcnJlY3Qgc2l6ZS4KKwogMjAxNC0xMC0wMSAg
WmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1RleE1hcF0g
U3ByaW5rbGUgcmFuZ2UtYmFzZWQgZm9yLWxvb3BzIGluIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFw
cGVyLCBUZXh0dXJlTWFwcGVyTGF5ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDNjMmQ4NGYxNDY4OWI4YzVjMWZk
MWYyNGE1ZmRjMzYzNmYwZjkwZmEuLmI2ODJhN2UwNDI2MzAwM2RjNTIzMjgxMTkwYWRjY2NmMDQy
ZjEzNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmNwcApAQCAtNDM0LDYgKzQzNCw5IEBAIHN0ZDo6dW5pcXVlX3B0cjxXZWJH
TFJlbmRlcmluZ0NvbnRleHQ+IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKEhUTUxDYW52
YXNFCiAgICAgaWYgKGZyYW1lLT5zZXR0aW5ncygpLmZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmlu
ZygpKQogICAgICAgICBhdHRyaWJ1dGVzLmZvcmNlU29mdHdhcmVSZW5kZXJlciA9IHRydWU7CiAK
KyAgICBpZiAocGFnZSkKKyAgICAgICAgYXR0cmlidXRlcy5kZXZpY2VQaXhlbFJhdGlvID0gcGFn
ZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKKwogICAgIGlmIChpc1BlbmRpbmdQb2xpY3lSZXNvbHV0
aW9uKSB7CiAgICAgICAgIExPRyhXZWJHTCwgIkNyZWF0ZSBhIFdlYkdMIGNvbnRleHQgdGhhdCBs
b29rcyByZWFsLCBidXQgd2lsbCByZXF1aXJlIGEgcG9saWN5IHJlc29sdXRpb24gaWYgdXNlZC4i
KTsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4gcmVuZGVy
aW5nQ29udGV4dChuZXcgV2ViR0xSZW5kZXJpbmdDb250ZXh0KGNhbnZhcywgYXR0cmlidXRlcykp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgKaW5kZXggMTExMDZiYjMzNjViM2I5ZjcyNjgwYTVlYWUyNDBkYWNhNDdjMDY1ZS4u
M2E2Y2Y0NmQwYzg3M2YwOWJiZWEwNWQyMWQwYjdmZWZhN2I4ZWU3ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC00
NDIsNiArNDQyLDcgQEAgcHVibGljOgogICAgICAgICAgICAgLCBzaGFyZVJlc291cmNlcyh0cnVl
KQogICAgICAgICAgICAgLCBwcmVmZXJEaXNjcmV0ZUdQVShmYWxzZSkKICAgICAgICAgICAgICwg
Zm9yY2VTb2Z0d2FyZVJlbmRlcmVyKGZhbHNlKQorICAgICAgICAgICAgLCBkZXZpY2VQaXhlbFJh
dGlvKDEuMCkKICAgICAgICAgewogICAgICAgICB9CiAKQEAgLTQ1NSw2ICs0NTYsNyBAQCBwdWJs
aWM6CiAgICAgICAgIGJvb2wgc2hhcmVSZXNvdXJjZXM7CiAgICAgICAgIGJvb2wgcHJlZmVyRGlz
Y3JldGVHUFU7CiAgICAgICAgIGJvb2wgZm9yY2VTb2Z0d2FyZVJlbmRlcmVyOworICAgICAgICBm
bG9hdCBkZXZpY2VQaXhlbFJhdGlvOwogICAgIH07CiAKICAgICBlbnVtIFJlbmRlclN0eWxlIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJHTExh
eWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViR0xMYXllci5o
CmluZGV4IDk2ODcxYThlMWFiYzY5ZjQ2ZDU5YWM0Njk5ZmU5M2ZlNTZiZjcxNWYuLmE1NzM1OTBh
M2ZkZmM3ZTY2ZGU1ODM3MzMyMjliNGQ1MWFlMWE2OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJHTExheWVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIuaApAQCAtNDAsNiArNDAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIHsKICAgICBXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRCogX2NvbnRleHQ7CisgICAgZmxvYXQgX2RldmljZVBpeGVsUmF0aW87CiB9CiAKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljKSBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCogY29udGV4dDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJHTExheWVy
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIubW0K
aW5kZXggNTVkZTA0ZTI5OWZkZTU2MjlmMWQ1MWE0ZWU2Mzg4Yjg0MjYyMzk5Mi4uODA3ZmY1YTRk
YTRjODUxZTdkMDgwMTllZDE3YjExYTNiZmVkY2VlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIubW0KQEAgLTQ4LDYgKzQ4LDEwIEBA
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogewogICAgIF9jb250ZXh0ID0gY29udGV4dDsKICAg
ICBzZWxmID0gW3N1cGVyIGluaXRdOworICAgIF9kZXZpY2VQaXhlbFJhdGlvID0gY29udGV4dC0+
Z2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5kZXZpY2VQaXhlbFJhdGlvOworI2lmICFQTEFURk9STShJ
T1MpCisgICAgc2VsZi5jb250ZW50c1NjYWxlID0gX2RldmljZVBpeGVsUmF0aW87CisjZW5kaWYK
ICAgICByZXR1cm4gc2VsZjsKIH0KIApAQCAtODEsNyArODUsOSBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKICAgICBDR0xTZXRDdXJyZW50Q29udGV4dChnbENvbnRleHQpOwogCiAgICAgQ0dS
ZWN0IGZyYW1lID0gW3NlbGYgZnJhbWVdOwotICAgICAgICAKKyAgICBmcmFtZS5zaXplLndpZHRo
ICo9IF9kZXZpY2VQaXhlbFJhdGlvOworICAgIGZyYW1lLnNpemUuaGVpZ2h0ICo9IF9kZXZpY2VQ
aXhlbFJhdGlvOworCiAgICAgLy8gZHJhdyB0aGUgRkJPIGludG8gdGhlIGxheWVyCiAgICAgZ2xW
aWV3cG9ydCgwLCAwLCBmcmFtZS5zaXplLndpZHRoLCBmcmFtZS5zaXplLmhlaWdodCk7CiAgICAg
Z2xNYXRyaXhNb2RlKEdMX1BST0pFQ1RJT04pOwpAQCAtMTM0LDggKzE0MCw4IEBAIHN0YXRpYyB2
b2lkIGZyZWVEYXRhKHZvaWQgKiwgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IC8qIHNpemUgKi8p
CiAKICAgICBDR1JlY3QgbGF5ZXJCb3VuZHMgPSBDR1JlY3RJbnRlZ3JhbChbc2VsZiBib3VuZHNd
KTsKICAgICAKLSAgICBzaXplX3Qgd2lkdGggPSBsYXllckJvdW5kcy5zaXplLndpZHRoOwotICAg
IHNpemVfdCBoZWlnaHQgPSBsYXllckJvdW5kcy5zaXplLmhlaWdodDsKKyAgICBzaXplX3Qgd2lk
dGggPSBsYXllckJvdW5kcy5zaXplLndpZHRoICogX2RldmljZVBpeGVsUmF0aW87CisgICAgc2l6
ZV90IGhlaWdodCA9IGxheWVyQm91bmRzLnNpemUuaGVpZ2h0ICogX2RldmljZVBpeGVsUmF0aW87
CiAKICAgICBzaXplX3Qgcm93Qnl0ZXMgPSAod2lkdGggKiA0ICsgMTUpICYgfjE1OwogICAgIHNp
emVfdCBkYXRhU2l6ZSA9IHJvd0J5dGVzICogaGVpZ2h0Owo=
</data>
<flag name="review"
          id="264170"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>