From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Kocialkowski Subject: [PATCH i-g-t v3 1/2] lib/igt_frame: Add support for analog frame comparison testing Date: Wed, 19 Jul 2017 16:48:08 +0300 Message-ID: <20170719134809.8446-2-paul.kocialkowski@linux.intel.com> References: <20170706132614.4163-1-paul.kocialkowski@linux.intel.com> <20170719134809.8446-1-paul.kocialkowski@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7BB526E525 for ; Wed, 19 Jul 2017 13:48:21 +0000 (UTC) In-Reply-To: <20170719134809.8446-1-paul.kocialkowski@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhpcyBhZGRzIHN1cHBvcnQgZm9yIGFuYWxvZyBmcmFtZSBjb21wYXJpc29uIGNoZWNrLCBhcyB1 c2VkIGluIFZHQS4KU2luY2UgVkdBIHVzZXMgYSBEQUMtQURDIGNoYWluLCBpdHMgZGF0YSBjYW5u b3QgYmUgZXhwZWN0ZWQgdG8gYmUgcGl4ZWwKcGVyZmVjdC4gVGh1cywgaXQgaXMgaW1wb3NzaWJs ZSB0byB1c2VzIGEgQ1JDIGNoZWNrIGFuZCBmdWxsIGZyYW1lcyBoYXZlCnRvIGJlIGFuYWx5emVk IGluc3RlYWQuIFN1Y2ggYW4gYW5hbHlzaXMgaXMgaW1wbGVtZW50ZWQsIGJhc2VkIG9uIGJvdGgK YW4gYWJzb2x1dGUgZXJyb3IgdGhyZXNob2xkIGFuZCBhIGNvcnJlbGF0aW9uIHdpdGggdGhlIGV4 cGVjdGVkIGVycm9yCnRyZW5kIGZvciBhIERBQy1BREMgY2hhaW4uIEl0IHdhcyB0ZXN0ZWQgd2l0 aCBhIGNvdXBsZSBlbmNvZGVycyBhbmQKcHJvdmlkZXMgcmVsaWFibGUgZXJyb3IgZGV0ZWN0aW9u IHdpdGggZmV3IGZhbHNlIHBvc2l0aXZlcy4KClNpZ25lZC1vZmYtYnk6IFBhdWwgS29jaWFsa293 c2tpIDxwYXVsLmtvY2lhbGtvd3NraUBsaW51eC5pbnRlbC5jb20+Ci0tLQogY29uZmlndXJlLmFj ICAgIHwgICAxICsKIGxpYi9NYWtlZmlsZS5hbSB8ICAgMiArCiBsaWIvaWd0X2ZyYW1lLmMgfCAx MzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIGxpYi9pZ3RfZnJhbWUuaCB8ICAgMiArCiA0IGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDVi NDFmMzMzLi5kYjAwMTVlNSAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3Vy ZS5hYwpAQCAtMTc4LDYgKzE3OCw3IEBAIGlmIHRlc3QgeCIkdWRldiIgPSB4eWVzOyB0aGVuCiAJ QUNfREVGSU5FKEhBVkVfVURFViwxLFtFbmFibGUgdWRldi1iYXNlZCBtb25pdG9yIGhvdHBsdWcg ZGV0ZWN0aW9uXSkKIGZpCiBQS0dfQ0hFQ0tfTU9EVUxFUyhHTElCLCBnbGliLTIuMCkKK1BLR19D SEVDS19NT0RVTEVTKEdTTCwgZ3NsKQogCiAjIGZvciBjaGFtZWxpdW0KIEFDX0FSR19FTkFCTEUo Y2hhbWVsaXVtLCBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWNoYW1lbGl1bV0sCmRpZmYgLS1n aXQgYS9saWIvTWFrZWZpbGUuYW0gYi9saWIvTWFrZWZpbGUuYW0KaW5kZXggZDRmNDExMjguLmZi OTIyY2VkIDEwMDY0NAotLS0gYS9saWIvTWFrZWZpbGUuYW0KKysrIGIvbGliL01ha2VmaWxlLmFt CkBAIC0zNSw2ICszNSw3IEBAIEFNX0NGTEFHUyA9IFwKIAkgICAgJChEUk1fQ0ZMQUdTKSBcCiAJ ICAgICQoUENJQUNDRVNTX0NGTEFHUykgXAogCSAgICAkKExJQlVOV0lORF9DRkxBR1MpIFwKKwkg ICAgJChHU0xfQ0ZMQUdTKSBcCiAJICAgICQoS01PRF9DRkxBR1MpIFwKIAkgICAgJChQUk9DUFNf Q0ZMQUdTKSBcCiAJICAgICQoREVCVUdfQ0ZMQUdTKSBcCkBAIC01NCw2ICs1NSw3IEBAIGxpYmlu dGVsX3Rvb2xzX2xhX0xJQkFERCA9IFwKIAkkKERSTV9MSUJTKSBcCiAJJChQQ0lBQ0NFU1NfTElC UykgXAogCSQoUFJPQ1BTX0xJQlMpIFwKKwkkKEdTTF9MSUJTKSBcCiAJJChLTU9EX0xJQlMpIFwK IAkkKENBSVJPX0xJQlMpIFwKIAkkKExJQlVERVZfTElCUykgXApkaWZmIC0tZ2l0IGEvbGliL2ln dF9mcmFtZS5jIGIvbGliL2lndF9mcmFtZS5jCmluZGV4IGRmYWZlNTNkLi4yMjJhNDVmOCAxMDA2 NDQKLS0tIGEvbGliL2lndF9mcmFtZS5jCisrKyBiL2xpYi9pZ3RfZnJhbWUuYwpAQCAtMjksNiAr MjksOCBAQAogI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5jbHVkZSA8cGl4bWFuLmg+CiAjaW5jbHVk ZSA8Y2Fpcm8uaD4KKyNpbmNsdWRlIDxnc2wvZ3NsX3N0YXRpc3RpY3NfZG91YmxlLmg+CisjaW5j bHVkZSA8Z3NsL2dzbF9maXQuaD4KIAogI2luY2x1ZGUgImlndC5oIgogCkBAIC0xMzUsMyArMTM3 LDEzMiBAQCB2b2lkIGlndF93cml0ZV9jb21wYXJlZF9mcmFtZXNfdG9fcG5nKGNhaXJvX3N1cmZh Y2VfdCAqcmVmZXJlbmNlLAogCiAJY2xvc2UoZmQpOwogfQorCisvKioKKyAqIGlndF9jaGVja19h bmFsb2dfZnJhbWVfbWF0Y2g6CisgKiBAcmVmZXJlbmNlOiBUaGUgcmVmZXJlbmNlIGNhaXJvIHN1 cmZhY2UKKyAqIEBjYXB0dXJlOiBUaGUgY2FwdHVyZWQgY2Fpcm8gc3VyZmFjZQorICoKKyAqIENo ZWNrcyB0aGF0IHRoZSBhbmFsb2cgaW1hZ2UgY29udGFpbmVkIGluIHRoZSBjaGFtZWxpdW0gZnJh bWUgZHVtcCBtYXRjaGVzCisgKiB0aGUgZ2l2ZW4gZnJhbWVidWZmZXIuCisgKgorICogSW4gb3Jk ZXIgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGZyYW1lIG1hdGNoZXMgdGhlIHJlZmVyZW5jZSwg dGhlIGZvbGxvd2luZworICogcmVhc29uaW5nIGlzIGltcGxlbWVudGVkOgorICogMS4gVGhlIGFi c29sdXRlIGVycm9yIGZvciBlYWNoIGNvbG9yIHZhbHVlIG9mIHRoZSByZWZlcmVuY2UgaXMgY29s bGVjdGVkLgorICogMi4gVGhlIGF2ZXJhZ2UgYWJzb2x1dGUgZXJyb3IgaXMgY2FsY3VsYXRlZCBm b3IgZWFjaCBjb2xvciB2YWx1ZSBvZiB0aGUKKyAqICAgIHJlZmVyZW5jZSBhbmQgbXVzdCBub3Qg Z28gYWJvdmUgNjAgKDIzLjUgJSBvZiB0aGUgdG90YWwgcmFuZ2UpLgorICogMy4gQSBsaW5lYXIg Zml0IGZvciB0aGUgYXZlcmFnZSBhYnNvbHV0ZSBlcnJvciBmcm9tIHRoZSBwaXhlbCB2YWx1ZSBp cworICogICAgY2FsY3VsYXRlZCwgYXMgYSBEQUMtQURDIGNoYWluIGlzIGV4cGVjdGVkIHRvIGhh dmUgYSBsaW5lYXIgZXJyb3IgY3VydmUuCisgKiA0LiBUaGUgbGluZWFyIGZpdCBpcyBjb3JyZWxh dGVkIHdpdGggdGhlIGFjdHVhbCBhdmVyYWdlIGFic29sdXRlIGVycm9yIGZvcgorICogICAgdGhl IGZyYW1lIGFuZCB0aGUgY29ycmVsYXRpb24gY29lZmZpY2llbnQgaXMgY2hlY2tlZCB0byBiZSA+ IDAuOTg1LAorICogICAgaW5kaWNhdGluZyBhIG1hdGNoIHdpdGggdGhlIGV4cGVjdGVkIGVycm9y IHRyZW5kLgorICoKKyAqIE1vc3QgZXJyb3JzIChlLmcuIGR1ZSB0byBzY2FsaW5nLCByb3RhdGlv biwgY29sb3Igc3BhY2UsIGV0YykgY2FuIGJlCisgKiByZWxpYWJseSBkZXRlY3RlZCB0aGlzIHdh eSwgd2l0aCBhIG1pbmltaXplZCBudW1iZXIgb2YgZmFsc2UtcG9zaXRpdmVzLgorICogSG93ZXZl ciwgdGhlIGJyaWdodGVzdCB2YWx1ZXMgKDI1MCBhbmQgdXApIGFyZSBpZ25vcmVkIGFzIHRoZSBl cnJvciB0cmVuZAorICogaXMgb2Z0ZW4gbm90IGxpbmVhciB0aGVyZSBpbiBwcmFjdGljZSBkdWUg dG8gY2xhbXBpbmcuCisgKgorICogUmV0dXJuczogYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhl ciB0aGUgZnJhbWVzIG1hdGNoCisgKi8KKworYm9vbCBpZ3RfY2hlY2tfYW5hbG9nX2ZyYW1lX21h dGNoKGNhaXJvX3N1cmZhY2VfdCAqcmVmZXJlbmNlLAorCQkJCSAgY2Fpcm9fc3VyZmFjZV90ICpj YXB0dXJlKQoreworCXBpeG1hbl9pbWFnZV90ICpyZWZlcmVuY2Vfc3JjLCAqY2FwdHVyZV9zcmM7 CisJaW50IHcsIGg7CisJaW50IGVycm9yX2NvdW50WzNdWzI1Nl1bMl0gPSB7IDAgfTsKKwlkb3Vi bGUgZXJyb3JfYXZlcmFnZVs0XVsyNTBdOworCWRvdWJsZSBlcnJvcl90cmVuZFsyNTBdOworCWRv dWJsZSBjMCwgYzEsIGNvdjAwLCBjb3YwMSwgY292MTEsIHN1bXNxOworCWRvdWJsZSBjb3JyZWxh dGlvbjsKKwl1bnNpZ25lZCBjaGFyICpyZWZlcmVuY2VfcGl4ZWxzLCAqY2FwdHVyZV9waXhlbHM7 CisJdW5zaWduZWQgY2hhciAqcDsKKwl1bnNpZ25lZCBjaGFyICpxOworCWJvb2wgbWF0Y2ggPSB0 cnVlOworCWludCBkaWZmOworCWludCB4LCB5OworCWludCBpLCBqOworCisJdyA9IGNhaXJvX2lt YWdlX3N1cmZhY2VfZ2V0X3dpZHRoKHJlZmVyZW5jZSk7CisJaCA9IGNhaXJvX2ltYWdlX3N1cmZh Y2VfZ2V0X2hlaWdodChyZWZlcmVuY2UpOworCisJcmVmZXJlbmNlX3NyYyA9IHBpeG1hbl9pbWFn ZV9jcmVhdGVfYml0cygKKwkgICAgUElYTUFOX3g4cjhnOGI4LCB3LCBoLAorCSAgICAodm9pZCop Y2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfZGF0YShyZWZlcmVuY2UpLAorCSAgICBjYWlyb19pbWFn ZV9zdXJmYWNlX2dldF9zdHJpZGUocmVmZXJlbmNlKSk7CisJcmVmZXJlbmNlX3BpeGVscyA9ICh1 bnNpZ25lZCBjaGFyICopIHBpeG1hbl9pbWFnZV9nZXRfZGF0YShyZWZlcmVuY2Vfc3JjKTsKKwor CWNhcHR1cmVfc3JjID0gcGl4bWFuX2ltYWdlX2NyZWF0ZV9iaXRzKAorCSAgICBQSVhNQU5feDhy OGc4YjgsIHcsIGgsCisJICAgICh2b2lkKiljYWlyb19pbWFnZV9zdXJmYWNlX2dldF9kYXRhKGNh cHR1cmUpLAorCSAgICBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9zdHJpZGUoY2FwdHVyZSkpOwor CWNhcHR1cmVfcGl4ZWxzID0gKHVuc2lnbmVkIGNoYXIgKikgcGl4bWFuX2ltYWdlX2dldF9kYXRh KGNhcHR1cmVfc3JjKTsKKworCS8qIENvbGxlY3QgdGhlIGFic29sdXRlIGVycm9yIGZvciBlYWNo IGNvbG9yIHZhbHVlICovCisJZm9yICh4ID0gMDsgeCA8IHc7IHgrKykgeworCQlmb3IgKHkgPSAw OyB5IDwgaDsgeSsrKSB7CisJCQlwID0gJmNhcHR1cmVfcGl4ZWxzWyh4ICsgeSAqIHcpICogNF07 CisJCQlxID0gJnJlZmVyZW5jZV9waXhlbHNbKHggKyB5ICogdykgKiA0XTsKKworCQkJZm9yIChp ID0gMDsgaSA8IDM7IGkrKykgeworCQkJCWRpZmYgPSAoaW50KSBwW2ldIC0gcVtpXTsKKwkJCQlp ZiAoZGlmZiA8IDApCisJCQkJCWRpZmYgPSAtZGlmZjsKKworCQkJCWVycm9yX2NvdW50W2ldW3Fb aV1dWzBdICs9IGRpZmY7CisJCQkJZXJyb3JfY291bnRbaV1bcVtpXV1bMV0rKzsKKwkJCX0KKwkJ fQorCX0KKworCS8qIENhbGN1bGF0ZSB0aGUgYXZlcmFnZSBhYnNvbHV0ZSBlcnJvciBmb3IgZWFj aCBjb2xvciB2YWx1ZSAqLworCWZvciAoaSA9IDA7IGkgPCAyNTA7IGkrKykgeworCQllcnJvcl9h dmVyYWdlWzBdW2ldID0gaTsKKworCQlmb3IgKGogPSAxOyBqIDwgNDsgaisrKSB7CisJCQllcnJv cl9hdmVyYWdlW2pdW2ldID0gKGRvdWJsZSkgZXJyb3JfY291bnRbai0xXVtpXVswXSAvCisJCQkJ CSAgICAgIGVycm9yX2NvdW50W2otMV1baV1bMV07CisKKwkJCWlmIChlcnJvcl9hdmVyYWdlW2pd W2ldID4gNjApIHsKKwkJCQlpZ3Rfd2FybigiRXJyb3IgYXZlcmFnZSB0b28gaGlnaCAoJWYpXG4i LAorCQkJCQkgZXJyb3JfYXZlcmFnZVtqXVtpXSk7CisKKwkJCQltYXRjaCA9IGZhbHNlOworCQkJ CWdvdG8gY29tcGxldGU7CisJCQl9CisJCX0KKwl9CisKKwkvKgorCSAqIENhbGN1bGF0ZSBlcnJv ciB0cmVuZCBmcm9tIGxpbmVhciBmaXQuCisJICogQSBEQUMtQURDIGNoYWluIGlzIGV4cGVjdGVk IHRvIGhhdmUgYSBsaW5lYXIgYWJzb2x1dGUgZXJyb3Igb24KKwkgKiBtb3N0IG9mIGl0cyByYW5n ZQorCSAqLworCWZvciAoaSA9IDE7IGkgPCA0OyBpKyspIHsKKwkJZ3NsX2ZpdF9saW5lYXIoKGNv bnN0IGRvdWJsZSAqKSAmZXJyb3JfYXZlcmFnZVswXSwgMSwKKwkJCSAgICAgICAoY29uc3QgZG91 YmxlICopICZlcnJvcl9hdmVyYWdlW2ldLCAxLCAyNTAsCisJCQkgICAgICAgJmMwLCAmYzEsICZj b3YwMCwgJmNvdjAxLCAmY292MTEsICZzdW1zcSk7CisKKwkJZm9yIChqID0gMDsgaiA8IDI1MDsg aisrKQorCQkJZXJyb3JfdHJlbmRbal0gPSBjMCArIGogKiBjMTsKKworCQljb3JyZWxhdGlvbiA9 IGdzbF9zdGF0c19jb3JyZWxhdGlvbigoY29uc3QgZG91YmxlICopICZlcnJvcl90cmVuZCwKKwkJ CQkJCSAgICAxLAorCQkJCQkJICAgIChjb25zdCBkb3VibGUgKikgJmVycm9yX2F2ZXJhZ2VbaV0s CisJCQkJCQkgICAgMSwgMjUwKTsKKworCQlpZiAoY29ycmVsYXRpb24gPCAwLjk4NSkgeworCQkJ aWd0X3dhcm4oIkVycm9yIHdpdGggcmVmZXJlbmNlIG5vdCBjb3JyZWxhdGVkICglZilcbiIsCisJ CQkJIGNvcnJlbGF0aW9uKTsKKworCQkJbWF0Y2ggPSBmYWxzZTsKKwkJCWdvdG8gY29tcGxldGU7 CisJCX0KKwl9CisKK2NvbXBsZXRlOgorCXBpeG1hbl9pbWFnZV91bnJlZihyZWZlcmVuY2Vfc3Jj KTsKKwlwaXhtYW5faW1hZ2VfdW5yZWYoY2FwdHVyZV9zcmMpOworCisJcmV0dXJuIG1hdGNoOwor fQpkaWZmIC0tZ2l0IGEvbGliL2lndF9mcmFtZS5oIGIvbGliL2lndF9mcmFtZS5oCmluZGV4IGVj NmExNjQzLi4xZDliYmY2YSAxMDA2NDQKLS0tIGEvbGliL2lndF9mcmFtZS5oCisrKyBiL2xpYi9p Z3RfZnJhbWUuaApAQCAtMzksNSArMzksNyBAQCB2b2lkIGlndF93cml0ZV9jb21wYXJlZF9mcmFt ZXNfdG9fcG5nKGNhaXJvX3N1cmZhY2VfdCAqcmVmZXJlbmNlLAogCQkJCSAgICAgIGNhaXJvX3N1 cmZhY2VfdCAqY2FwdHVyZSwKIAkJCQkgICAgICBjb25zdCBjaGFyICpyZWZlcmVuY2Vfc3VmZml4 LAogCQkJCSAgICAgIGNvbnN0IGNoYXIgKmNhcHR1cmVfc3VmZml4KTsKK2Jvb2wgaWd0X2NoZWNr X2FuYWxvZ19mcmFtZV9tYXRjaChjYWlyb19zdXJmYWNlX3QgKnJlZmVyZW5jZSwKKwkJCQkgIGNh aXJvX3N1cmZhY2VfdCAqY2FwdHVyZSk7CiAKICNlbmRpZgotLSAKMi4xMy4yCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK