From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 856C16E191 for ; Fri, 5 Oct 2018 08:23:40 +0000 (UTC) From: Stanislav Lisovskiy Date: Fri, 5 Oct 2018 11:23:17 +0300 Message-Id: <20181005082317.28229-1-stanislav.lisovskiy@intel.com> Subject: [igt-dev] [PATCH i-g-t v9] 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 LgoKU2lnbmVkLW9mZi1ieTogU3RhbmlzbGF2IExpc292c2tpeSA8c3RhbmlzbGF2Lmxpc292c2tp eUBpbnRlbC5jb20+Ci0tLQogaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmggfCAgMSArCiBs aWIvaWd0X2ZiLmMgICAgICAgICAgICAgICAgICB8IDg5ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiB0ZXN0cy9rbXNfcGxhbmUuYyAgICAgICAgICAgICB8ICAzICsrCiAzIGZp bGVzIGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11 YXBpL2RybV9mb3VyY2MuaCBiL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oCmluZGV4IGUw NDYxM2QzLi4wM2U1NDY2YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNj LmgKKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmgKQEAgLTExMiw2ICsxMTIsNyBA QCBleHRlcm4gIkMiIHsKICNkZWZpbmUgRFJNX0ZPUk1BVF9WWVVZCQlmb3VyY2NfY29kZSgnVics ICdZJywgJ1UnLCAnWScpIC8qIFszMTowXSBZMTpDYjA6WTA6Q3IwIDg6ODo4OjggbGl0dGxlIGVu ZGlhbiAqLwogCiAjZGVmaW5lIERSTV9GT1JNQVRfQVlVVgkJZm91cmNjX2NvZGUoJ0EnLCAnWScs ICdVJywgJ1YnKSAvKiBbMzE6MF0gQTpZOkNiOkNyIDg6ODo4OjggbGl0dGxlIGVuZGlhbiAqLwor I2RlZmluZSBEUk1fRk9STUFUX1hZVVY4ODg4CWZvdXJjY19jb2RlKCdYJywgJ1knLCAnVScsICdW JykgLyogWzMxOjBdIFg6WTpDYjpDciA4Ojg6ODo4IGxpdHRsZSBlbmRpYW4gKi8KIAogLyoKICAq IDIgcGxhbmUgUkdCICsgQQpkaWZmIC0tZ2l0IGEvbGliL2lndF9mYi5jIGIvbGliL2lndF9mYi5j CmluZGV4IGNiYTY3ZjQxLi43ZDcyZWUyZiAxMDA2NDQKLS0tIGEvbGliL2lndF9mYi5jCisrKyBi L2xpYi9pZ3RfZmIuYwpAQCAtNzIsNiArNzIsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmb3Jt YXRfZGVzY19zdHJ1Y3QgewogCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjE2XzU2NSwK IAkgIC5udW1fcGxhbmVzID0gMSwgLnBsYW5lX2JwcCA9IHsgMTYsIH0sCiAJfSwKKwl7IC5uYW1l ID0gIlhZVVY4ODg4IiwgLmRlcHRoID0gLTEsIC5kcm1faWQgPSBEUk1fRk9STUFUX1hZVVY4ODg4 LAorCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjI0LAorCSAgLm51bV9wbGFuZXMgPSAx LCAucGxhbmVfYnBwID0geyAzMiwgfSwKKwl9LAogCXsgLm5hbWUgPSAiWFJHQjg4ODgiLCAuZGVw dGggPSAyNCwgLmRybV9pZCA9IERSTV9GT1JNQVRfWFJHQjg4ODgsCiAJICAuY2Fpcm9faWQgPSBD QUlST19GT1JNQVRfUkdCMjQsCiAJICAubnVtX3BsYW5lcyA9IDEsIC5wbGFuZV9icHAgPSB7IDMy LCB9LApAQCAtNDUzLDYgKzQ1NywxMCBAQCBzdGF0aWMgaW50IGNyZWF0ZV9ib19mb3JfZmIoc3Ry dWN0IGlndF9mYiAqZmIpCiAJCQkJICAgICAgIDB4ODAsCiAJCQkJICAgICAgIGZiLT5zdHJpZGVz WzFdICogZmItPnBsYW5lX2hlaWdodFsxXSk7CiAJCQkJYnJlYWs7CisJCQljYXNlIERSTV9GT1JN QVRfWFlVVjg4ODg6CisJCQkJd21lbXNldChwdHIgKyBmYi0+b2Zmc2V0c1swXSwgZnVsbF9yYW5n ZSA/IDB4MDAwMDgwODAgOiAweDAwMTA4MDgwLAorCQkJCQlmYi0+c3RyaWRlc1swXSAqIGZiLT5w bGFuZV9oZWlnaHRbMF0gLyBzaXplb2Yod2NoYXJfdCkpOworCQkJCWJyZWFrOwogCQkJY2FzZSBE Uk1fRk9STUFUX1lVWVY6CiAJCQljYXNlIERSTV9GT1JNQVRfWVZZVToKIAkJCQl3bWVtc2V0KHB0 ciArIGZiLT5vZmZzZXRzWzBdLApAQCAtMTUxMCw2ICsxNTE4LDc5IEBAIHN0YXRpYyB2b2lkIGNv bnZlcnRfbnYxMl90b19yZ2IyNChzdHJ1Y3QgaWd0X2ZiICpmYiwgc3RydWN0IGZiX2NvbnZlcnRf YmxpdF91cGxvCiAJZnJlZShidWYpOwogfQogCitzdGF0aWMgdm9pZCBjb252ZXJ0X3l1djQ0NF90 b19yZ2IyNChzdHJ1Y3QgaWd0X2ZiICpmYiwgc3RydWN0IGZiX2NvbnZlcnRfYmxpdF91cGxvYWQg KmJsaXQpCit7CisJaW50IGksIGo7CisJdWludDhfdCAqeXV2MjQ7CisJdWludDhfdCAqcmdiMjQg PSBibGl0LT5yZ2IyNC5tYXA7CisJdW5zaWduZWQgcmdiMjRfc3RyaWRlID0gYmxpdC0+cmdiMjQu c3RyaWRlLCB4eXV2X3N0cmlkZSA9IGJsaXQtPmJhc2UubGluZWFyLmZiLnN0cmlkZXNbMF07CisJ dWludDhfdCAqYnVmID0gbWFsbG9jKGJsaXQtPmJhc2UubGluZWFyLmZiLnNpemUpOworCXN0cnVj dCBpZ3RfbWF0NCBtID0gaWd0X3ljYmNyX3RvX3JnYl9tYXRyaXgoZmItPmNvbG9yX2VuY29kaW5n LAorCQkJCQkJICAgIGZiLT5jb2xvcl9yYW5nZSk7CisKKwkvKgorCSAqIFJlYWRpbmcgZnJvbSB0 aGUgQk8gaXMgYXdmdWxseSBzbG93IGJlY2F1c2Ugb2YgbGFjayBvZiByZWFkIGNhY2hpbmcsCisJ ICogaXQncyBmYXN0ZXIgdG8gY29weSB0aGUgd2hvbGUgQk8gdG8gYSB0ZW1wb3JhcnkgYnVmZmVy IGFuZCBjb252ZXJ0CisJICogZnJvbSB0aGVyZS4KKwkgKi8KKwlpZ3RfbWVtY3B5X2Zyb21fd2Mo YnVmLCAmYmxpdC0+YmFzZS5saW5lYXIubWFwW2JsaXQtPmJhc2UubGluZWFyLmZiLm9mZnNldHNb MF1dLCBibGl0LT5iYXNlLmxpbmVhci5mYi5zaXplKTsKKwl5dXYyNCA9IGJ1ZjsKKworCWZvciAo aSA9IDA7IGkgPCBmYi0+cGxhbmVfaGVpZ2h0WzBdOyBpKyspIHsKKwkJZm9yIChqID0gMDsgaiA8 IGZiLT5wbGFuZV93aWR0aFswXTsgaisrKSB7CisJCQlmbG9hdCB5LCB1LCB2OworCQkJc3RydWN0 IGlndF92ZWM0IHl1djsKKwkJCXN0cnVjdCBpZ3RfdmVjNCByZ2I7CisKKwkJCXYgPSB5dXYyNFtp ICogeHl1dl9zdHJpZGUgKyBqKnNpemVvZih1aW50MzJfdCldOworCQkJdSA9IHl1djI0W2kgKiB4 eXV2X3N0cmlkZSArIGoqc2l6ZW9mKHVpbnQzMl90KSArIDFdOworCQkJeSA9IHl1djI0W2kgKiB4 eXV2X3N0cmlkZSArIGoqc2l6ZW9mKHVpbnQzMl90KSArIDJdOworCQkJeXV2LmRbMF0gPSB5Owor CQkJeXV2LmRbMV0gPSB1OworCQkJeXV2LmRbMl0gPSB2OworCQkJeXV2LmRbM10gPSAxLjBmOwor CisJCQlyZ2IgPSBpZ3RfbWF0cml4X3RyYW5zZm9ybSgmbSwgJnl1dik7CisKKwkJCXdyaXRlX3Jn YigmcmdiMjRbaSAqIHJnYjI0X3N0cmlkZSArIGoqc2l6ZW9mKHVpbnQzMl90KV0sICZyZ2IpOwor CQl9CisJfQorCisJZnJlZShidWYpOworfQorCisKK3N0YXRpYyB2b2lkIGNvbnZlcnRfcmdiMjRf dG9feXV2NDQ0KHN0cnVjdCBpZ3RfZmIgKmZiLCBzdHJ1Y3QgZmJfY29udmVydF9ibGl0X3VwbG9h ZCAqYmxpdCkKK3sKKwlpbnQgaSwgajsKKwl1aW50OF90ICpyZ2IyNDsKKwl1aW50OF90ICp5dXY0 NDQgPSAmYmxpdC0+YmFzZS5saW5lYXIubWFwW2JsaXQtPmJhc2UubGluZWFyLmZiLm9mZnNldHNb MF1dOworCXVuc2lnbmVkIGludCByZ2IyNF9zdHJpZGUgPSBibGl0LT5yZ2IyNC5zdHJpZGUsIHh5 dXZfc3RyaWRlID0gYmxpdC0+YmFzZS5saW5lYXIuZmIuc3RyaWRlc1swXTsKKwlzdHJ1Y3QgaWd0 X21hdDQgbSA9IGlndF9yZ2JfdG9feWNiY3JfbWF0cml4KGZiLT5jb2xvcl9lbmNvZGluZywKKwkJ CQkJCSAgICBmYi0+Y29sb3JfcmFuZ2UpOworCisJcmdiMjQgPSBibGl0LT5yZ2IyNC5tYXA7CisK Kwlmb3IgKGkgPSAwOyBpIDwgZmItPnBsYW5lX2hlaWdodFswXTsgaSsrKSB7CisJCWZvciAoaiA9 IDA7IGogPCBmYi0+cGxhbmVfd2lkdGhbMF07IGorKykgeworCQkJc3RydWN0IGlndF92ZWM0IHJn YjsKKwkJCXN0cnVjdCBpZ3RfdmVjNCB5dXY7CisJCQlmbG9hdCB5LCB1LCB2OworCisJCQlyZWFk X3JnYigmcmdiLCAmcmdiMjRbaSAqIHJnYjI0X3N0cmlkZSArIGoqc2l6ZW9mKHVpbnQzMl90KV0p OworCisJCQl5dXYgPSBpZ3RfbWF0cml4X3RyYW5zZm9ybSgmbSwgJnJnYik7CisKKwkJCXl1djQ0 NFtpICogeHl1dl9zdHJpZGUgKyBqKnNpemVvZih1aW50MzJfdCldID0geXV2LmRbMl07CisJCQl5 dXY0NDRbaSAqIHh5dXZfc3RyaWRlICsgaipzaXplb2YodWludDMyX3QpICsgMV0gPSB5dXYuZFsx XTsKKwkJCXl1djQ0NFtpICogeHl1dl9zdHJpZGUgKyBqKnNpemVvZih1aW50MzJfdCkgKyAyXSA9 IHl1di5kWzBdOworCQl9CisJfQorfQorCisKKworCiBzdGF0aWMgdm9pZCBjb252ZXJ0X3JnYjI0 X3RvX252MTIoc3RydWN0IGlndF9mYiAqZmIsIHN0cnVjdCBmYl9jb252ZXJ0X2JsaXRfdXBsb2Fk ICpibGl0KQogewogCWludCBpLCBqOwpAQCAtMTc2Niw2ICsxODQ3LDkgQEAgc3RhdGljIHZvaWQg ZGVzdHJveV9jYWlyb19zdXJmYWNlX19jb252ZXJ0KHZvaWQgKmFyZykKIAljYXNlIERSTV9GT1JN QVRfVllVWToKIAkJY29udmVydF9yZ2IyNF90b195dXl2KGZiLCBibGl0LCB5dXl2X3N3aXp6bGUo ZmItPmRybV9mb3JtYXQpKTsKIAkJYnJlYWs7CisJY2FzZSBEUk1fRk9STUFUX1hZVVY4ODg4Ogor CQljb252ZXJ0X3JnYjI0X3RvX3l1djQ0NChmYiwgYmxpdCk7CisJCWJyZWFrOwogCWRlZmF1bHQ6 CiAJCWlndF9hc3NlcnRfZihmYWxzZSwgIkNvbnZlcnNpb24gbm90IGltcGxlbWVudGVkIGZvciBm b3JtYXRzIDB4JXhcbiIsCiAJCQkgICAgIGZiLT5kcm1fZm9ybWF0KTsKQEAgLTE4MjEsNiArMTkw NSw5IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9jYWlyb19zdXJmYWNlX19jb252ZXJ0KGludCBmZCwg c3RydWN0IGlndF9mYiAqZmIpCiAJY2FzZSBEUk1fRk9STUFUX1ZZVVk6CiAJCWNvbnZlcnRfeXV5 dl90b19yZ2IyNChmYiwgYmxpdCwgeXV5dl9zd2l6emxlKGZiLT5kcm1fZm9ybWF0KSk7CiAJCWJy ZWFrOworCWNhc2UgRFJNX0ZPUk1BVF9YWVVWODg4ODoKKwkJY29udmVydF95dXY0NDRfdG9fcmdi MjQoZmIsIGJsaXQpOworCQlicmVhazsKIAlkZWZhdWx0OgogCQlpZ3RfYXNzZXJ0X2YoZmFsc2Us ICJDb252ZXJzaW9uIG5vdCBpbXBsZW1lbnRlZCBmb3IgZm9ybWF0cyAweCV4XG4iLAogCQkJICAg ICBmYi0+ZHJtX2Zvcm1hdCk7CkBAIC0xODM3LDYgKzE5MjQsNyBAQCBzdGF0aWMgdm9pZCBjcmVh dGVfY2Fpcm9fc3VyZmFjZV9fY29udmVydChpbnQgZmQsIHN0cnVjdCBpZ3RfZmIgKmZiKQogCQkJ CSAgICBibGl0LCBkZXN0cm95X2NhaXJvX3N1cmZhY2VfX2NvbnZlcnQpOwogfQogCisKIC8qKgog ICogaWd0X2dldF9jYWlyb19zdXJmYWNlOgogICogQGZkOiBvcGVuIGRybSBmaWxlIGRlc2NyaXB0 b3IKQEAgLTIwMTksNiArMjEwNyw3IEBAIGJvb2wgaWd0X2Zvcm1hdF9pc195dXYodWludDMyX3Qg ZHJtX2Zvcm1hdCkKIAljYXNlIERSTV9GT1JNQVRfWVZZVToKIAljYXNlIERSTV9GT1JNQVRfVVlW WToKIAljYXNlIERSTV9GT1JNQVRfVllVWToKKwljYXNlIERSTV9GT1JNQVRfWFlVVjg4ODg6CiAJ CXJldHVybiB0cnVlOwogCWRlZmF1bHQ6CiAJCXJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL3Rl c3RzL2ttc19wbGFuZS5jIGIvdGVzdHMva21zX3BsYW5lLmMKaW5kZXggNWEwYmMwNWIuLmE0MGYx MGFkIDEwMDY0NAotLS0gYS90ZXN0cy9rbXNfcGxhbmUuYworKysgYi90ZXN0cy9rbXNfcGxhbmUu YwpAQCAtNDgzLDYgKzQ4Myw5IEBAIHN0YXRpYyB2b2lkIHRlc3RfZm9ybWF0X3BsYW5lKGRhdGFf dCAqZGF0YSwgZW51bSBwaXBlIHBpcGUsCiAKIAkJZm9ybWF0ID0gcGxhbmUtPmRybV9wbGFuZS0+ Zm9ybWF0c1tpXTsKIAorCQlpZiAoZm9ybWF0ICE9IERSTV9GT1JNQVRfWFlVVjg4ODgpCisJCQlj b250aW51ZTsKKwogCQlpZiAoZm9ybWF0ID09IHJlZl9mb3JtYXQpCiAJCQljb250aW51ZTsKIAot LSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK