From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5FD576E1D5 for ; Wed, 24 Oct 2018 12:40:00 +0000 (UTC) From: Stanislav Lisovskiy Date: Wed, 24 Oct 2018 15:40:04 +0300 Message-Id: <20181024124004.26093-1-stanislav.lisovskiy@intel.com> Subject: [igt-dev] [PATCH i-g-t v12] 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 aXRoIHRoZSBuZXcgZm9ybWF0CiAgICAgaW4gaW5jbHVkZS9kcm0tdWFwaQoKdjExOiBSZW1vdmVk IHVubmVjZXNzYXJ5IHNpemVvZidzIGluIHJnYiA8PT4geXV2NDQ0IGNvbnZlcnQgZnVuY3Rpb25z LgoKdjEyOiBSZWJhc2VkIGFnYWluc3QgbWFzdGVyIGJyYW5jaCwgZml4ZWQgcmViYXNlIGNvbmZs aWN0IGNhdXNlZCBieQogICAgIG5ldyBmYl9jb252ZXJ0IGZ1bmN0aW9ucy4gUmVtb3ZlZCBkcm0g a2VybmVsIGNvbW1pdCByZWZlcmVuY2UKICAgICBhcyBpdCBpcyBzdGlsbCBub3QgbWVyZ2VkLCBz byBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gdXNlIGl0LgoKU2lnbmVkLW9mZi1ieTogU3RhbmlzbGF2 IExpc292c2tpeSA8c3RhbmlzbGF2Lmxpc292c2tpeUBpbnRlbC5jb20+Ci0tLQogaW5jbHVkZS9k cm0tdWFwaS9kcm1fZm91cmNjLmggfCAgMSArCiBsaWIvaWd0X2ZiLmMgICAgICAgICAgICAgICAg ICB8IDg3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5n ZWQsIDg4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL2RybV9m b3VyY2MuaCBiL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oCmluZGV4IGUwNDYxM2QzLi4w M2U1NDY2YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmgKKysrIGIv aW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmgKQEAgLTExMiw2ICsxMTIsNyBAQCBleHRlcm4g IkMiIHsKICNkZWZpbmUgRFJNX0ZPUk1BVF9WWVVZCQlmb3VyY2NfY29kZSgnVicsICdZJywgJ1Un LCAnWScpIC8qIFszMTowXSBZMTpDYjA6WTA6Q3IwIDg6ODo4OjggbGl0dGxlIGVuZGlhbiAqLwog CiAjZGVmaW5lIERSTV9GT1JNQVRfQVlVVgkJZm91cmNjX2NvZGUoJ0EnLCAnWScsICdVJywgJ1Yn KSAvKiBbMzE6MF0gQTpZOkNiOkNyIDg6ODo4OjggbGl0dGxlIGVuZGlhbiAqLworI2RlZmluZSBE Uk1fRk9STUFUX1hZVVY4ODg4CWZvdXJjY19jb2RlKCdYJywgJ1knLCAnVScsICdWJykgLyogWzMx OjBdIFg6WTpDYjpDciA4Ojg6ODo4IGxpdHRsZSBlbmRpYW4gKi8KIAogLyoKICAqIDIgcGxhbmUg UkdCICsgQQpkaWZmIC0tZ2l0IGEvbGliL2lndF9mYi5jIGIvbGliL2lndF9mYi5jCmluZGV4IDVk Y2ExY2ZhLi5mYzExNDBiNSAxMDA2NDQKLS0tIGEvbGliL2lndF9mYi5jCisrKyBiL2xpYi9pZ3Rf ZmIuYwpAQCAtMTAyLDYgKzEwMiwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGZvcm1hdF9kZXNj X3N0cnVjdCB7CiAJICAucGl4bWFuX2lkID0gUElYTUFOX3I4ZzhiOCwKIAkgIC5udW1fcGxhbmVz ID0gMSwgLnBsYW5lX2JwcCA9IHsgMjQsIH0sCiAJfSwKKwl7IC5uYW1lID0gIlhZVVY4ODg4Iiwg LmRlcHRoID0gLTEsIC5kcm1faWQgPSBEUk1fRk9STUFUX1hZVVY4ODg4LAorCSAgLmNhaXJvX2lk ID0gQ0FJUk9fRk9STUFUX1JHQjI0LAorCSAgLm51bV9wbGFuZXMgPSAxLCAucGxhbmVfYnBwID0g eyAzMiwgfSwKKwl9LAogCXsgLm5hbWUgPSAiWFJHQjg4ODgiLCAuZGVwdGggPSAyNCwgLmRybV9p ZCA9IERSTV9GT1JNQVRfWFJHQjg4ODgsCiAJICAuY2Fpcm9faWQgPSBDQUlST19GT1JNQVRfUkdC MjQsCiAJICAucGl4bWFuX2lkID0gUElYTUFOX3g4cjhnOGI4LApAQCAtNDk2LDYgKzUwMCwxMCBA QCBzdGF0aWMgaW50IGNyZWF0ZV9ib19mb3JfZmIoc3RydWN0IGlndF9mYiAqZmIpCiAJCQkJICAg ICAgIDB4ODAsCiAJCQkJICAgICAgIGZiLT5zdHJpZGVzWzFdICogZmItPnBsYW5lX2hlaWdodFsx XSk7CiAJCQkJYnJlYWs7CisJCQljYXNlIERSTV9GT1JNQVRfWFlVVjg4ODg6CisJCQkJd21lbXNl dChwdHIgKyBmYi0+b2Zmc2V0c1swXSwgZnVsbF9yYW5nZSA/IDB4MDAwMDgwODAgOiAweDAwMTA4 MDgwLAorCQkJCQlmYi0+c3RyaWRlc1swXSAqIGZiLT5wbGFuZV9oZWlnaHRbMF0gLyBzaXplb2Yo d2NoYXJfdCkpOworCQkJCWJyZWFrOwogCQkJY2FzZSBEUk1fRk9STUFUX1lVWVY6CiAJCQljYXNl IERSTV9GT1JNQVRfWVZZVToKIAkJCQl3bWVtc2V0KHB0ciArIGZiLT5vZmZzZXRzWzBdLApAQCAt MTYyMiw2ICsxNjMwLDc5IEBAIHN0YXRpYyB2b2lkIGNvbnZlcnRfbnYxMl90b19yZ2IyNChzdHJ1 Y3QgZmJfY29udmVydCAqY3Z0KQogCWZyZWUoYnVmKTsKIH0KIAorc3RhdGljIHZvaWQgY29udmVy dF95dXY0NDRfdG9fcmdiMjQoc3RydWN0IGZiX2NvbnZlcnQgKmN2dCkKK3sKKwlpbnQgaSwgajsK Kwl1aW50OF90ICp5dXYyNDsKKwl1aW50OF90ICpyZ2IyNCA9IGN2dC0+ZHN0LnB0cjsKKwl1bnNp Z25lZCByZ2IyNF9zdHJpZGUgPSBjdnQtPmRzdC5mYi0+c3RyaWRlc1swXSwgeHl1dl9zdHJpZGUg PSBjdnQtPnNyYy5mYi0+c3RyaWRlc1swXTsKKwl1aW50OF90ICpidWYgPSBtYWxsb2MoY3Z0LT5z cmMuZmItPnNpemUpOworCXN0cnVjdCBpZ3RfbWF0NCBtID0gaWd0X3ljYmNyX3RvX3JnYl9tYXRy aXgoY3Z0LT5zcmMuZmItPmNvbG9yX2VuY29kaW5nLAorCQkJCQkJICAgIGN2dC0+c3JjLmZiLT5j b2xvcl9yYW5nZSk7CisKKwkvKgorCSAqIFJlYWRpbmcgZnJvbSB0aGUgQk8gaXMgYXdmdWxseSBz bG93IGJlY2F1c2Ugb2YgbGFjayBvZiByZWFkIGNhY2hpbmcsCisJICogaXQncyBmYXN0ZXIgdG8g Y29weSB0aGUgd2hvbGUgQk8gdG8gYSB0ZW1wb3JhcnkgYnVmZmVyIGFuZCBjb252ZXJ0CisJICog ZnJvbSB0aGVyZS4KKwkgKi8KKwlpZ3RfbWVtY3B5X2Zyb21fd2MoYnVmLCBjdnQtPnNyYy5wdHIg KyBjdnQtPnNyYy5mYi0+b2Zmc2V0c1swXSwgY3Z0LT5zcmMuZmItPnNpemUpOworCXl1djI0ID0g YnVmOworCisJZm9yIChpID0gMDsgaSA8IGN2dC0+ZHN0LmZiLT5oZWlnaHQ7IGkrKykgeworCQlm b3IgKGogPSAwOyBqIDwgY3Z0LT5kc3QuZmItPndpZHRoOyBqKyspIHsKKwkJCWZsb2F0IHksIHUs IHY7CisJCQlzdHJ1Y3QgaWd0X3ZlYzQgeXV2OworCQkJc3RydWN0IGlndF92ZWM0IHJnYjsKKwor CQkJdiA9IHl1djI0W2kgKiB4eXV2X3N0cmlkZSArIGogKiA0XTsKKwkJCXUgPSB5dXYyNFtpICog eHl1dl9zdHJpZGUgKyBqICogNCArIDFdOworCQkJeSA9IHl1djI0W2kgKiB4eXV2X3N0cmlkZSAr IGogKiA0ICsgMl07CisJCQl5dXYuZFswXSA9IHk7CisJCQl5dXYuZFsxXSA9IHU7CisJCQl5dXYu ZFsyXSA9IHY7CisJCQl5dXYuZFszXSA9IDEuMGY7CisKKwkJCXJnYiA9IGlndF9tYXRyaXhfdHJh bnNmb3JtKCZtLCAmeXV2KTsKKworCQkJd3JpdGVfcmdiKCZyZ2IyNFtpICogcmdiMjRfc3RyaWRl ICsgaiAqIDRdLCAmcmdiKTsKKwkJfQorCX0KKworCWZyZWUoYnVmKTsKK30KKworCitzdGF0aWMg dm9pZCBjb252ZXJ0X3JnYjI0X3RvX3l1djQ0NChzdHJ1Y3QgZmJfY29udmVydCAqY3Z0KQorewor CWludCBpLCBqOworCXVpbnQ4X3QgKnJnYjI0OworCXVpbnQ4X3QgKnl1djQ0NCA9IGN2dC0+ZHN0 LnB0ciArIGN2dC0+ZHN0LmZiLT5vZmZzZXRzWzBdOworCXVuc2lnbmVkIGludCByZ2IyNF9zdHJp ZGUgPSBjdnQtPnNyYy5mYi0+c3RyaWRlc1swXSwgeHl1dl9zdHJpZGUgPSBjdnQtPmRzdC5mYi0+ c3RyaWRlc1swXTsKKwlzdHJ1Y3QgaWd0X21hdDQgbSA9IGlndF9yZ2JfdG9feWNiY3JfbWF0cml4 KGN2dC0+ZHN0LmZiLT5jb2xvcl9lbmNvZGluZywKKwkJCQkJCSAgICBjdnQtPmRzdC5mYi0+Y29s b3JfcmFuZ2UpOworCisJcmdiMjQgPSBjdnQtPnNyYy5wdHI7CisKKwlpZ3RfYXNzZXJ0X2YoY3Z0 LT5kc3QuZmItPmRybV9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9YWVVWODg4OCwKKwkJICAgICAiQ29u dmVyc2lvbiBub3QgaW1wbGVtZW50ZWQgZm9yICFYWVVWIHBhY2tlZCBmb3JtYXRzXG4iKTsKKwor CWZvciAoaSA9IDA7IGkgPCBjdnQtPmRzdC5mYi0+aGVpZ2h0OyBpKyspIHsKKwkJZm9yIChqID0g MDsgaiA8IGN2dC0+ZHN0LmZiLT53aWR0aDsgaisrKSB7CisJCQlzdHJ1Y3QgaWd0X3ZlYzQgcmdi OworCQkJc3RydWN0IGlndF92ZWM0IHl1djsKKwkJCWZsb2F0IHksIHUsIHY7CisKKwkJCXJlYWRf cmdiKCZyZ2IsICZyZ2IyNFtpICogcmdiMjRfc3RyaWRlICsgaiAqIDRdKTsKKworCQkJeXV2ID0g aWd0X21hdHJpeF90cmFuc2Zvcm0oJm0sICZyZ2IpOworCisJCQl5dXY0NDRbaSAqIHh5dXZfc3Ry aWRlICsgaiAqIDRdID0geXV2LmRbMl07CisJCQl5dXY0NDRbaSAqIHh5dXZfc3RyaWRlICsgaiAq IDQgKyAxXSA9IHl1di5kWzFdOworCQkJeXV2NDQ0W2kgKiB4eXV2X3N0cmlkZSArIGogKiA0ICsg Ml0gPSB5dXYuZFswXTsKKwkJfQorCX0KK30KKwogc3RhdGljIHZvaWQgY29udmVydF9yZ2IyNF90 b19udjEyKHN0cnVjdCBmYl9jb252ZXJ0ICpjdnQpCiB7CiAJaW50IGksIGo7CkBAIC0xOTAxLDYg KzE5ODIsOCBAQCBzdGF0aWMgdm9pZCBmYl9jb252ZXJ0KHN0cnVjdCBmYl9jb252ZXJ0ICpjdnQp CiAJCXJldHVybjsKIAl9IGVsc2UgaWYgKGN2dC0+ZHN0LmZiLT5kcm1fZm9ybWF0ID09IERSTV9G T1JNQVRfUkdCODg4KSB7CiAJCXN3aXRjaCAoY3Z0LT5zcmMuZmItPmRybV9mb3JtYXQpIHsKKwkJ Y2FzZSBEUk1fRk9STUFUX1hZVVY4ODg4OgorCQkJY29udmVydF95dXY0NDRfdG9fcmdiMjQoY3Z0 KTsKIAkJY2FzZSBEUk1fRk9STUFUX05WMTI6CiAJCQljb252ZXJ0X252MTJfdG9fcmdiMjQoY3Z0 KTsKIAkJCXJldHVybjsKQEAgLTE5MTMsNiArMTk5Niw4IEBAIHN0YXRpYyB2b2lkIGZiX2NvbnZl cnQoc3RydWN0IGZiX2NvbnZlcnQgKmN2dCkKIAkJfQogCX0gZWxzZSBpZiAoY3Z0LT5zcmMuZmIt PmRybV9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9SR0I4ODgpIHsKIAkJc3dpdGNoIChjdnQtPmRzdC5m Yi0+ZHJtX2Zvcm1hdCkgeworCQljYXNlIERSTV9GT1JNQVRfWFlVVjg4ODg6CisJCQljb252ZXJ0 X3JnYjI0X3RvX3l1djQ0NChjdnQpOwogCQljYXNlIERSTV9GT1JNQVRfTlYxMjoKIAkJCWNvbnZl cnRfcmdiMjRfdG9fbnYxMihjdnQpOwogCQkJcmV0dXJuOwpAQCAtMjAwMyw2ICsyMDg4LDcgQEAg c3RhdGljIHZvaWQgY3JlYXRlX2NhaXJvX3N1cmZhY2VfX2NvbnZlcnQoaW50IGZkLCBzdHJ1Y3Qg aWd0X2ZiICpmYikKIAkJCQkgICAgYmxpdCwgZGVzdHJveV9jYWlyb19zdXJmYWNlX19jb252ZXJ0 KTsKIH0KIAorCiAvKioKICAqIGlndF9mYl9tYXBfYnVmZmVyOgogICogQGZkOiBvcGVuIGRybSBm aWxlIGRlc2NyaXB0b3IKQEAgLTIyNjgsNiArMjM1NCw3IEBAIGJvb2wgaWd0X2Zvcm1hdF9pc195 dXYodWludDMyX3QgZHJtX2Zvcm1hdCkKIAljYXNlIERSTV9GT1JNQVRfWVZZVToKIAljYXNlIERS TV9GT1JNQVRfVVlWWToKIAljYXNlIERSTV9GT1JNQVRfVllVWToKKwljYXNlIERSTV9GT1JNQVRf WFlVVjg4ODg6CiAJCXJldHVybiB0cnVlOwogCWRlZmF1bHQ6CiAJCXJldHVybiBmYWxzZTsKLS0g CjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K aWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==