From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id F184B6E090 for ; Mon, 8 Oct 2018 08:13:14 +0000 (UTC) From: Stanislav Lisovskiy Date: Mon, 8 Oct 2018 11:13:18 +0300 Message-Id: <20181008081318.1551-1-stanislav.lisovskiy@intel.com> Subject: [igt-dev] [PATCH i-g-t v10] lib/igt_fb: Added XYUV format support for testing List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: stanislav.lisovskiy@intel.com, ville.syrjala@intel.com, martin.peres@intel.com List-ID: WFlVViBmb3JtYXQgc3VwcG9ydCBoYXMgYmVlbiBhZGRlZCB0byBEUk0sIG1vZGlmaWVkCklHVCB0 byByZWZsZWN0IHRob3NlIGNoYW5nZXMuCgp2MjogRml4ZWQgbWVyZ2UgY29uZmxpY3QsIHN0YXJ0 ZWQgdG8gdXNlIG5ldyB5dXY8PT5yZ2IKICAgIGNvbnZlcnNpb24gZnVuY3Rpb25zLgoKdjM6IEZp eGVkIGttc19hdmFpbGFibGVfbW9kZXNfY3JjIHRlc3QgdG8gc3VwcG9ydCBuZXcgWFlVVgogICAg Zm9ybWF0LiBGaXhlZCBhIHByb2JsZW0sIHdoZXJlIHRlc3QgY29tcGxhaW5zIHRoYXQgdHdvCiAg ICBvdXRwdXRzIG1pZ2h0IHVzZSBzYW1lIHBpcGUgYXQgdGhlIHNhbWUgdGltZS4KCnY0OiBGaXhl ZCBjb252ZXJ0aW9uIHByb2NlZHVyZSBpbiBpZ3RfZmIgdG8gc3VwcG9ydCBYWVVWCiAgICBwcm9w ZXJseS4KCnY1OiBGaXhlZCBhIGNvZGluZyB0eXBvLgoKdjY6IFNldCBkZXB0aCBlcXVhbCB0byAt MSBmb3IgWFlVViBmb3JtYXQgaW4gb3JkZXIgdG8gcHJldmVudAogICAgaXQgdG8gYmUgdXNlZCBi eSBpZ3RfYnBwX2RlcHRoX3RvX2RybV9mb3JtYXQsIGFzIHdlIGRvIG5vdAogICAgd2FudCBZVVYg Zm9ybWF0cyB0byBiZSB1c2VkIGluIHRoYXQgY2FzZS4KCnY3OiBGaXggImJsYWNrIiBjb2xvciBp bml0aWFsaXphdGlvbiBmb3IgY3JlYXRlX2JvX2Zvcl9mYiB3aXRoCiAgICBwcm9wZXIgdmFsdWUu IENoYW5nZWQgbmFtaW5nICJwbGFuYXJfc3RyaWRlIiB0byAieHl1dl9zdHJpZGUiLgoKdjg6IENo YW5nZSBuYW1pbmcgZnJvbSBEUk1fRk9STUFUX1hZVVYgdG8gRFJNX0ZPUk1BVF9YWVVWODg4OAoK djk6IEZpeGVkIGNvbXBpbGF0aW9uIGVycm9ycyBieSByZWJhc2luZyB0byByZWNlbnQgbWFzdGVy LgoKdjEwOiBBZGRpbmcgcmVmZXJlbmNlIHRvIGNvcnJlc3BvbmRlbnQga2VybmVsIGNvbW1pdCB3 aXRoIHRoZSBuZXcgZm9ybWF0CiAgICAgaW4gaW5jbHVkZS9kcm0tdWFwaQoKZHJtLXRpcDoKCWNv bW1pdCBmNzVkZjJjYWQ5ODZmNDBlMTkwZWU5N2ZlM2I0OWRkMTcxNzRmMWFmCglBdXRob3I6IFN0 YW5pc2xhdiBMaXNvdnNraXkgPHN0YW5pc2xhdi5saXNvdnNraXlAaW50ZWwuY29tPgoJRGF0ZTog ICBGcmkgSnVsIDYgMTE6NTc6MjcgMjAxOCArMDMwMAoKCSAgICBkcm06IEludHJvZHVjZSBuZXcg RFJNX0ZPUk1BVF9YWVVWCgpTaWduZWQtb2ZmLWJ5OiBTdGFuaXNsYXYgTGlzb3Zza2l5IDxzdGFu aXNsYXYubGlzb3Zza2l5QGludGVsLmNvbT4KLS0tCiBpbmNsdWRlL2RybS11YXBpL2RybV9mb3Vy Y2MuaCB8ICAxICsKIGxpYi9pZ3RfZmIuYyAgICAgICAgICAgICAgICAgIHwgODkgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIHRlc3RzL2ttc19wbGFuZS5jICAgICAgICAgICAg IHwgIDMgKysKIDMgZmlsZXMgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2luY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oIGIvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91 cmNjLmgKaW5kZXggZTA0NjEzZDMuLjAzZTU0NjZjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS11 YXBpL2RybV9mb3VyY2MuaAorKysgYi9pbmNsdWRlL2RybS11YXBpL2RybV9mb3VyY2MuaApAQCAt MTEyLDYgKzExMiw3IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fRk9STUFUX1ZZVVkJCWZv dXJjY19jb2RlKCdWJywgJ1knLCAnVScsICdZJykgLyogWzMxOjBdIFkxOkNiMDpZMDpDcjAgODo4 Ojg6OCBsaXR0bGUgZW5kaWFuICovCiAKICNkZWZpbmUgRFJNX0ZPUk1BVF9BWVVWCQlmb3VyY2Nf Y29kZSgnQScsICdZJywgJ1UnLCAnVicpIC8qIFszMTowXSBBOlk6Q2I6Q3IgODo4Ojg6OCBsaXR0 bGUgZW5kaWFuICovCisjZGVmaW5lIERSTV9GT1JNQVRfWFlVVjg4ODgJZm91cmNjX2NvZGUoJ1gn LCAnWScsICdVJywgJ1YnKSAvKiBbMzE6MF0gWDpZOkNiOkNyIDg6ODo4OjggbGl0dGxlIGVuZGlh biAqLwogCiAvKgogICogMiBwbGFuZSBSR0IgKyBBCmRpZmYgLS1naXQgYS9saWIvaWd0X2ZiLmMg Yi9saWIvaWd0X2ZiLmMKaW5kZXggY2JhNjdmNDEuLjdkNzJlZTJmIDEwMDY0NAotLS0gYS9saWIv aWd0X2ZiLmMKKysrIGIvbGliL2lndF9mYi5jCkBAIC03Miw2ICs3MiwxMCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGZvcm1hdF9kZXNjX3N0cnVjdCB7CiAJICAuY2Fpcm9faWQgPSBDQUlST19GT1JN QVRfUkdCMTZfNTY1LAogCSAgLm51bV9wbGFuZXMgPSAxLCAucGxhbmVfYnBwID0geyAxNiwgfSwK IAl9LAorCXsgLm5hbWUgPSAiWFlVVjg4ODgiLCAuZGVwdGggPSAtMSwgLmRybV9pZCA9IERSTV9G T1JNQVRfWFlVVjg4ODgsCisJICAuY2Fpcm9faWQgPSBDQUlST19GT1JNQVRfUkdCMjQsCisJICAu bnVtX3BsYW5lcyA9IDEsIC5wbGFuZV9icHAgPSB7IDMyLCB9LAorCX0sCiAJeyAubmFtZSA9ICJY UkdCODg4OCIsIC5kZXB0aCA9IDI0LCAuZHJtX2lkID0gRFJNX0ZPUk1BVF9YUkdCODg4OCwKIAkg IC5jYWlyb19pZCA9IENBSVJPX0ZPUk1BVF9SR0IyNCwKIAkgIC5udW1fcGxhbmVzID0gMSwgLnBs YW5lX2JwcCA9IHsgMzIsIH0sCkBAIC00NTMsNiArNDU3LDEwIEBAIHN0YXRpYyBpbnQgY3JlYXRl X2JvX2Zvcl9mYihzdHJ1Y3QgaWd0X2ZiICpmYikKIAkJCQkgICAgICAgMHg4MCwKIAkJCQkgICAg ICAgZmItPnN0cmlkZXNbMV0gKiBmYi0+cGxhbmVfaGVpZ2h0WzFdKTsKIAkJCQlicmVhazsKKwkJ CWNhc2UgRFJNX0ZPUk1BVF9YWVVWODg4ODoKKwkJCQl3bWVtc2V0KHB0ciArIGZiLT5vZmZzZXRz WzBdLCBmdWxsX3JhbmdlID8gMHgwMDAwODA4MCA6IDB4MDAxMDgwODAsCisJCQkJCWZiLT5zdHJp ZGVzWzBdICogZmItPnBsYW5lX2hlaWdodFswXSAvIHNpemVvZih3Y2hhcl90KSk7CisJCQkJYnJl YWs7CiAJCQljYXNlIERSTV9GT1JNQVRfWVVZVjoKIAkJCWNhc2UgRFJNX0ZPUk1BVF9ZVllVOgog CQkJCXdtZW1zZXQocHRyICsgZmItPm9mZnNldHNbMF0sCkBAIC0xNTEwLDYgKzE1MTgsNzkgQEAg c3RhdGljIHZvaWQgY29udmVydF9udjEyX3RvX3JnYjI0KHN0cnVjdCBpZ3RfZmIgKmZiLCBzdHJ1 Y3QgZmJfY29udmVydF9ibGl0X3VwbG8KIAlmcmVlKGJ1Zik7CiB9CiAKK3N0YXRpYyB2b2lkIGNv bnZlcnRfeXV2NDQ0X3RvX3JnYjI0KHN0cnVjdCBpZ3RfZmIgKmZiLCBzdHJ1Y3QgZmJfY29udmVy dF9ibGl0X3VwbG9hZCAqYmxpdCkKK3sKKwlpbnQgaSwgajsKKwl1aW50OF90ICp5dXYyNDsKKwl1 aW50OF90ICpyZ2IyNCA9IGJsaXQtPnJnYjI0Lm1hcDsKKwl1bnNpZ25lZCByZ2IyNF9zdHJpZGUg PSBibGl0LT5yZ2IyNC5zdHJpZGUsIHh5dXZfc3RyaWRlID0gYmxpdC0+YmFzZS5saW5lYXIuZmIu c3RyaWRlc1swXTsKKwl1aW50OF90ICpidWYgPSBtYWxsb2MoYmxpdC0+YmFzZS5saW5lYXIuZmIu c2l6ZSk7CisJc3RydWN0IGlndF9tYXQ0IG0gPSBpZ3RfeWNiY3JfdG9fcmdiX21hdHJpeChmYi0+ Y29sb3JfZW5jb2RpbmcsCisJCQkJCQkgICAgZmItPmNvbG9yX3JhbmdlKTsKKworCS8qCisJICog UmVhZGluZyBmcm9tIHRoZSBCTyBpcyBhd2Z1bGx5IHNsb3cgYmVjYXVzZSBvZiBsYWNrIG9mIHJl YWQgY2FjaGluZywKKwkgKiBpdCdzIGZhc3RlciB0byBjb3B5IHRoZSB3aG9sZSBCTyB0byBhIHRl bXBvcmFyeSBidWZmZXIgYW5kIGNvbnZlcnQKKwkgKiBmcm9tIHRoZXJlLgorCSAqLworCWlndF9t ZW1jcHlfZnJvbV93YyhidWYsICZibGl0LT5iYXNlLmxpbmVhci5tYXBbYmxpdC0+YmFzZS5saW5l YXIuZmIub2Zmc2V0c1swXV0sIGJsaXQtPmJhc2UubGluZWFyLmZiLnNpemUpOworCXl1djI0ID0g YnVmOworCisJZm9yIChpID0gMDsgaSA8IGZiLT5wbGFuZV9oZWlnaHRbMF07IGkrKykgeworCQlm b3IgKGogPSAwOyBqIDwgZmItPnBsYW5lX3dpZHRoWzBdOyBqKyspIHsKKwkJCWZsb2F0IHksIHUs IHY7CisJCQlzdHJ1Y3QgaWd0X3ZlYzQgeXV2OworCQkJc3RydWN0IGlndF92ZWM0IHJnYjsKKwor CQkJdiA9IHl1djI0W2kgKiB4eXV2X3N0cmlkZSArIGoqc2l6ZW9mKHVpbnQzMl90KV07CisJCQl1 ID0geXV2MjRbaSAqIHh5dXZfc3RyaWRlICsgaipzaXplb2YodWludDMyX3QpICsgMV07CisJCQl5 ID0geXV2MjRbaSAqIHh5dXZfc3RyaWRlICsgaipzaXplb2YodWludDMyX3QpICsgMl07CisJCQl5 dXYuZFswXSA9IHk7CisJCQl5dXYuZFsxXSA9IHU7CisJCQl5dXYuZFsyXSA9IHY7CisJCQl5dXYu ZFszXSA9IDEuMGY7CisKKwkJCXJnYiA9IGlndF9tYXRyaXhfdHJhbnNmb3JtKCZtLCAmeXV2KTsK KworCQkJd3JpdGVfcmdiKCZyZ2IyNFtpICogcmdiMjRfc3RyaWRlICsgaipzaXplb2YodWludDMy X3QpXSwgJnJnYik7CisJCX0KKwl9CisKKwlmcmVlKGJ1Zik7Cit9CisKKworc3RhdGljIHZvaWQg Y29udmVydF9yZ2IyNF90b195dXY0NDQoc3RydWN0IGlndF9mYiAqZmIsIHN0cnVjdCBmYl9jb252 ZXJ0X2JsaXRfdXBsb2FkICpibGl0KQoreworCWludCBpLCBqOworCXVpbnQ4X3QgKnJnYjI0Owor CXVpbnQ4X3QgKnl1djQ0NCA9ICZibGl0LT5iYXNlLmxpbmVhci5tYXBbYmxpdC0+YmFzZS5saW5l YXIuZmIub2Zmc2V0c1swXV07CisJdW5zaWduZWQgaW50IHJnYjI0X3N0cmlkZSA9IGJsaXQtPnJn YjI0LnN0cmlkZSwgeHl1dl9zdHJpZGUgPSBibGl0LT5iYXNlLmxpbmVhci5mYi5zdHJpZGVzWzBd OworCXN0cnVjdCBpZ3RfbWF0NCBtID0gaWd0X3JnYl90b195Y2Jjcl9tYXRyaXgoZmItPmNvbG9y X2VuY29kaW5nLAorCQkJCQkJICAgIGZiLT5jb2xvcl9yYW5nZSk7CisKKwlyZ2IyNCA9IGJsaXQt PnJnYjI0Lm1hcDsKKworCWZvciAoaSA9IDA7IGkgPCBmYi0+cGxhbmVfaGVpZ2h0WzBdOyBpKysp IHsKKwkJZm9yIChqID0gMDsgaiA8IGZiLT5wbGFuZV93aWR0aFswXTsgaisrKSB7CisJCQlzdHJ1 Y3QgaWd0X3ZlYzQgcmdiOworCQkJc3RydWN0IGlndF92ZWM0IHl1djsKKwkJCWZsb2F0IHksIHUs IHY7CisKKwkJCXJlYWRfcmdiKCZyZ2IsICZyZ2IyNFtpICogcmdiMjRfc3RyaWRlICsgaipzaXpl b2YodWludDMyX3QpXSk7CisKKwkJCXl1diA9IGlndF9tYXRyaXhfdHJhbnNmb3JtKCZtLCAmcmdi KTsKKworCQkJeXV2NDQ0W2kgKiB4eXV2X3N0cmlkZSArIGoqc2l6ZW9mKHVpbnQzMl90KV0gPSB5 dXYuZFsyXTsKKwkJCXl1djQ0NFtpICogeHl1dl9zdHJpZGUgKyBqKnNpemVvZih1aW50MzJfdCkg KyAxXSA9IHl1di5kWzFdOworCQkJeXV2NDQ0W2kgKiB4eXV2X3N0cmlkZSArIGoqc2l6ZW9mKHVp bnQzMl90KSArIDJdID0geXV2LmRbMF07CisJCX0KKwl9Cit9CisKKworCisKIHN0YXRpYyB2b2lk IGNvbnZlcnRfcmdiMjRfdG9fbnYxMihzdHJ1Y3QgaWd0X2ZiICpmYiwgc3RydWN0IGZiX2NvbnZl cnRfYmxpdF91cGxvYWQgKmJsaXQpCiB7CiAJaW50IGksIGo7CkBAIC0xNzY2LDYgKzE4NDcsOSBA QCBzdGF0aWMgdm9pZCBkZXN0cm95X2NhaXJvX3N1cmZhY2VfX2NvbnZlcnQodm9pZCAqYXJnKQog CWNhc2UgRFJNX0ZPUk1BVF9WWVVZOgogCQljb252ZXJ0X3JnYjI0X3RvX3l1eXYoZmIsIGJsaXQs IHl1eXZfc3dpenpsZShmYi0+ZHJtX2Zvcm1hdCkpOwogCQlicmVhazsKKwljYXNlIERSTV9GT1JN QVRfWFlVVjg4ODg6CisJCWNvbnZlcnRfcmdiMjRfdG9feXV2NDQ0KGZiLCBibGl0KTsKKwkJYnJl YWs7CiAJZGVmYXVsdDoKIAkJaWd0X2Fzc2VydF9mKGZhbHNlLCAiQ29udmVyc2lvbiBub3QgaW1w bGVtZW50ZWQgZm9yIGZvcm1hdHMgMHgleFxuIiwKIAkJCSAgICAgZmItPmRybV9mb3JtYXQpOwpA QCAtMTgyMSw2ICsxOTA1LDkgQEAgc3RhdGljIHZvaWQgY3JlYXRlX2NhaXJvX3N1cmZhY2VfX2Nv bnZlcnQoaW50IGZkLCBzdHJ1Y3QgaWd0X2ZiICpmYikKIAljYXNlIERSTV9GT1JNQVRfVllVWToK IAkJY29udmVydF95dXl2X3RvX3JnYjI0KGZiLCBibGl0LCB5dXl2X3N3aXp6bGUoZmItPmRybV9m b3JtYXQpKTsKIAkJYnJlYWs7CisJY2FzZSBEUk1fRk9STUFUX1hZVVY4ODg4OgorCQljb252ZXJ0 X3l1djQ0NF90b19yZ2IyNChmYiwgYmxpdCk7CisJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCWlndF9h c3NlcnRfZihmYWxzZSwgIkNvbnZlcnNpb24gbm90IGltcGxlbWVudGVkIGZvciBmb3JtYXRzIDB4 JXhcbiIsCiAJCQkgICAgIGZiLT5kcm1fZm9ybWF0KTsKQEAgLTE4MzcsNiArMTkyNCw3IEBAIHN0 YXRpYyB2b2lkIGNyZWF0ZV9jYWlyb19zdXJmYWNlX19jb252ZXJ0KGludCBmZCwgc3RydWN0IGln dF9mYiAqZmIpCiAJCQkJICAgIGJsaXQsIGRlc3Ryb3lfY2Fpcm9fc3VyZmFjZV9fY29udmVydCk7 CiB9CiAKKwogLyoqCiAgKiBpZ3RfZ2V0X2NhaXJvX3N1cmZhY2U6CiAgKiBAZmQ6IG9wZW4gZHJt IGZpbGUgZGVzY3JpcHRvcgpAQCAtMjAxOSw2ICsyMTA3LDcgQEAgYm9vbCBpZ3RfZm9ybWF0X2lz X3l1dih1aW50MzJfdCBkcm1fZm9ybWF0KQogCWNhc2UgRFJNX0ZPUk1BVF9ZVllVOgogCWNhc2Ug RFJNX0ZPUk1BVF9VWVZZOgogCWNhc2UgRFJNX0ZPUk1BVF9WWVVZOgorCWNhc2UgRFJNX0ZPUk1B VF9YWVVWODg4ODoKIAkJcmV0dXJuIHRydWU7CiAJZGVmYXVsdDoKIAkJcmV0dXJuIGZhbHNlOwpk aWZmIC0tZ2l0IGEvdGVzdHMva21zX3BsYW5lLmMgYi90ZXN0cy9rbXNfcGxhbmUuYwppbmRleCA1 YTBiYzA1Yi4uYTQwZjEwYWQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19wbGFuZS5jCisrKyBiL3Rl c3RzL2ttc19wbGFuZS5jCkBAIC00ODMsNiArNDgzLDkgQEAgc3RhdGljIHZvaWQgdGVzdF9mb3Jt YXRfcGxhbmUoZGF0YV90ICpkYXRhLCBlbnVtIHBpcGUgcGlwZSwKIAogCQlmb3JtYXQgPSBwbGFu ZS0+ZHJtX3BsYW5lLT5mb3JtYXRzW2ldOwogCisJCWlmIChmb3JtYXQgIT0gRFJNX0ZPUk1BVF9Y WVVWODg4OCkKKwkJCWNvbnRpbnVlOworCiAJCWlmIChmb3JtYXQgPT0gcmVmX2Zvcm1hdCkKIAkJ CWNvbnRpbnVlOwogCi0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aWd0LWRldgo=