From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6AF9189E5F for ; Thu, 4 Oct 2018 12:53:45 +0000 (UTC) From: Stanislav Lisovskiy Date: Thu, 4 Oct 2018 15:53:47 +0300 Message-Id: <20181004125347.7645-1-stanislav.lisovskiy@intel.com> Subject: [igt-dev] [PATCH i-g-t v8] 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 U2lnbmVkLW9mZi1ieTogU3RhbmlzbGF2IExpc292c2tpeSA8c3RhbmlzbGF2Lmxpc292c2tpeUBp bnRlbC5jb20+Ci0tLQogaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmggfCAgMSArCiBsaWIv aWd0X2ZiLmMgICAgICAgICAgICAgICAgICB8IDg5ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDkwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9pbmNsdWRlL2RybS11YXBpL2RybV9mb3VyY2MuaCBiL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2Zv dXJjYy5oCmluZGV4IGUwNDYxM2QzLi4wM2U1NDY2YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0t dWFwaS9kcm1fZm91cmNjLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmgKQEAg LTExMiw2ICsxMTIsNyBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgRFJNX0ZPUk1BVF9WWVVZCQlm b3VyY2NfY29kZSgnVicsICdZJywgJ1UnLCAnWScpIC8qIFszMTowXSBZMTpDYjA6WTA6Q3IwIDg6 ODo4OjggbGl0dGxlIGVuZGlhbiAqLwogCiAjZGVmaW5lIERSTV9GT1JNQVRfQVlVVgkJZm91cmNj X2NvZGUoJ0EnLCAnWScsICdVJywgJ1YnKSAvKiBbMzE6MF0gQTpZOkNiOkNyIDg6ODo4OjggbGl0 dGxlIGVuZGlhbiAqLworI2RlZmluZSBEUk1fRk9STUFUX1hZVVY4ODg4CWZvdXJjY19jb2RlKCdY JywgJ1knLCAnVScsICdWJykgLyogWzMxOjBdIFg6WTpDYjpDciA4Ojg6ODo4IGxpdHRsZSBlbmRp YW4gKi8KIAogLyoKICAqIDIgcGxhbmUgUkdCICsgQQpkaWZmIC0tZ2l0IGEvbGliL2lndF9mYi5j IGIvbGliL2lndF9mYi5jCmluZGV4IGFlNzFkOTY3Li40MzQ4YmQ3OCAxMDA2NDQKLS0tIGEvbGli L2lndF9mYi5jCisrKyBiL2xpYi9pZ3RfZmIuYwpAQCAtNzIsNiArNzIsMTAgQEAgc3RhdGljIHN0 cnVjdCBmb3JtYXRfZGVzY19zdHJ1Y3QgewogCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JH QjE2XzU2NSwKIAkgIC5udW1fcGxhbmVzID0gMSwgLnBsYW5lX2JwcCA9IHsgMTYsIH0sCiAJfSwK Kwl7IC5uYW1lID0gIlhZVVY4ODg4IiwgLmRlcHRoID0gLTEsIC5kcm1faWQgPSBEUk1fRk9STUFU X1hZVVY4ODg4LAorCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjI0LAorCSAgLm51bV9w bGFuZXMgPSAxLCAucGxhbmVfYnBwID0geyAzMiwgfSwKKwl9LAogCXsgLm5hbWUgPSAiWFJHQjg4 ODgiLCAuZGVwdGggPSAyNCwgLmRybV9pZCA9IERSTV9GT1JNQVRfWFJHQjg4ODgsCiAJICAuY2Fp cm9faWQgPSBDQUlST19GT1JNQVRfUkdCMjQsCiAJICAubnVtX3BsYW5lcyA9IDEsIC5wbGFuZV9i cHAgPSB7IDMyLCB9LApAQCAtNDE1LDYgKzQxOSwxMCBAQCBzdGF0aWMgaW50IGNyZWF0ZV9ib19m b3JfZmIoaW50IGZkLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCiAJCQkJbWVtc2V0KHB0ciArIG9m ZnNldHNbMV0sIDB4ODAsCiAJCQkJICAgICAgIGNhbGN1bGF0ZWRfc3RyaWRlICogaGVpZ2h0LzIp OwogCQkJCWJyZWFrOworCQkJY2FzZSBEUk1fRk9STUFUX1hZVVY4ODg4OgorCQkJCXdtZW1zZXQo cHRyLCBmdWxsX3JhbmdlID8gMHgwMDAwODA4MCA6IDB4MDAxMDgwODAsCisJCQkJCWNhbGN1bGF0 ZWRfc3RyaWRlICogaGVpZ2h0IC8gc2l6ZW9mKHdjaGFyX3QpKTsKKwkJCQlicmVhazsKIAkJCWNh c2UgRFJNX0ZPUk1BVF9ZVVlWOgogCQkJY2FzZSBEUk1fRk9STUFUX1lWWVU6CiAJCQkJd21lbXNl dChwdHIsIGZ1bGxfcmFuZ2UgPyAweDgwMDA4MDAwIDogMHg4MDEwODAxMCwKQEAgLTE1MDAsNiAr MTUwOCw3OSBAQCBzdGF0aWMgdm9pZCBjb252ZXJ0X252MTJfdG9fcmdiMjQoc3RydWN0IGlndF9m YiAqZmIsIHN0cnVjdCBmYl9jb252ZXJ0X2JsaXRfdXBsbwogCWZyZWUoYnVmKTsKIH0KIAorc3Rh dGljIHZvaWQgY29udmVydF95dXY0NDRfdG9fcmdiMjQoc3RydWN0IGlndF9mYiAqZmIsIHN0cnVj dCBmYl9jb252ZXJ0X2JsaXRfdXBsb2FkICpibGl0KQoreworCWludCBpLCBqOworCXVpbnQ4X3Qg Knl1djI0OworCXVpbnQ4X3QgKnJnYjI0ID0gYmxpdC0+cmdiMjQubWFwOworCXVuc2lnbmVkIHJn YjI0X3N0cmlkZSA9IGJsaXQtPnJnYjI0LnN0cmlkZSwgeHl1dl9zdHJpZGUgPSBibGl0LT5saW5l YXIuc3RyaWRlOworCXVpbnQ4X3QgKmJ1ZiA9IG1hbGxvYyhibGl0LT5saW5lYXIuc2l6ZSk7CisJ c3RydWN0IGlndF9tYXQ0IG0gPSBpZ3RfeWNiY3JfdG9fcmdiX21hdHJpeChmYi0+Y29sb3JfZW5j b2RpbmcsCisJCQkJCQkgICAgZmItPmNvbG9yX3JhbmdlKTsKKworCS8qCisJICogUmVhZGluZyBm cm9tIHRoZSBCTyBpcyBhd2Z1bGx5IHNsb3cgYmVjYXVzZSBvZiBsYWNrIG9mIHJlYWQgY2FjaGlu ZywKKwkgKiBpdCdzIGZhc3RlciB0byBjb3B5IHRoZSB3aG9sZSBCTyB0byBhIHRlbXBvcmFyeSBi dWZmZXIgYW5kIGNvbnZlcnQKKwkgKiBmcm9tIHRoZXJlLgorCSAqLworCWlndF9tZW1jcHlfZnJv bV93YyhidWYsIGJsaXQtPmxpbmVhci5tYXAsIGJsaXQtPmxpbmVhci5zaXplKTsKKwl5dXYyNCA9 ICZidWZbYmxpdC0+bGluZWFyLm9mZnNldHNbMF1dOworCisJZm9yIChpID0gMDsgaSA8IGZiLT5w bGFuZV9oZWlnaHRbMF07IGkrKykgeworCQlmb3IgKGogPSAwOyBqIDwgZmItPnBsYW5lX3dpZHRo WzBdOyBqKyspIHsKKwkJCWZsb2F0IHksIHUsIHY7CisJCQlzdHJ1Y3QgaWd0X3ZlYzQgeXV2Owor CQkJc3RydWN0IGlndF92ZWM0IHJnYjsKKworCQkJdiA9IHl1djI0W2kgKiB4eXV2X3N0cmlkZSAr IGoqc2l6ZW9mKHVpbnQzMl90KV07CisJCQl1ID0geXV2MjRbaSAqIHh5dXZfc3RyaWRlICsgaipz aXplb2YodWludDMyX3QpICsgMV07CisJCQl5ID0geXV2MjRbaSAqIHh5dXZfc3RyaWRlICsgaipz aXplb2YodWludDMyX3QpICsgMl07CisJCQl5dXYuZFswXSA9IHk7CisJCQl5dXYuZFsxXSA9IHU7 CisJCQl5dXYuZFsyXSA9IHY7CisJCQl5dXYuZFszXSA9IDEuMGY7CisKKwkJCXJnYiA9IGlndF9t YXRyaXhfdHJhbnNmb3JtKCZtLCAmeXV2KTsKKworCQkJd3JpdGVfcmdiKCZyZ2IyNFtpICogcmdi MjRfc3RyaWRlICsgaipzaXplb2YodWludDMyX3QpXSwgJnJnYik7CisJCX0KKwl9CisKKwlmcmVl KGJ1Zik7Cit9CisKKworc3RhdGljIHZvaWQgY29udmVydF9yZ2IyNF90b195dXY0NDQoc3RydWN0 IGlndF9mYiAqZmIsIHN0cnVjdCBmYl9jb252ZXJ0X2JsaXRfdXBsb2FkICpibGl0KQoreworCWlu dCBpLCBqOworCXVpbnQ4X3QgKnJnYjI0OworCXVpbnQ4X3QgKnl1djQ0NCA9IGJsaXQtPmxpbmVh ci5tYXA7CisJdW5zaWduZWQgcmdiMjRfc3RyaWRlID0gYmxpdC0+cmdiMjQuc3RyaWRlLCB4eXV2 X3N0cmlkZSA9IGJsaXQtPmxpbmVhci5zdHJpZGU7CisJc3RydWN0IGlndF9tYXQ0IG0gPSBpZ3Rf cmdiX3RvX3ljYmNyX21hdHJpeChmYi0+Y29sb3JfZW5jb2RpbmcsCisJCQkJCQkgICAgZmItPmNv bG9yX3JhbmdlKTsKKworCXJnYjI0ID0gYmxpdC0+cmdiMjQubWFwOworCisJZm9yIChpID0gMDsg aSA8IGZiLT5wbGFuZV9oZWlnaHRbMF07IGkrKykgeworCQlmb3IgKGogPSAwOyBqIDwgZmItPnBs YW5lX3dpZHRoWzBdOyBqKyspIHsKKwkJCXN0cnVjdCBpZ3RfdmVjNCByZ2I7CisJCQlzdHJ1Y3Qg aWd0X3ZlYzQgeXV2OworCQkJZmxvYXQgeSwgdSwgdjsKKworCQkJcmVhZF9yZ2IoJnJnYiwgJnJn YjI0W2kgKiByZ2IyNF9zdHJpZGUgKyBqKnNpemVvZih1aW50MzJfdCldKTsKKworCQkJeXV2ID0g aWd0X21hdHJpeF90cmFuc2Zvcm0oJm0sICZyZ2IpOworCisJCQl5dXY0NDRbaSAqIHh5dXZfc3Ry aWRlICsgaipzaXplb2YodWludDMyX3QpXSA9IHl1di5kWzJdOworCQkJeXV2NDQ0W2kgKiB4eXV2 X3N0cmlkZSArIGoqc2l6ZW9mKHVpbnQzMl90KSArIDFdID0geXV2LmRbMV07CisJCQl5dXY0NDRb aSAqIHh5dXZfc3RyaWRlICsgaipzaXplb2YodWludDMyX3QpICsgMl0gPSB5dXYuZFswXTsKKwkJ fQorCX0KK30KKworCisKKwogc3RhdGljIHZvaWQgY29udmVydF9yZ2IyNF90b19udjEyKHN0cnVj dCBpZ3RfZmIgKmZiLCBzdHJ1Y3QgZmJfY29udmVydF9ibGl0X3VwbG9hZCAqYmxpdCkKIHsKIAlp bnQgaSwgajsKQEAgLTE3NTYsNiArMTgzNyw5IEBAIHN0YXRpYyB2b2lkIGRlc3Ryb3lfY2Fpcm9f c3VyZmFjZV9fY29udmVydCh2b2lkICphcmcpCiAJY2FzZSBEUk1fRk9STUFUX1ZZVVk6CiAJCWNv bnZlcnRfcmdiMjRfdG9feXV5dihmYiwgYmxpdCwgeXV5dl9zd2l6emxlKGZiLT5kcm1fZm9ybWF0 KSk7CiAJCWJyZWFrOworCWNhc2UgRFJNX0ZPUk1BVF9YWVVWODg4ODoKKwkJY29udmVydF9yZ2Iy NF90b195dXY0NDQoZmIsIGJsaXQpOworCQlicmVhazsKIAlkZWZhdWx0OgogCQlpZ3RfYXNzZXJ0 X2YoZmFsc2UsICJDb252ZXJzaW9uIG5vdCBpbXBsZW1lbnRlZCBmb3IgZm9ybWF0cyAweCV4XG4i LAogCQkJICAgICBmYi0+ZHJtX2Zvcm1hdCk7CkBAIC0xODA5LDYgKzE4OTMsOSBAQCBzdGF0aWMg dm9pZCBjcmVhdGVfY2Fpcm9fc3VyZmFjZV9fY29udmVydChpbnQgZmQsIHN0cnVjdCBpZ3RfZmIg KmZiKQogCWNhc2UgRFJNX0ZPUk1BVF9WWVVZOgogCQljb252ZXJ0X3l1eXZfdG9fcmdiMjQoZmIs IGJsaXQsIHl1eXZfc3dpenpsZShmYi0+ZHJtX2Zvcm1hdCkpOwogCQlicmVhazsKKwljYXNlIERS TV9GT1JNQVRfWFlVVjg4ODg6CisJCWNvbnZlcnRfeXV2NDQ0X3RvX3JnYjI0KGZiLCBibGl0KTsK KwkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJaWd0X2Fzc2VydF9mKGZhbHNlLCAiQ29udmVyc2lvbiBu b3QgaW1wbGVtZW50ZWQgZm9yIGZvcm1hdHMgMHgleFxuIiwKIAkJCSAgICAgZmItPmRybV9mb3Jt YXQpOwpAQCAtMTgyNSw2ICsxOTEyLDcgQEAgc3RhdGljIHZvaWQgY3JlYXRlX2NhaXJvX3N1cmZh Y2VfX2NvbnZlcnQoaW50IGZkLCBzdHJ1Y3QgaWd0X2ZiICpmYikKIAkJCQkgICAgYmxpdCwgZGVz dHJveV9jYWlyb19zdXJmYWNlX19jb252ZXJ0KTsKIH0KIAorCiAvKioKICAqIGlndF9nZXRfY2Fp cm9fc3VyZmFjZToKICAqIEBmZDogb3BlbiBkcm0gZmlsZSBkZXNjcmlwdG9yCkBAIC0yMDExLDYg KzIwOTksNyBAQCBib29sIGlndF9mb3JtYXRfaXNfeXV2KHVpbnQzMl90IGRybV9mb3JtYXQpCiAJ Y2FzZSBEUk1fRk9STUFUX1lWWVU6CiAJY2FzZSBEUk1fRk9STUFUX1VZVlk6CiAJY2FzZSBEUk1f Rk9STUFUX1ZZVVk6CisJY2FzZSBEUk1fRk9STUFUX1hZVVY4ODg4OgogCQlyZXR1cm4gdHJ1ZTsK IAlkZWZhdWx0OgogCQlyZXR1cm4gZmFsc2U7Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1k ZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaWd0LWRldgo=