From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-f194.google.com (mail-qt1-f194.google.com [209.85.160.194]) by gabe.freedesktop.org (Postfix) with ESMTPS id CE43A6E0C7 for ; Tue, 15 Jan 2019 22:14:16 +0000 (UTC) Received: by mail-qt1-f194.google.com with SMTP id r14so4937602qtp.1 for ; Tue, 15 Jan 2019 14:14:16 -0800 (PST) Message-ID: <7109849f02ffb74c2a2a451ae862806dd908645a.camel@redhat.com> From: Lyude Paul Date: Tue, 15 Jan 2019 17:14:14 -0500 In-Reply-To: <20190111090532.19235-19-paul.kocialkowski@bootlin.com> References: <20190111090532.19235-1-paul.kocialkowski@bootlin.com> <20190111090532.19235-19-paul.kocialkowski@bootlin.com> Mime-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v3 18/21] lib/igt_frame: Add a checkerboard frame comparison method List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Paul Kocialkowski , igt-dev@lists.freedesktop.org Cc: Petri Latvala , Eben Upton , Thomas Petazzoni List-ID: T24gRnJpLCAyMDE5LTAxLTExIGF0IDEwOjA1ICswMTAwLCBQYXVsIEtvY2lhbGtvd3NraSB3cm90 ZToKPiBUaGlzIGludHJvZHVjZXMgYSBuZXcgZnJhbWUgY29tcGFyaXNvbiBtZXRob2QgdGhhdCB3 YXMgZGVzaWduZWQgZm9yCj4gcGF0dGVybnMgdGhhdCBmb2xsb3cgYSBjaGVja2VyYm9hcmQgc3R5 bGUuIFRoZXNlIHBhdHRlcm5zIGFyZSBtYWRlIG9mCj4gY29uc2VjdXRpdmUgcmVjdGFuZ3VsYXIg c2hhcGVzIHdpdGggYWx0ZXJuYXRpbmcgc29saWQgY29sb3JzLiBUaGV5IGFyZQo+IGN1cnJlbnRs eSB1c2VkIGZvciBzb21lIENoYW1lbGl1bS1iYXNlZCB0ZXN0cy4KPiAKPiBUaGUgbWV0aG9kIGlz IHBhcnRpY3VsYXJseSBhZGFwdGVkIGZvciBjYXNlcyB3aGVyZSB0aGUgZWRnZXMgb2YgdGhlCj4g c2hhcGVzIG1pZ2h0IGJlIGJsdXJyZWQgKGUuZy4gZHVlIHRvIHNjYWxpbmcpLCB3aGljaCBtYWtl cyBpdCBpbXBvc3NpYmxlCj4gdG8gdXNlIHBpeGVsLXBlcmZlY3Qgb3IgQ1JDLWJhc2VkIGNvbXBh cmlzb25zIHRvIGRlY2lkZSB3aGV0aGVyIHRoZQo+IGNhcHR1cmVkIGZyYW1lIG1hdGNoZXMgdGhl IHJlZmVyZW5jZS4KPiAKPiBPdmVyYWxsLCB0aGlzIHRlc3Qgd2lsbCBmaXJzdCBkZXRlY3QgdGhl IGVkZ2VzIG9mIHRoZSBwYXR0ZXJuIGFuZCBsYXRlcgo+IGV4Y2x1ZGUgdGhlbSBmcm9tIGNvbXBh cmlzb24uIENvbG9ycyBhcmUgY29tcGFyZWQgYmV0d2VlbiB0aGUgcmVmZXJlbmNlCj4gYW5kIGNh cHR1cmUgd2l0aCBhIGxvdyB0aHJlc2hvbGQgZm9yIGVycm9yLiBBIHBlcmNlbnRhZ2Ugb2YgdGhl IGZhdWx0eQo+IHBpeGVscyBpcyBjYWxjdWxhdGVkIGFuZCB0aGUgY2FwdHVyZWQgZnJhbWUgaXMg Y29uc2lkZXJlZCBpbnZhbGlkIGlmCj4gbW9yZSB0aGFuIG9uZSBwZXJjZW50IG9mIHRoZSBwaXhl bHMgYXJlIGVycm9uZW91cy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBQYXVsIEtvY2lhbGtvd3NraSA8 cGF1bC5rb2NpYWxrb3dza2lAYm9vdGxpbi5jb20+Cj4gLS0tCj4gIGxpYi9pZ3RfZnJhbWUuYyB8 IDEyMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAg bGliL2lndF9mcmFtZS5oIHwgICAyICsKPiAgMiBmaWxlcyBjaGFuZ2VkLCAxMjMgaW5zZXJ0aW9u cygrKQo+IAo+IGRpZmYgLS1naXQgYS9saWIvaWd0X2ZyYW1lLmMgYi9saWIvaWd0X2ZyYW1lLmMK PiBpbmRleCA2OTg0YzAyZTk5MTIuLmUwMjE1NjYwZWE2ZSAxMDA2NDQKPiAtLS0gYS9saWIvaWd0 X2ZyYW1lLmMKPiArKysgYi9saWIvaWd0X2ZyYW1lLmMKPiBAQCAtMjY3LDMgKzI2NywxMjQgQEAg Y29tcGxldGU6Cj4gIAo+ICAJcmV0dXJuIG1hdGNoOwo+ICB9Cj4gKwo+ICsjZGVmaW5lIFhSMjRf Q09MT1JfVkFMVUUoZGF0YSwgc3RyaWRlLCB4LCB5LCBjKSBcCj4gKwkqKCh1aW50OF90ICopKGRh dGEpICsgKHkpICogKHN0cmlkZSkgKyA0ICogKHgpICsgKGMpKQo+ICsKPiArLyoqCj4gKyAqIGln dF9jaGVja19jaGVja2VyYm9hcmRfZnJhbWVfbWF0Y2g6Cj4gKyAqIEByZWZlcmVuY2U6IFRoZSBy ZWZlcmVuY2UgY2Fpcm8gc3VyZmFjZQo+ICsgKiBAY2FwdHVyZTogVGhlIGNhcHR1cmVkIGNhaXJv IHN1cmZhY2UKPiArICoKPiArICogQ2hlY2tzIHRoYXQgdGhlIHJlZmVyZW5jZSBmcmFtZSBtYXRj aGVzIHRoZSBjYXB0dXJlZCBmcmFtZSB1c2luZyBhCj4gKyAqIG1ldGhvZCBkZXNpZ25lZCBmb3Ig Y2hlY2tlcmJvYXJkIHBhdHRlcm5zLiBUaGVzZSBwYXR0ZXJucyBhcmUgbWFkZSBvZgo+ICsgKiBj b25zZWN1dGl2ZSByZWN0YW5ndWxhciBzaGFwZXMgd2l0aCBhbHRlcm5hdGluZyBzb2xpZCBjb2xv cnMuCj4gKyAqCj4gKyAqIFRoZSBpbnRlbnQgb2YgdGhpcyBtZXRob2QgaXMgdG8gY292ZXIgY2Fz ZXMgd2hlcmUgdGhlIGNhcHR1cmVkIHJlc3VsdCBpcwo+ICsgKiBwaXhlbC1wZXJmZWN0IGR1ZSB0 byBmZWF0dXJlcyBzdWNoIGFzIHNjYWxpbmcgb3IgWVVWIGNvbnZlcnNpb24gYW5kCj4gKyAqIHN1 YnNhbXBsaW5nLiBTdWNoIGVmZmVjdHMgYXJlIG1vc3RseSBub3RpY2VhYmxlIG9uIHRoZSBlZGdl cyBvZiB0aGUKPiArICogcGF0dGVybnMsIHNvIHRoZXkgYXJlIGRldGVjdGVkIGFuZCBleGNsdWRl ZCBmcm9tIHRoZSBjb21wYXJpc29uLgo+ICsgKgo+ICsgKiBSZXR1cm5zOiBhIGJvb2xlYW4gaW5k aWNhdGluZyB3aGV0aGVyIHRoZSBmcmFtZXMgbWF0Y2gKPiArICovCj4gK2Jvb2wgaWd0X2NoZWNr X2NoZWNrZXJib2FyZF9mcmFtZV9tYXRjaChjYWlyb19zdXJmYWNlX3QgKnJlZmVyZW5jZSwKPiAr CQkJCQljYWlyb19zdXJmYWNlX3QgKmNhcHR1cmUpCj4gK3sKPiArCXVuc2lnbmVkIGludCB3aWR0 aCwgaGVpZ2h0LCByZWZfc3RyaWRlLCBjYXBfc3RyaWRlOwo+ICsJdm9pZCAqcmVmX2RhdGEsICpj YXBfZGF0YTsKPiArCXVuc2lnbmVkIGNoYXIgKmVkZ2VzX21hcDsKPiArCXVuc2lnbmVkIGludCB4 LCB5LCBjOwo+ICsJdW5zaWduZWQgaW50IGVycm9ycyA9IDAsIHBpeGVscyA9IDA7Cj4gKwl1bnNp Z25lZCBpbnQgZWRnZV90aHJlc2hvbGQgPSAxMDA7Cj4gKwl1bnNpZ25lZCBpbnQgY29sb3JfZXJy b3JfdGhyZXNob2xkID0gMjQ7Cj4gKwlkb3VibGUgZXJyb3JfcmF0ZV90aHJlc2hvbGQgPSAwLjAx Owo+ICsJZG91YmxlIGVycm9yX3JhdGU7Cj4gKwl1bnNpZ25lZCBpbnQgc3BhbiA9IDI7Cj4gKwli b29sIG1hdGNoID0gZmFsc2U7Cj4gKwo+ICsJd2lkdGggPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dl dF93aWR0aChyZWZlcmVuY2UpOwo+ICsJaGVpZ2h0ID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRf aGVpZ2h0KHJlZmVyZW5jZSk7Cj4gKwo+ICsJcmVmX3N0cmlkZSA9IGNhaXJvX2ltYWdlX3N1cmZh Y2VfZ2V0X3N0cmlkZShyZWZlcmVuY2UpOwo+ICsJcmVmX2RhdGEgPSBjYWlyb19pbWFnZV9zdXJm YWNlX2dldF9kYXRhKHJlZmVyZW5jZSk7Cj4gKwlpZ3RfYXNzZXJ0KHJlZl9kYXRhKTsKPiArCj4g KwljYXBfc3RyaWRlID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfc3RyaWRlKGNhcHR1cmUpOwo+ ICsJY2FwX2RhdGEgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9kYXRhKGNhcHR1cmUpOwo+ICsJ aWd0X2Fzc2VydChjYXBfZGF0YSk7Cj4gKwo+ICsJZWRnZXNfbWFwID0gY2FsbG9jKDEsIHdpZHRo ICogaGVpZ2h0KTsKTmVlZCBhbiBpZ3RfYXNzZXJ0IGhlcmUKCldpdGggdGhhdCArIHRoZSBkb2N1 bWVudGF0aW9uIGNoYW5nZXMgdGhhdCBNYXhpbWUgYXNrZWQgZm9yOgoKUmV2aWV3ZWQtYnk6IEx5 dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+Cj4gKwo+ICsJLyogRmlyc3QgcGFzcyB0byBkZXRl Y3QgdGhlIHBhdHRlcm4gZWRnZXMuICovCj4gKwlmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyB5Kysp IHsKPiArCQlpZiAoeSA8IHNwYW4gfHwgeSA+IChoZWlnaHQgLSBzcGFuIC0gMSkpCj4gKwkJCWNv bnRpbnVlOwo+ICsKPiArCQlmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHgrKykgewo+ICsJCQl1bnNp Z25lZCBpbnQgeGRpZmYgPSAwLCB5ZGlmZiA9IDA7Cj4gKwo+ICsJCQlpZiAoeCA8IHNwYW4gfHwg eCA+ICh3aWR0aCAtIHNwYW4gLSAxKSkKPiArCQkJCWNvbnRpbnVlOwo+ICsKPiArCQkJZm9yIChj ID0gMDsgYyA8IDM7IGMrKykgewo+ICsJCQkJeGRpZmYgKz0gYWJzKFhSMjRfQ09MT1JfVkFMVUUo cmVmX2RhdGEsCj4gcmVmX3N0cmlkZSwgeCArIHNwYW4sIHksIGMpIC0KPiArCQkJCQkgICAgIFhS MjRfQ09MT1JfVkFMVUUocmVmX2RhdGEsCj4gcmVmX3N0cmlkZSwgeCAtIHNwYW4sIHksIGMpKTsK PiArCQkJCXlkaWZmICs9IGFicyhYUjI0X0NPTE9SX1ZBTFVFKHJlZl9kYXRhLAo+IHJlZl9zdHJp ZGUsIHgsIHkgKyBzcGFuLCBjKSAtCj4gKwkJCQkJICAgICBYUjI0X0NPTE9SX1ZBTFVFKHJlZl9k YXRhLAo+IHJlZl9zdHJpZGUsIHgsIHkgLSBzcGFuLCBjKSk7Cj4gKwkJCX0KPiArCj4gKwkJCWVk Z2VzX21hcFt5ICogd2lkdGggKyB4XSA9ICh4ZGlmZiA+IGVkZ2VfdGhyZXNob2xkIHx8Cj4gKwkJ CQkJCSAgICB5ZGlmZiA+IGVkZ2VfdGhyZXNob2xkKTsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJLyog U2Vjb25kIHBhc3MgdG8gZGV0ZWN0IGVycm9ycy4gKi8KPiArCWZvciAoeSA9IDA7IHkgPCBoZWln aHQ7IHkrKykgewo+ICsJCWZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7Cj4gKwkJCWJvb2wg ZXJyb3IgPSBmYWxzZTsKPiArCj4gKwkJCWlmIChlZGdlc19tYXBbeSAqIHdpZHRoICsgeF0pCj4g KwkJCQljb250aW51ZTsKPiArCj4gKwkJCWZvciAoYyA9IDA7IGMgPCAzOyBjKyspIHsKPiArCQkJ CXVuc2lnbmVkIGludCBkaWZmOwo+ICsKPiArCQkJCS8qIENvbXBhcmUgdGhlIHJlZmVyZW5jZSBh bmQgY2FwdHVyZSB2YWx1ZXMuCj4gKi8KPiArCQkJCWRpZmYgPSBhYnMoWFIyNF9DT0xPUl9WQUxV RShyZWZfZGF0YSwKPiByZWZfc3RyaWRlLCB4LCB5LCBjKSAtCj4gKwkJCQkJICAgWFIyNF9DT0xP Ul9WQUxVRShjYXBfZGF0YSwKPiBjYXBfc3RyaWRlLCB4LCB5LCBjKSk7Cj4gKwo+ICsJCQkJaWYg KGRpZmYgPiBjb2xvcl9lcnJvcl90aHJlc2hvbGQpCj4gKwkJCQkJZXJyb3IgPSB0cnVlOwo+ICsJ CQl9Cj4gKwo+ICsJCQkvKiBBbGxvdyBlcnJvciBpZiBjb21pbmcgb24gb3Igb2ZmIGFuIGVkZ2Ug KG9uIHgpLiAqLwo+ICsJCQlpZiAoZXJyb3IgJiYgeCA+PSBzcGFuICYmIHggPD0gKHdpZHRoIC0g c3BhbiAtIDEpICYmCj4gKwkJCSAgICBlZGdlc19tYXBbeSAqIHdpZHRoICsgKHggLSBzcGFuKV0g IT0KPiArCQkJICAgIGVkZ2VzX21hcFt5ICogd2lkdGggKyAoeCArIHNwYW4pXSkKPiArCQkJCWNv bnRpbnVlOwo+ICsKPiArCQkJLyogQWxsb3cgZXJyb3IgaWYgY29taW5nIG9uIG9yIG9mZiBhbiBl ZGdlIChvbiB5KS4gKi8KPiArCQkJaWYgKGVycm9yICYmIHkgPj0gc3BhbiAmJiB5IDw9IChoZWln aHQgLSBzcGFuIC0gMSkgJiYKPiArCQkJICAgIGVkZ2VzX21hcFsoeSAtIHNwYW4pICogd2lkdGgg KyB4XSAhPQo+ICsJCQkgICAgZWRnZXNfbWFwWyh5ICsgc3BhbikgKiB3aWR0aCArIHhdICYmIGVy cm9yKQo+ICsJCQkJY29udGludWU7Cj4gKwo+ICsJCQlpZiAoZXJyb3IpCj4gKwkJCQllcnJvcnMr KzsKPiArCj4gKwkJCXBpeGVscysrOwo+ICsJCX0KPiArCX0KPiArCj4gKwlmcmVlKGVkZ2VzX21h cCk7Cj4gKwo+ICsJZXJyb3JfcmF0ZSA9IChkb3VibGUpIGVycm9ycyAvIHBpeGVsczsKPiArCj4g KwlpZiAoZXJyb3JfcmF0ZSA8IGVycm9yX3JhdGVfdGhyZXNob2xkKQo+ICsJCW1hdGNoID0gdHJ1 ZTsKPiArCj4gKwlpZ3RfZGVidWcoIkNoZWNrZXJib2FyZCBwYXR0ZXJuICVzIHdpdGggZXJyb3Ig cmF0ZSAlZiAlJVxuIiwKPiArCQkgIG1hdGNoID8gIm1hdGNoZWQiIDogIm5vdCBtYXRjaGVkIiwg ZXJyb3JfcmF0ZSAqIDEwMCk7Cj4gKwo+ICsJcmV0dXJuIG1hdGNoOwo+ICt9Cj4gZGlmZiAtLWdp dCBhL2xpYi9pZ3RfZnJhbWUuaCBiL2xpYi9pZ3RfZnJhbWUuaAo+IGluZGV4IDExZjk2Y2JlYTIw My4uZjQ0ZjU3ZDdjZTczIDEwMDY0NAo+IC0tLSBhL2xpYi9pZ3RfZnJhbWUuaAo+ICsrKyBiL2xp Yi9pZ3RfZnJhbWUuaAo+IEBAIC0zOCw1ICszOCw3IEBAIHZvaWQgaWd0X3dyaXRlX2NvbXBhcmVk X2ZyYW1lc190b19wbmcoY2Fpcm9fc3VyZmFjZV90Cj4gKnJlZmVyZW5jZSwKPiAgCQkJCSAgICAg IGNvbnN0IGNoYXIgKmNhcHR1cmVfc3VmZml4KTsKPiAgYm9vbCBpZ3RfY2hlY2tfYW5hbG9nX2Zy YW1lX21hdGNoKGNhaXJvX3N1cmZhY2VfdCAqcmVmZXJlbmNlLAo+ICAJCQkJICBjYWlyb19zdXJm YWNlX3QgKmNhcHR1cmUpOwo+ICtib29sIGlndF9jaGVja19jaGVja2VyYm9hcmRfZnJhbWVfbWF0 Y2goY2Fpcm9fc3VyZmFjZV90ICpyZWZlcmVuY2UsCj4gKwkJCQkJY2Fpcm9fc3VyZmFjZV90ICpj YXB0dXJlKTsKPiAgCj4gICNlbmRpZgotLSAKQ2hlZXJzLAoJTHl1ZGUgUGF1bAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxp c3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==