From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12 Date: Tue, 17 Apr 2018 12:01:32 +0200 Message-ID: References: <1523527177-14285-6-git-send-email-vidya.srinivas@intel.com> <1523596958-26701-1-git-send-email-vidya.srinivas@intel.com> <43D4F724E12AB6478FC1572B3FBE89D075F4C0E8@IRSMSX106.ger.corp.intel.com> <3c90a8e9-4fc1-4f9c-717d-620122903162@linux.intel.com> <6928735a-7d7c-860f-0c8f-3e666549827e@linux.intel.com> <315e25ad-53be-3921-44a1-7a7785475afb@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id EFBB389CB9 for ; Tue, 17 Apr 2018 10:01:35 +0000 (UTC) In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Srinivas, Vidya" , "Saarinen, Jani" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T3AgMTctMDQtMTggb20gMTE6NDIgc2NocmVlZiBTcmluaXZhcywgVmlkeWE6Cj4KPj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4gRnJvbTogTWFhcnRlbiBMYW5raG9yc3QgW21haWx0bzpt YWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb21dCj4+IFNlbnQ6IFR1ZXNkYXksIEFwcmls IDE3LCAyMDE4IDM6MDQgUE0KPj4gVG86IFNyaW5pdmFzLCBWaWR5YSA8dmlkeWEuc3Jpbml2YXNA aW50ZWwuY29tPjsgU2FhcmluZW4sIEphbmkKPj4gPGphbmkuc2FhcmluZW5AaW50ZWwuY29tPjsg aW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBDYzogS2FtYXRoLCBTdW5pbCA8c3Vu aWwua2FtYXRoQGludGVsLmNvbT4KPj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MiA2LzZdIGRybS9p OTE1OiBEbyBub3QgZG8gZmIgc3JjIGFkanVzdG1lbnRzIGZvcgo+PiBOVjEyCj4+Cj4+IE9wIDE3 LTA0LTE4IG9tIDEwOjA5IHNjaHJlZWYgU3Jpbml2YXMsIFZpZHlhOgo+Pj4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tCj4+Pj4gRnJvbTogU3Jpbml2YXMsIFZpZHlhCj4+Pj4gU2VudDogVHVl c2RheSwgQXByaWwgMTcsIDIwMTggMTozMiBQTQo+Pj4+IFRvOiAnTWFhcnRlbiBMYW5raG9yc3Qn IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Owo+Pj4+IFNhYXJpbmVuLCBKYW5p IDxqYW5pLnNhYXJpbmVuQGludGVsLmNvbT47Cj4+Pj4gaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+Pj4+IENjOiBLYW1hdGgsIFN1bmlsIDxzdW5pbC5rYW1hdGhAaW50ZWwuY29tPgo+ Pj4+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggdjIgNi82XSBkcm0vaTkxNTogRG8gbm90IGRvIGZiIHNy YyBhZGp1c3RtZW50cwo+Pj4+IGZvcgo+Pj4+IE5WMTIKPj4+Pgo+Pj4+Cj4+Pj4KPj4+Pj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4+Pj4gRnJvbTogTWFhcnRlbiBMYW5raG9yc3QgW21h aWx0bzptYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb21dCj4+Pj4+IFNlbnQ6IFR1ZXNk YXksIEFwcmlsIDE3LCAyMDE4IDE6MjEgUE0KPj4+Pj4gVG86IFNyaW5pdmFzLCBWaWR5YSA8dmlk eWEuc3Jpbml2YXNAaW50ZWwuY29tPjsgU2FhcmluZW4sIEphbmkKPj4+Pj4gPGphbmkuc2Fhcmlu ZW5AaW50ZWwuY29tPjsgaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+Pj4+PiBDYzog S2FtYXRoLCBTdW5pbCA8c3VuaWwua2FtYXRoQGludGVsLmNvbT4KPj4+Pj4gU3ViamVjdDogUmU6 IFtQQVRDSCB2MiA2LzZdIGRybS9pOTE1OiBEbyBub3QgZG8gZmIgc3JjIGFkanVzdG1lbnRzCj4+ Pj4+IGZvcgo+Pj4+PiBOVjEyCj4+Pj4+Cj4+Pj4+IE9wIDE3LTA0LTE4IG9tIDA5OjM4IHNjaHJl ZWYgU3Jpbml2YXMsIFZpZHlhOgo+Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+ Pj4+Pj4gRnJvbTogTWFhcnRlbiBMYW5raG9yc3QgW21haWx0bzptYWFydGVuLmxhbmtob3JzdEBs aW51eC5pbnRlbC5jb21dCj4+Pj4+Pj4gU2VudDogVHVlc2RheSwgQXByaWwgMTcsIDIwMTggMTI6 NTUgUE0KPj4+Pj4+PiBUbzogU2FhcmluZW4sIEphbmkgPGphbmkuc2FhcmluZW5AaW50ZWwuY29t PjsgU3Jpbml2YXMsIFZpZHlhCj4+Pj4+Pj4gPHZpZHlhLnNyaW5pdmFzQGludGVsLmNvbT47Cj4+ Pj4+Pj4gaW50ZWwtZ2Z4LXRyeWJvdEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7Cj4+Pj4+Pj4gaW50 ZWwtIGdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+Pj4+PiBDYzogS2FtYXRoLCBTdW5pbCA8 c3VuaWwua2FtYXRoQGludGVsLmNvbT4KPj4+Pj4+PiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDYv Nl0gZHJtL2k5MTU6IERvIG5vdCBkbyBmYiBzcmMgYWRqdXN0bWVudHMKPj4+Pj4+PiBmb3IKPj4+ Pj4+PiBOVjEyCj4+Pj4+Pj4KPj4+Pj4+PiBPcCAxNy0wNC0xOCBvbSAwODowMyBzY2hyZWVmIFNh YXJpbmVuLCBKYW5pOgo+Pj4+Pj4+PiBMZXRzIG1vdmUgdGhpcyB0byBpbnRlbC1nZnggdG8gZ2V0 IG1vcmUgZXllcyBvbiBpdC4KPj4+Pj4+Pj4KPj4+Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tCj4+Pj4+Pj4+PiBGcm9tOiBTcmluaXZhcywgVmlkeWEKPj4+Pj4+Pj4+IFNlbnQ6IHRp aXN0YWkgMTcuIGh1aHRpa3V1dGEgMjAxOCA1LjQ3Cj4+Pj4+Pj4+PiBUbzogTWFhcnRlbiBMYW5r aG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT47Cj4+Pj4+Pj4+PiBpbnRl bC1nZngtIHRyeWJvdEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+Pj4+Pj4+IENjOiBLYW1hdGgs IFN1bmlsIDxzdW5pbC5rYW1hdGhAaW50ZWwuY29tPjsgU2FhcmluZW4sIEphbmkKPj4+Pj4+Pj4+ IDxqYW5pLnNhYXJpbmVuQGludGVsLmNvbT4KPj4+Pj4+Pj4+IFN1YmplY3Q6IFJFOiBbUEFUQ0gg djIgNi82XSBkcm0vaTkxNTogRG8gbm90IGRvIGZiIHNyYwo+Pj4+Pj4+Pj4gYWRqdXN0bWVudHMg Zm9yIE5WMTIKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQo+Pj4+Pj4+Pj4+IEZyb206IE1hYXJ0ZW4gTGFua2hvcnN0Cj4+ Pj4+Pj4+Pj4gW21haWx0bzptYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb21dCj4+Pj4+ Pj4+Pj4gU2VudDogTW9uZGF5LCBBcHJpbCAxNiwgMjAxOCA4OjAwIFBNCj4+Pj4+Pj4+Pj4gVG86 IFNyaW5pdmFzLCBWaWR5YSA8dmlkeWEuc3Jpbml2YXNAaW50ZWwuY29tPjsgaW50ZWwtZ2Z4LQo+ Pj4+Pj4+Pj4+IHRyeWJvdEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+Pj4+Pj4+PiBDYzogS2Ft YXRoLCBTdW5pbCA8c3VuaWwua2FtYXRoQGludGVsLmNvbT47IFNhYXJpbmVuLCBKYW5pCj4+Pj4+ Pj4+Pj4gPGphbmkuc2FhcmluZW5AaW50ZWwuY29tPgo+Pj4+Pj4+Pj4+IFN1YmplY3Q6IFJlOiBb UEFUQ0ggdjIgNi82XSBkcm0vaTkxNTogRG8gbm90IGRvIGZiIHNyYwo+Pj4+Pj4+Pj4+IGFkanVz dG1lbnRzIGZvcgo+Pj4+Pj4+Pj4+IE5WMTIKPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+IEhtbSwgbW9y ZSB0aG91Z2h0IGFib3V0IHNyYyBhZGp1c3RtZW50cy4uLgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4g T3AgMTMtMDQtMTggb20gMDc6MjIgc2NocmVlZiBWaWR5YSBTcmluaXZhczoKPj4+Pj4+Pj4+Pj4g V2Ugc2tpcCBzcmMgdHJ1bmN0aW9uL2FkanVzdG1lbnRzIGZvcgo+Pj4+Pj4+Pj4+PiBOVjEyIGNh c2UgYW5kIGhhbmRsZSB0aGUgc2l6ZXMgZGlyZWN0bHkuCj4+Pj4+Pj4+Pj4+IFdpdGhvdXQgdGhp cywgcGlwZSBmaWZvIHVuZGVycnVucyBhcmUgc2VlbiBvbiBBUEwvS0JMLgo+Pj4+Pj4+Pj4+Pgo+ Pj4+Pj4+Pj4+PiB2MjogRm9yIE5WMTIsIG1ha2luZyB0aGUgc3JjIGNvb3JkaW5hdGVzIG11bHRp cGxpZXIgb2YgNAo+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+PiBDcmVkaXRzLXRvOiBNYWFydGVuIExh bmtob3JzdAo+Pj4+Pj4+Pj4+PiA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+ Pj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBWaWR5YSBTcmluaXZhcyA8dmlkeWEuc3Jpbml2YXNA aW50ZWwuY29tPgo+Pj4+Pj4+Pj4+PiAtLS0KPj4+Pj4+Pj4+Pj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyB8IDExICsrKysrKysrKysrCj4+Pj4+Pj4+Pj4+IGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8IDE1ICsrKysrKysrKysrKysrKwo+Pj4+Pj4+ Pj4+PiAgMiBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspCj4+Pj4+Pj4+Pj4+Cj4+Pj4+ Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK Pj4+Pj4+Pj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+Pj4+ Pj4+Pj4gaW5kZXggYmM4M2YxMC4uZjY0NzA4ZiAxMDA2NDQKPj4+Pj4+Pj4+Pj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+Pj4+Pj4+Pj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+Pj4+Pj4+Pj4+PiBAQCAtMTI5NzgsNiAr MTI5NzgsMTAgQEAgaW50ZWxfY2hlY2tfcHJpbWFyeV9wbGFuZShzdHJ1Y3QKPj4+Pj4+Pj4+PiBp bnRlbF9wbGFuZSAqcGxhbmUsCj4+Pj4+Pj4+Pj4+ICAJYm9vbCBjYW5fcG9zaXRpb24gPSBmYWxz ZTsKPj4+Pj4+Pj4+Pj4gIAlpbnQgcmV0Owo+Pj4+Pj4+Pj4+PiAgCXVpbnQzMl90IHBpeGVsX2Zv cm1hdCA9IDA7Cj4+Pj4+Pj4+Pj4+ICsJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3Rh dGUgPSAmc3RhdGUtPmJhc2U7Cj4+Pj4+Pj4+Pj4+ICsJc3RydWN0IGRybV9yZWN0ICpzcmMgPSAm cGxhbmVfc3RhdGUtPnNyYzsKPj4+Pj4+Pj4+Pj4gKwo+Pj4+Pj4+Pj4+PiArCSpzcmMgPSBkcm1f cGxhbmVfc3RhdGVfc3JjKHBsYW5lX3N0YXRlKTsKPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4gIAlp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4+Pj4+Pj4+Pj4+ICAJCS8qIHVzZSBzY2Fs ZXIgd2hlbiBjb2xvcmtleSBpcyBub3QgcmVxdWlyZWQgKi8gQEAgLQo+Pj4+PiAxMzAwMSw2Cj4+ Pj4+Pj4+Pj4+ICsxMzAwNSwxMyBAQCBpbnRlbF9jaGVja19wcmltYXJ5X3BsYW5lKHN0cnVjdCBp bnRlbF9wbGFuZQo+Pj4+PiAqcGxhbmUsCj4+Pj4+Pj4+Pj4+ICAJaWYgKCFzdGF0ZS0+YmFzZS5m YikKPj4+Pj4+Pj4+Pj4gIAkJcmV0dXJuIDA7Cj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+ICsJaWYg KHBpeGVsX2Zvcm1hdCA9PSBEUk1fRk9STUFUX05WMTIpIHsKPj4+Pj4+Pj4+Pj4gKwkJc3JjLT54 MSA9ICgoKHNyYy0+eDEgPj4gMTYpLzQpKjQpIDw8IDE2Owo+Pj4+Pj4+Pj4+PiArCQlzcmMtPngy ID0gKCgoc3JjLT54MiA+PiAxNikvNCkqNCkgPDwgMTY7Cj4+Pj4+Pj4+Pj4+ICsJCXNyYy0+eTEg PSAoKChzcmMtPnkxID4+IDE2KS80KSo0KSA8PCAxNjsKPj4+Pj4+Pj4+Pj4gKwkJc3JjLT55MiA9 ICgoKHNyYy0+eTIgPj4gMTYpLzQpKjQpIDw8IDE2Owo+Pj4+Pj4+Pj4+PiArCX0KPj4+Pj4+Pj4+ PiBMZXRzIHJlamVjdCBub24gbXVsdGlwbGUgb2YgNCBjb29yZGluYXRlcyBmb3IgcGxhbmVfc3Rh dGUncwo+Pj4+Pj4+Pj4+IHNyY194IGFuZCBzcmNfeSwgYW5kIGJlZm9yZSBhZGp1c3RtZW50IGFs c28gcmVqZWN0IG5vbiBtdWx0aXBsZQo+Pj4+Pj4+Pj4+IG9mIDQgc3JjX3cvc3JjX2guZnRlciB0 aGF0IHdlIGNhbiBhbHNvIHJlamVjdCBjbGlwcGluZyB0byB0aGUKPj4+Pj4+Pj4+PiByaWdodC9i b3R0b20gZWRnZSBvZiB0aGUgc2NyZWVuLCBpZiB0aGUgcGlwZV9zcmNfdy9oIGlzIG5vdCBhCj4+ Pj4+Pj4+Pj4gbXVsdGlwbGUgb2YgNC4gVGhhdCB3YXkgYW4gYXBwbGljYXRpb24gdHJ5aW5nIHRv IGdvIGJleW9uZCB0aGUKPj4+PiBzY3JlZW4uCj4+Pj4+Pj4+PiBrbXNfcGxhbmVfc2NhbGluZyBh bmQgc29tZSBvdGhlciB0ZXN0cyBkdXJpbmcgZXhlY3V0aW9uIGdlbmVyYXRlCj4+Pj4+Pj4+PiBs b3RzIG9mIG5vbiBtdWx0IG9mIDQgYnVmZmVyIHdpZHRoL2hlaWdodC4gQWxsIHRoZXNlIHRlc3Rz IHdpbGwKPj4+Pj4+Pj4+IHNob3cgZmFpbCBpbiB0aGUgSUdUIEJBVC4KPj4+Pj4+Pj4+IEluIHNv bWUgY2FzZXMsIGV2ZW4gdGhvdWdodCB0aGUgd2lkdGggYW5kIGhlaWdodCB3aWxsIGJlCj4+Pj4+ Pj4+PiBtdWx0aXBsZSBvZgo+Pj4+Pj4+Pj4gNCBiZWZvcmUgdGhlIEFkanVzdG1lbnQgKHNheSBv dXIgMTZ4MTYgYnVmZmVyKSwgdGhpcyBhZnRlcgo+Pj4+Pj4+Pj4gYWRqdXN0bWVudCBiZWNvbWVz IGEgMTUgaW4gaW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lLgo+Pj4+Pj4+Pj4gVGhpcyBhZ2FpbiB3 b3VsZCBjYXVzZSB1bmRlcnJ1bi4gSWYgd2UgcmVqZWN0IG5vbiBtdWx0aXBsZSBvZiA0cwo+Pj4+ Pj4+Pj4gaW4gb3VyIHNrbF91cGRhdGVfc2NhbGVyIGFsc28sIHRoZW4gZXZlbiBzaW1wbGUgdGVz dHMgd2l0aCAxNngxNgo+Pj4+Pj4+Pj4gbGlrZSByb3RhdGlvbiB3aWxsIGZhaWwgZHVlIHRvIGl0 IGdldHRpbmcgYWRqdXN0ZWQuCj4+Pj4+Pj4gQ29ycmVjdC4gVGhpcyBpcyB3aHkgd2UgZml4IHVw IHRvIGEgbXVsdGlwbGUgb2YgNCBhZnRlcgo+Pj4+Pj4+IGFkanVzdG1lbnRzLCBhbmQgcmVqZWN0 IHVzZXIgcGFzc2VkIGNvb3JkaW5hdGVzIGJlZm9yZSBhZGp1c3RtZW50Li4KPj4+Pj4+PiBwbGFu ZV9zdGF0ZS0+c3JjX3gveS93L2ggaXMgdGhlIHByb3BlcnR5IHNldCBieSB0aGUgdXNlciwgd2hp bGUKPj4+Pj4+PiB0aGUgcGxhbmVfc3RhdGUtPnNyYyByZWN0IGlzIHNldCBhbmQgZml4ZWQgdXAg aW4gdGhlIGtlcm5lbC4KPj4+Pj4+Pgo+Pj4+Pj4+IFJlamVjdGluZyBjbGlwcGluZyB3aXRoIHBv c2l0aXZlIGNvb3JkaW5hdGVzIGlmIHBpcGVfc3JjIHcvaCBpcwo+Pj4+Pj4+IG5vdCBhIG11bHRp cGxlIG9mIDQgd2lsbCBmaXggYSBib3JkZXIgY2FzZSB0aGF0IHNob3VsZG4ndCBhZmZlY3QKPj4+ Pj4+PiBtb3N0IG1vZGVzLCB3aGVyZSB0aGUgcGxhbmUgd291bGRuJ3QgZXh0ZW5kIHRvIHRoZSBj cnRjIGJvcmRlcnMsCj4+Pj4+Pj4gd2hpY2ggaXMKPj4+Pj4gd2hhdCB1c2Vyc3BhY2Ugd2FudHMg dGhlcmUuCj4+Pj4+PiBUaGFuayB5b3UuIE9oIG9rYXkuIFNvcnJ5LiBJIHRob3VnaHQgd2UganVz dCByZWplY3QgYW5kIG5vdCBkbyB0aGUKPj4+Pj4+IGZpeGluZwo+Pj4+PiAobXVsdCBvZiA0IGxh dGVyKS4KPj4+Pj4+IFN1cmUsIEkgd2lsbCBjaGFuZ2UgdGhlIHBhdGNoIHRvIGFsc28gcmVqZWN0 IHRoZSBjb29yZGluYXRlcyBiZWZvcmUKPj4+Pj4+IGFkanVzdG1lbnQgKGlmIGl0cyBub3QgTXVs dCBvZiA0KS4KPj4+Pj4+Cj4+Pj4+Pgo+Pj4+PiBUaGlzIGNhbiBiZSBkb25lIGluIHNrbF9jaGVj a19wbGFuZV9zdXJmYWNlLAo+Pj4+PiBwbGFuZV9zdGF0ZS0+c3JjX3t4LHksdyxofSBjb250YWlu cyB0aGUgdXNlciByZXF1ZXN0ZWQgdmFsdWVzLgo+Pj4+IEFwb2xvZ2llcyBmb3IgYXNraW5nIGFn YWluLiBUaGUgYWRqdXN0bWVudHMgYXJlIGRvbmUgaW4gY2hlY2tfcGxhbmUKPj4+PiAoYm90aCBw cmltYXJ5IGFuZCBzcHJpdGUpIEFuZCB0b3dhcmRzIHRoZSBlbmQgb2YgY2hlY2tfcGxhbmUgd2Ug Y2FsbAo+Pj4+IHRoZSBza2xfY2hlY2tfcGxhbmVfc3VyZmFjZS4KPj4+PiBJIGdvdCB5b3VyIHBv aW50IHRoYXQgd2Ugd2lsbCByZWplY3QgdGhlIHVzZXIgcmVxdWVzdGVkIHZhbHVlcyBpZgo+Pj4+ IHRoZXkgYXJlIG5vdCBtdWx0aXBsZSBvZiA0Lgo+Pj4+IEJ1dCBiZWZvcmUgd2UgcmVhY2ggc2ts X2NoZWNrX3BsYW5lX3N1cmZhY2UsIHRoZXkgd291bGTigJl2ZSBiZWVuCj4+Pj4gYWRqdXN0ZWQv Y2xpcHBlZCBldGMgVGhleSB3b250IHJlbWFpbiB1c2VyIHJlcXVlc3RlZCBhcyBpcyB3aGVuIHRo ZXkKPj4+PiBlbnRlciBza2xfY2hlY2tfcGxhbmVfc3VyZmFjZS4KPj4+PiBQbGVhc2UgY29ycmVj dCBtZSBpZiBJIGFtIHdyb25nIG9yIEkgYW0gbWlzc2luZyBpbiB1bmRlcnN0YW5kaW5nCj4+Pj4g c29tZXRoaW5nIGhlcmUgOigKPj4+Pgo+Pj4+IEkgY2FuIGFkZCB0aGUgYWRkIGNvbnZlcnNpb24g dG8gbXVsdGlwbGUgb2YgNCBpbgo+Pj4+IHNrbF9jaGVja19wbGFuZV9zdXJmYWNlIGJ1dCByZWpl Y3Rpb24gc2hvdWxkIGJlIGRvbmUgYmVmb3JlIHRoZQo+Pj4+IGNsaXBwaW5nL2FkanVzdG1lbnQg T3IgZWxzZSwgSSBtb3ZlIHRoZSBlbnRpcmUgY2xpcHBpbmcvYWRqdXN0bWVudCBjb2RlCj4+IHRv IHNrbF9jaGVja19wbGFuZV9zdXJmYWNlPwo+Pj4gU29ycnksIEkgZ290IGl0LiBZb3Ugc2FpZCwg d2UgZG9u4oCZdCBkbyBhZGp1c3RtZW50cyBpbiBjYXNlIG9mIE5WMTIgaW4KPj4+IHNwcml0ZSBh bmQgbW92ZSBUaGUgaGFuZGxpbmcgdG8gc2tsX2NoZWNrX3BsYW5lX3N1cmZhY2UuIEkgd2lsbCBk byB0aGUKPj4gY2hhbmdlIGFuZCBzdWJtaXQuIFNvcnJ5Lgo+Pj4gVGhhbmsgeW91Lgo+Pj4KPj4g U29tZXRoaW5nIGxpa2UgYmVsb3c/IFVudGVzdGVkLi4KPj4gV2Ugc2hvdWxkIHByb2JhYmx5IGFs c28gcmVzdHJpY3QgTlYxMiBmYiBjcmVhdGlvbiB0byBub3QgYWxsb3cgQ0NTIGZvcm1hdHMuCj4+ Cj4+IH5NYWFydGVuCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4g aW5kZXggNGIzNzM1NzIwZmVlLi5jNWRhMzBjN2FkMDQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPj4gQEAgLTMwOTAsNiArMzA5MCwzOCBAQCBzdGF0aWMgaW50IHNr bF9jaGVja19tYWluX3N1cmZhY2UoY29uc3Qgc3RydWN0Cj4+IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsCj4+ICAJcmV0dXJuIDA7Cj4+ICB9Cj4+Cj4+ICtzdGF0aWMgaW50IHNrbF9jaGVj a19udjEyX3N1cmZhY2UoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs Cj4+ICsJCQkJICBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKSB7Cj4+ICsJ aW50IGNydGNfeDIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3ggKyBwbGFuZV9zdGF0ZS0+YmFz ZS5jcnRjX3c7Cj4+ICsJaW50IGNydGNfeTIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3kgKyBw bGFuZV9zdGF0ZS0+YmFzZS5jcnRjX2g7Cj4+ICsKPj4gKwkvKiBBcmUgdGhlIHVuYWRqdXN0ZWQg Y29vcmRpbmF0ZXMgcGFzc2VkIGluIHZhbGlkPyAqLwo+PiArCWlmICgocGxhbmVfc3RhdGUtPmJh c2Uuc3JjX3ggPj4gMTYpICUgNCB8fAo+PiArCSAgICAocGxhbmVfc3RhdGUtPmJhc2Uuc3JjX3kg Pj4gMTYpICUgNCB8fAo+PiArCSAgICAocGxhbmVfc3RhdGUtPmJhc2Uuc3JjX3cgPj4gMTYpICUg NCB8fAo+PiArCSAgICAocGxhbmVfc3RhdGUtPmJhc2Uuc3JjX2ggPj4gMTYpICUgNCkgewo+PiAr CQlEUk1fREVCVUdfS01TKCJTb3VyY2UgY29vcmRpbmF0ZXMgbXVzdCBiZSBhIG11bHRpcGxlCj4+ IG9mIDQgZm9yIE5WMTJcbiIpOwo+PiArCQlyZXR1cm4gLUVJTlZBTDsKPj4gKwl9Cj4+ICsKPj4g KwkvKiBDbGlwcGluZyB3b3VsZCBjYXVzZSBhIDEtMyBwaXhlbCBnYXAgYXQgdGhlIGVkZ2Ugb2Yg dGhlIHNjcmVlbj8gKi8KPj4gKwlpZiAoKGNydGNfeDIgPiBjcnRjX3N0YXRlLT5waXBlX3NyY193 ICYmIGNydGNfc3RhdGUtPnBpcGVfc3JjX3cgJQo+PiA0KSB8fAo+PiArCSAgICAoY3J0Y195MiA+ IGNydGNfc3RhdGUtPnBpcGVfc3JjX2ggJiYgY3J0Y19zdGF0ZS0+cGlwZV9zcmNfaCAlIDQpKQo+ PiB7Cj4+ICsJCURSTV9ERUJVR19LTVMoIkl0J3Mgbm90IHBvc3NpYmxlIHRvIGNsaXAgJXUsJXUg dG8KPj4gJXUsJXVcbiIsCj4+ICsJCQkgICAgICBjcnRjX3gyLCBjcnRjX3kyLAo+PiArCQkJICAg ICAgY3J0Y19zdGF0ZS0+cGlwZV9zcmNfdywgY3J0Y19zdGF0ZS0+cGlwZV9zcmNfaCk7Cj4+ICsJ CXJldHVybiAtRUlOVkFMOwo+PiArCX0KPj4gKwo+PiArCS8qIE1ha2UgYWRqdXN0ZWQgc3JjIGNv b3JkaW5hdGVzIGEgbXVsdGlwbGUgb2YgNC4gKi8KPj4gKwlwbGFuZV9zdGF0ZS0+YmFzZS5zcmMu eDEgPSBESVZfUk9VTkRfQ0xPU0VTVChwbGFuZV9zdGF0ZS0KPj4+IGJhc2Uuc3JjLngxLCAxIDw8 IDE4KSA8PCAxODsKPj4gKwlwbGFuZV9zdGF0ZS0+YmFzZS5zcmMueTEgPSBESVZfUk9VTkRfQ0xP U0VTVChwbGFuZV9zdGF0ZS0KPj4+IGJhc2Uuc3JjLnkxLCAxIDw8IDE4KSA8PCAxODsKPj4gKwlw bGFuZV9zdGF0ZS0+YmFzZS5zcmMueDIgPSBESVZfUk9VTkRfQ0xPU0VTVChwbGFuZV9zdGF0ZS0K Pj4+IGJhc2Uuc3JjLngyLCAxIDw8IDE4KSA8PCAxODsKPj4gKwlwbGFuZV9zdGF0ZS0+YmFzZS5z cmMueTIgPSBESVZfUk9VTkRfQ0xPU0VTVChwbGFuZV9zdGF0ZS0KPj4+IGJhc2Uuc3JjLnkyLCAx IDw8IDE4KSA8PCAxODsKPj4gKwlyZXR1cm4gMDsKPj4gK30KPj4gKwo+IFRoYW5rIHlvdSBzbyBt dWNoIDopIE9ubHkgb25lIHByb2JsZW0uIFRoZSBwcmltYXJ5IHBsYW5lIGNsaXBwaW5nCj4gaGFw cGVucyBpbnNpZGUgdGhlIGRybSBsYXllciBpbiBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFu ZV9zdGF0ZQo+IFNvLCBjbGlwcGluZy1jbGFtcGluZyB0ZXN0IHBhc3NlcyBjb29yZGluYXRlcyAw LCAyNTcsIDAsIDE1OSB0byBjaGVja19wbGFuZS4KPiBBbmQgdGhlcmUgYmVmb3JlIGFkanVzdGlu ZyB3ZSByZWplY3QuIFNvIGZvciBwcmltYXJ5IGFsb25lLCBjYW4gSSByZXRhaW4gCj4gdGhlIG1h a2UgbXVsdGlwbGUgb2YgNCBjb2RlIGluIHByaW1hcnkgaXRzZWxmPwoKVGhlIGNsaXBwaW5nIGFm ZmVjdHMgcGxhbmVfc3RhdGUtPnNyYy57eDEsIHkxLCB4MiwgeTJ9LCBub3QgcGxhbmVfc3RhdGUt PnNyY197eCx5LHcsaH0uClRoZXkncmUgZGlmZmVyZW50LiBUaGUgbGFzdCBzZXQgb2YgY29vcmRp bmF0ZXMgd2lsbCBub3QgYmUgcm90YXRlZCBvciBhbnl0aGluZywgdGhlCmZpcnN0IHNldCBvZiBj b29yZGluYXRlcyBhcmUgd2hhdCB3ZSBlbmQgdXAgcHJvZ3JhbW1pbmcgaW50byB0aGUgaGFyZHdh cmUuIFRoZSBwYXRjaApJIHB1dCBhYm92ZSBzaG91bGQgYmUgY29ycmVjdGx5IHJvdW5kaW5nIHRv IGEgbXVsdGlwbGUgb2YgNC4gOikKCn5NYWFydGVuCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK