From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 90D5B89BA3 for ; Sun, 3 Mar 2019 01:39:07 +0000 (UTC) From: Kevin Strasser Date: Sat, 2 Mar 2019 17:39:05 -0800 Message-Id: <1551577146-2348-5-git-send-email-kevin.strasser@intel.com> In-Reply-To: <1551577146-2348-1-git-send-email-kevin.strasser@intel.com> References: <1551577146-2348-1-git-send-email-kevin.strasser@intel.com> Subject: [igt-dev] [RFC 4/5] lib/igt_fb: Add support for fp16 formats through conversion 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 List-ID: Rm9sbG93IGRlc2lnbiBvZiBQMDF4IGNvbnZlcnNpb24gdG8gc3VwcG9ydCB0ZXN0cyBuZWVkaW5n IHBpeGVsIGRhdGEgaW4gZnAxNgooaGFsZiBmbG9hdCA2NCBicHApLgoKU2lnbmVkLW9mZi1ieTog S2V2aW4gU3RyYXNzZXIgPGtldmluLnN0cmFzc2VyQGludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2Zi LmMgfCAxODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0KIGxpYi9pZ3RfZmIuaCB8ICAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDE4MCBp bnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZmIuYyBi L2xpYi9pZ3RfZmIuYwppbmRleCA5ZGNhMmE0Li5lNDQxMjAxIDEwMDY0NAotLS0gYS9saWIvaWd0 X2ZiLmMKKysrIGIvbGliL2lndF9mYi5jCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiaWd0 X2F1eC5oIgogI2luY2x1ZGUgImlndF9jb2xvcl9lbmNvZGluZy5oIgogI2luY2x1ZGUgImlndF9m Yi5oIgorI2luY2x1ZGUgImlndF9oYWxmZmxvYXQuaCIKICNpbmNsdWRlICJpZ3Rfa21zLmgiCiAj aW5jbHVkZSAiaWd0X21hdHJpeC5oIgogI2luY2x1ZGUgImlndF92YzQuaCIKQEAgLTE2MSw2ICsx NjIsMjIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmb3JtYXRfZGVzY19zdHJ1Y3QgewogCSAgLm51 bV9wbGFuZXMgPSAxLCAucGxhbmVfYnBwID0geyAzMiwgfSwKIAkgIC5oc3ViID0gMSwgLnZzdWIg PSAxLAogCX0sCisJeyAubmFtZSA9ICJYUkdCMTYxNjE2MTZGIiwgLmRlcHRoID0gLTEsIC5kcm1f aWQgPSBEUk1fRk9STUFUX1hSR0IxNjE2MTYxNkYsCisJICAuY2Fpcm9faWQgPSBDQUlST19GT1JN QVRfUkdCOTZGLAorCSAgLm51bV9wbGFuZXMgPSAxLCAucGxhbmVfYnBwID0geyA2NCwgfSwKKwl9 LAorCXsgLm5hbWUgPSAiQVJHQjE2MTYxNjE2RiIsIC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJN X0ZPUk1BVF9BUkdCMTYxNjE2MTZGLAorCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQkEx MjhGLAorCSAgLm51bV9wbGFuZXMgPSAxLCAucGxhbmVfYnBwID0geyA2NCwgfSwKKwl9LAorCXsg Lm5hbWUgPSAiWEJHUjE2MTYxNjE2RiIsIC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJNX0ZPUk1B VF9YQkdSMTYxNjE2MTZGLAorCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjk2RiwKKwkg IC5udW1fcGxhbmVzID0gMSwgLnBsYW5lX2JwcCA9IHsgNjQsIH0sCisJfSwKKwl7IC5uYW1lID0g IkFCR1IxNjE2MTYxNkYiLCAuZGVwdGggPSAtMSwgLmRybV9pZCA9IERSTV9GT1JNQVRfQUJHUjE2 MTYxNjE2RiwKKwkgIC5jYWlyb19pZCA9IENBSVJPX0ZPUk1BVF9SR0JBMTI4RiwKKwkgIC5udW1f cGxhbmVzID0gMSwgLnBsYW5lX2JwcCA9IHsgNjQsIH0sCisJfSwKIAl7IC5uYW1lID0gIk5WMTIi LCAuZGVwdGggPSAtMSwgLmRybV9pZCA9IERSTV9GT1JNQVRfTlYxMiwKIAkgIC5jYWlyb19pZCA9 IENBSVJPX0ZPUk1BVF9SR0IyNCwKIAkgIC5udW1fcGxhbmVzID0gMiwgLnBsYW5lX2JwcCA9IHsg OCwgMTYsIH0sCkBAIC02NjEsNyArNjc4LDggQEAgc3RhdGljIGludCBjcmVhdGVfYm9fZm9yX2Zi KHN0cnVjdCBpZ3RfZmIgKmZiKQogCSAqIHRoZW0sIHNvIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRv IHVzZSBhIGRldmljZSBCTyB0aGVuLgogCSAqLwogCWlmIChmYi0+dGlsaW5nIHx8IGZiLT5zaXpl IHx8IGZiLT5zdHJpZGVzWzBdIHx8Ci0JICAgIChpc19pOTE1X2RldmljZShmZCkgJiYgaWd0X2Zv cm1hdF9pc195dXYoZmItPmRybV9mb3JtYXQpKSkKKwkgICAgKGlzX2k5MTVfZGV2aWNlKGZkKSAm JiBpZ3RfZm9ybWF0X2lzX3l1dihmYi0+ZHJtX2Zvcm1hdCkpIHx8CisJICAgIChpc19pOTE1X2Rl dmljZShmZCkgJiYgaWd0X2Zvcm1hdF9pc19mcDE2KGZiLT5kcm1fZm9ybWF0KSkpCiAJCWRldmlj ZV9ibyA9IHRydWU7CiAKIAkvKiBTZXRzIG9mZmV0cyBhbmQgc3RyaWRlIGlmIG5lY2Vzc2FyeS4g Ki8KQEAgLTIwMzAsMTkgKzIwNDgsMzUgQEAgc3RhdGljIHZvaWQgY29udmVydF9yZ2IyNF90b195 dXYoc3RydWN0IGZiX2NvbnZlcnQgKmN2dCkKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIHJlYWRfcmdi ZihzdHJ1Y3QgaWd0X3ZlYzQgKnJnYiwgY29uc3QgZmxvYXQgKnJnYjI0KQorc3RhdGljIHZvaWQg cmVhZF9yZ2JmKHN0cnVjdCBpZ3RfdmVjNCAqcmdiLCBjb25zdCBmbG9hdCAqcmdiZikKIHsKLQly Z2ItPmRbMF0gPSByZ2IyNFswXTsKLQlyZ2ItPmRbMV0gPSByZ2IyNFsxXTsKLQlyZ2ItPmRbMl0g PSByZ2IyNFsyXTsKKwlyZ2ItPmRbMF0gPSByZ2JmWzBdOworCXJnYi0+ZFsxXSA9IHJnYmZbMV07 CisJcmdiLT5kWzJdID0gcmdiZlsyXTsKIAlyZ2ItPmRbM10gPSAxLjBmOwogfQogCi1zdGF0aWMg dm9pZCB3cml0ZV9yZ2JmKGZsb2F0ICpyZ2IyNCwgY29uc3Qgc3RydWN0IGlndF92ZWM0ICpyZ2Ip CitzdGF0aWMgdm9pZCByZWFkX3JnYmFmKHN0cnVjdCBpZ3RfdmVjNCAqcmdiYSwgY29uc3QgZmxv YXQgKnJnYmFmKQoreworCXJnYmEtPmRbMF0gPSByZ2JhZlswXTsKKwlyZ2JhLT5kWzFdID0gcmdi YWZbMV07CisJcmdiYS0+ZFsyXSA9IHJnYmFmWzJdOworCXJnYmEtPmRbM10gPSByZ2JhZlszXTsK K30KKworc3RhdGljIHZvaWQgd3JpdGVfcmdiZihmbG9hdCAqcmdiZiwgY29uc3Qgc3RydWN0IGln dF92ZWM0ICpyZ2IpCiB7Ci0JcmdiMjRbMF0gPSByZ2ItPmRbMF07Ci0JcmdiMjRbMV0gPSByZ2It PmRbMV07Ci0JcmdiMjRbMl0gPSByZ2ItPmRbMl07CisJcmdiZlswXSA9IHJnYi0+ZFswXTsKKwly Z2JmWzFdID0gcmdiLT5kWzFdOworCXJnYmZbMl0gPSByZ2ItPmRbMl07Cit9CisKK3N0YXRpYyB2 b2lkIHdyaXRlX3JnYmFmKGZsb2F0ICpyZ2JhZiwgY29uc3Qgc3RydWN0IGlndF92ZWM0ICpyZ2Jh KQoreworCXJnYmFmWzBdID0gcmdiYS0+ZFswXTsKKwlyZ2JhZlsxXSA9IHJnYmEtPmRbMV07CisJ cmdiYWZbMl0gPSByZ2JhLT5kWzJdOworCXJnYmFmWzNdID0gcmdiYS0+ZFsyXTsKIH0KIAogc3Rh dGljIHZvaWQgY29udmVydF95dXYxNl90b19mbG9hdChzdHJ1Y3QgZmJfY29udmVydCAqY3Z0KQpA QCAtMjIwMiw2ICsyMjM2LDEwNiBAQCBzdGF0aWMgdm9pZCBjb252ZXJ0X2Zsb2F0X3RvX3l1djE2 KHN0cnVjdCBmYl9jb252ZXJ0ICpjdnQpCiAJfQogfQogCisvKiB7IFIsIEcsIEIsIFggfSAqLwor c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgc3dpenpsZV9yZ2J4W10gPSB7IDAsIDEsIDIsIDMg fTsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHN3aXp6bGVfYmdyeFtdID0geyAyLCAxLCAw LCAzIH07CisKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpyZ2J4X3N3aXp6bGUodWludDMy X3QgZm9ybWF0KQoreworCXN3aXRjaCAoZm9ybWF0KSB7CisJZGVmYXVsdDoKKwljYXNlIERSTV9G T1JNQVRfWFJHQjE2MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRfQVJHQjE2MTYxNjE2RjoKKwkJ cmV0dXJuIHN3aXp6bGVfYmdyeDsKKwljYXNlIERSTV9GT1JNQVRfWEJHUjE2MTYxNjE2RjoKKwlj YXNlIERSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RjoKKwkJcmV0dXJuIHN3aXp6bGVfcmdieDsKKwl9 Cit9CisKK3N0YXRpYyB2b2lkIGNvbnZlcnRfZnAxNl90b19mbG9hdChzdHJ1Y3QgZmJfY29udmVy dCAqY3Z0LCBib29sIGFscGhhKQoreworCWludCBpLCBqOworCXVpbnQxNl90ICpmcDE2OworCWZs b2F0ICpwdHIgPSBjdnQtPmRzdC5wdHI7CisJdW5zaWduZWQgaW50IGZsb2F0X3N0cmlkZSA9IGN2 dC0+ZHN0LmZiLT5zdHJpZGVzWzBdIC8gc2l6ZW9mKCpwdHIpOworCXVuc2lnbmVkIGludCBmcDE2 X3N0cmlkZSA9IGN2dC0+c3JjLmZiLT5zdHJpZGVzWzBdIC8gc2l6ZW9mKCpmcDE2KTsKKwljb25z dCB1bnNpZ25lZCBjaGFyICpzd3ogPSByZ2J4X3N3aXp6bGUoY3Z0LT5zcmMuZmItPmRybV9mb3Jt YXQpOworCXVpbnQ4X3QgZnBwID0gYWxwaGEgPyA0IDogMzsKKworCXVpbnQxNl90ICpidWYgPSBj b252ZXJ0X3NyY19nZXQoY3Z0KTsKKwlmcDE2ID0gYnVmICsgY3Z0LT5zcmMuZmItPm9mZnNldHNb MF0gLyBzaXplb2YoKmJ1Zik7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3Z0LT5kc3QuZmItPmhlaWdo dDsgaSsrKSB7CisJCWNvbnN0IHVpbnQxNl90ICpmcDE2X3RtcCA9IGZwMTY7CisJCWZsb2F0ICpy Z2JfdG1wID0gcHRyOworCisJCWZvciAoaiA9IDA7IGogPCBjdnQtPmRzdC5mYi0+d2lkdGg7IGor KykgeworCQkJc3RydWN0IGlndF92ZWM0IHJnYjsKKworCQkJcmdiLmRbMF0gPSBpZ3RfaGFsZl90 b19mbG9hdChmcDE2X3RtcFtzd3pbMF1dKTsKKwkJCXJnYi5kWzFdID0gaWd0X2hhbGZfdG9fZmxv YXQoZnAxNl90bXBbc3d6WzFdXSk7CisJCQlyZ2IuZFsyXSA9IGlndF9oYWxmX3RvX2Zsb2F0KGZw MTZfdG1wW3N3elsyXV0pOworCisJCQlpZiAoYWxwaGEpIHsKKwkJCQlyZ2IuZFszXSA9IGlndF9o YWxmX3RvX2Zsb2F0KGZwMTZfdG1wW3N3elszXV0pOworCQkJCXdyaXRlX3JnYmFmKHJnYl90bXAs ICZyZ2IpOworCQkJfSBlbHNlIHsKKwkJCQl3cml0ZV9yZ2JmKHJnYl90bXAsICZyZ2IpOworCQkJ fQorCisJCQlyZ2JfdG1wICs9IGZwcDsKKwkJCWZwMTZfdG1wICs9IDQ7CisJCX0KKworCQlwdHIg Kz0gZmxvYXRfc3RyaWRlOworCQlmcDE2ICs9IGZwMTZfc3RyaWRlOworCX0KKworCWNvbnZlcnRf c3JjX3B1dChjdnQsIGJ1Zik7Cit9CisKK3N0YXRpYyB2b2lkIGNvbnZlcnRfZmxvYXRfdG9fZnAx NihzdHJ1Y3QgZmJfY29udmVydCAqY3Z0LCBib29sIGFscGhhKQoreworCWludCBpLCBqOworCXVp bnQxNl90ICpmcDE2ID0gY3Z0LT5kc3QucHRyICsgY3Z0LT5kc3QuZmItPm9mZnNldHNbMF07CisJ Y29uc3QgZmxvYXQgKnB0ciA9IGN2dC0+c3JjLnB0cjsKKwl1bnNpZ25lZCBmbG9hdF9zdHJpZGUg PSBjdnQtPnNyYy5mYi0+c3RyaWRlc1swXSAvIHNpemVvZigqcHRyKTsKKwl1bnNpZ25lZCBmcDE2 X3N0cmlkZSA9IGN2dC0+ZHN0LmZiLT5zdHJpZGVzWzBdIC8gc2l6ZW9mKCpmcDE2KTsKKwljb25z dCB1bnNpZ25lZCBjaGFyICpzd3ogPSByZ2J4X3N3aXp6bGUoY3Z0LT5zcmMuZmItPmRybV9mb3Jt YXQpOworCXVpbnQ4X3QgZnBwID0gYWxwaGEgPyA0IDogMzsKKworCWZvciAoaSA9IDA7IGkgPCBj dnQtPmRzdC5mYi0+aGVpZ2h0OyBpKyspIHsKKwkJY29uc3QgZmxvYXQgKnJnYl90bXAgPSBwdHI7 CisJCXVpbnQxNl90ICpmcDE2X3RtcCA9IGZwMTY7CisKKwkJZm9yIChqID0gMDsgaiA8IGN2dC0+ ZHN0LmZiLT53aWR0aDsgaisrKSB7CisJCQlzdHJ1Y3QgaWd0X3ZlYzQgcmdiOworCisJCQlpZiAo YWxwaGEpCisJCQkJcmVhZF9yZ2JhZigmcmdiLCByZ2JfdG1wKTsKKwkJCWVsc2UKKwkJCQlyZWFk X3JnYmYoJnJnYiwgcmdiX3RtcCk7CisKKwkJCXJnYl90bXAgKz0gZnBwOworCisJCQlmcDE2X3Rt cFtzd3pbMF1dID0gaWd0X2Zsb2F0X3RvX2hhbGYocmdiLmRbMF0pOworCQkJZnAxNl90bXBbc3d6 WzFdXSA9IGlndF9mbG9hdF90b19oYWxmKHJnYi5kWzFdKTsKKwkJCWZwMTZfdG1wW3N3elsyXV0g PSBpZ3RfZmxvYXRfdG9faGFsZihyZ2IuZFsyXSk7CisKKwkJCWlmIChhbHBoYSkKKwkJCQlmcDE2 X3RtcFtzd3pbM11dID0gaWd0X2Zsb2F0X3RvX2hhbGYocmdiLmRbM10pOworCQkJZWxzZQorCQkJ CWZwMTZfdG1wW3N3elszXV0gPSAwOworCisJCQlmcDE2X3RtcCArPSA0OworCQl9CisKKwkJcHRy ICs9IGZsb2F0X3N0cmlkZTsKKwkJZnAxNiArPSBmcDE2X3N0cmlkZTsKKwl9Cit9CisKIHN0YXRp YyB2b2lkIGNvbnZlcnRfcGl4bWFuKHN0cnVjdCBmYl9jb252ZXJ0ICpjdnQpCiB7CiAJcGl4bWFu X2Zvcm1hdF9jb2RlX3Qgc3JjX3BpeG1hbiA9IGRybV9mb3JtYXRfdG9fcGl4bWFuKGN2dC0+c3Jj LmZiLT5kcm1fZm9ybWF0KTsKQEAgLTIyOTAsNiArMjQyNCwxNCBAQCBzdGF0aWMgdm9pZCBmYl9j b252ZXJ0KHN0cnVjdCBmYl9jb252ZXJ0ICpjdnQpCiAJCWNhc2UgRFJNX0ZPUk1BVF9QMDE2Ogog CQkJY29udmVydF95dXYxNl90b19mbG9hdChjdnQpOwogCQkJcmV0dXJuOworCQljYXNlIERSTV9G T1JNQVRfWFJHQjE2MTYxNjE2RjoKKwkJY2FzZSBEUk1fRk9STUFUX1hCR1IxNjE2MTYxNkY6CisJ CQljb252ZXJ0X2Zsb2F0X3RvX2ZwMTYoY3Z0LCBmYWxzZSk7CisJCQlyZXR1cm47CisJCWNhc2Ug RFJNX0ZPUk1BVF9BUkdCMTYxNjE2MTZGOgorCQljYXNlIERSTV9GT1JNQVRfQUJHUjE2MTYxNjE2 RjoKKwkJCWNvbnZlcnRfZnAxNl90b19mbG9hdChjdnQsIHRydWUpOworCQkJcmV0dXJuOwogCQl9 CiAJfSBlbHNlIGlmIChjdnQtPnNyYy5mYi0+ZHJtX2Zvcm1hdCA9PSBJR1RfRk9STUFUX0ZMT0FU KSB7CiAJCXN3aXRjaCAoY3Z0LT5kc3QuZmItPmRybV9mb3JtYXQpIHsKQEAgLTIyOTgsNiArMjQ0 MCwxNCBAQCBzdGF0aWMgdm9pZCBmYl9jb252ZXJ0KHN0cnVjdCBmYl9jb252ZXJ0ICpjdnQpCiAJ CWNhc2UgRFJNX0ZPUk1BVF9QMDE2OgogCQkJY29udmVydF9mbG9hdF90b195dXYxNihjdnQpOwog CQkJcmV0dXJuOworCQljYXNlIERSTV9GT1JNQVRfWFJHQjE2MTYxNjE2RjoKKwkJY2FzZSBEUk1f Rk9STUFUX1hCR1IxNjE2MTYxNkY6CisJCQljb252ZXJ0X2Zsb2F0X3RvX2ZwMTYoY3Z0LCBmYWxz ZSk7CisJCQlyZXR1cm47CisJCWNhc2UgRFJNX0ZPUk1BVF9BUkdCMTYxNjE2MTZGOgorCQljYXNl IERSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RjoKKwkJCWNvbnZlcnRfZmxvYXRfdG9fZnAxNihjdnQs IHRydWUpOworCQkJcmV0dXJuOwogCQl9CiAJfQogCkBAIC0yNDUzLDYgKzI2MDMsNyBAQCBjYWly b19zdXJmYWNlX3QgKmlndF9nZXRfY2Fpcm9fc3VyZmFjZShpbnQgZmQsIHN0cnVjdCBpZ3RfZmIg KmZiKQogCiAJaWYgKGZiLT5jYWlyb19zdXJmYWNlID09IE5VTEwpIHsKIAkJaWYgKGlndF9mb3Jt YXRfaXNfeXV2KGZiLT5kcm1fZm9ybWF0KSB8fAorCQkgICAgaWd0X2Zvcm1hdF9pc19mcDE2KGZi LT5kcm1fZm9ybWF0KSB8fAogCQkgICAgKChmLT5jYWlyb19pZCA9PSBDQUlST19GT1JNQVRfSU5W QUxJRCkgJiYKIAkJICAgICAoZi0+cGl4bWFuX2lkICE9IFBJWE1BTl9pbnZhbGlkKSkpCiAJCQlj cmVhdGVfY2Fpcm9fc3VyZmFjZV9fY29udmVydChmZCwgZmIpOwpAQCAtMjc2Miw2ICsyOTEzLDI1 IEBAIGJvb2wgaWd0X2Zvcm1hdF9pc195dXYodWludDMyX3QgZHJtX2Zvcm1hdCkKIH0KIAogLyoq CisgKiBpZ3RfZm9ybWF0X2lzX2ZwMTYKKyAqIEBkcm1fZm9ybWF0OiBkcm0gZm91cmNjCisgKgor ICogQ2hlY2sgaWYgdGhlIGZvcm1hdCBpcyBmcDE2LgorICovCitib29sIGlndF9mb3JtYXRfaXNf ZnAxNih1aW50MzJfdCBkcm1fZm9ybWF0KQoreworCXN3aXRjaCAoZHJtX2Zvcm1hdCkgeworCWNh c2UgRFJNX0ZPUk1BVF9YUkdCMTYxNjE2MTZGOgorCWNhc2UgRFJNX0ZPUk1BVF9BUkdCMTYxNjE2 MTZGOgorCWNhc2UgRFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTZGOgorCWNhc2UgRFJNX0ZPUk1BVF9B QkdSMTYxNjE2MTZGOgorCQlyZXR1cm4gdHJ1ZTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gZmFsc2U7 CisJfQorfQorCisvKioKICAqIGlndF9mb3JtYXRfcGxhbmVfYnBwOgogICogQGRybV9mb3JtYXQ6 IGRybSBmb3VyY2MKICAqIEBwbGFuZTogZm9ybWF0IHBsYW5lIGluZGV4CmRpZmYgLS1naXQgYS9s aWIvaWd0X2ZiLmggYi9saWIvaWd0X2ZiLmgKaW5kZXggZTFkODg1ZS4uMDdiNjgxNCAxMDA2NDQK LS0tIGEvbGliL2lndF9mYi5oCisrKyBiL2xpYi9pZ3RfZmIuaApAQCAtMTgyLDYgKzE4Miw3IEBA IHVpbnQzMl90IGlndF9kcm1fZm9ybWF0X3RvX2JwcCh1aW50MzJfdCBkcm1fZm9ybWF0KTsKIGNv bnN0IGNoYXIgKmlndF9mb3JtYXRfc3RyKHVpbnQzMl90IGRybV9mb3JtYXQpOwogYm9vbCBpZ3Rf ZmJfc3VwcG9ydGVkX2Zvcm1hdCh1aW50MzJfdCBkcm1fZm9ybWF0KTsKIGJvb2wgaWd0X2Zvcm1h dF9pc195dXYodWludDMyX3QgZHJtX2Zvcm1hdCk7Citib29sIGlndF9mb3JtYXRfaXNfZnAxNih1 aW50MzJfdCBkcm1fZm9ybWF0KTsKIGludCBpZ3RfZm9ybWF0X3BsYW5lX2JwcCh1aW50MzJfdCBk cm1fZm9ybWF0LCBpbnQgcGxhbmUpOwogdm9pZCBpZ3RfZm9ybWF0X2FycmF5X2ZpbGwodWludDMy X3QgKipmb3JtYXRzX2FycmF5LCB1bnNpZ25lZCBpbnQgKmNvdW50LAogCQkJICAgYm9vbCBhbGxv d195dXYpOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRl dg==