From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) by gabe.freedesktop.org (Postfix) with ESMTPS id C6FBD6E29D for ; Mon, 3 May 2021 18:26:18 +0000 (UTC) Received: by mail-ed1-x52e.google.com with SMTP id n25so7443357edr.5 for ; Mon, 03 May 2021 11:26:18 -0700 (PDT) From: Mario Kleiner Date: Mon, 3 May 2021 20:25:55 +0200 Message-Id: <20210503182555.12284-3-mario.kleiner.de@gmail.com> In-Reply-To: <20210503182555.12284-1-mario.kleiner.de@gmail.com> References: <20210503182555.12284-1-mario.kleiner.de@gmail.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/2] lib/igt_fb: Add support for testing of 16 bpc fixed point formats. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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: Alex Deucher , mario.kleiner.de@gmail.com List-ID: VGhpcyBpcyB1c2VkIHRvIHN1cHBvcnQgdGVzdGluZyB0aGUgMTYgYnBjIGZvcm1hdHMsIGUuZy4s IHZpYToKCmttc19wbGFuZSAtLXJ1bi1zdWJ0ZXN0IHBpeGVsLWZvcm1hdC1waXBlLUEtcGxhbmVz CgpTbyBmYXIgdGhpcyB3YXMgc3VjY2Vzc2Z1bGx5IHRlc3RlZCBvbiBBTUQgUmF2ZW5SaWRnZSB3 aXRoIERDTi0xCmRpc3BsYXkgaHcuCgpUaGUgbmV3IGNvbnZlcnNpb24gcm91dGluZXMgYXJlIHNs aWdodGx5IGFkYXB0ZWQgY29waWVzIG9mIHRoZQpjb252ZXJ0X2Zsb2F0X3RvX2ZwMTYoKSBhbmQg Y29udmVydF9mcDE2X3RvX2Zsb2F0KCkgZnVuY3Rpb25zLAp3aXRoIHRoZSBjb252ZXJzaW9uIG1h dGggbW9kaWZpZWQgZm9yIGZsb2F0IDwtPiB1aW50MTYgaW5zdGVhZC4KClNpZ25lZC1vZmYtYnk6 IE1hcmlvIEtsZWluZXIgPG1hcmlvLmtsZWluZXIuZGVAZ21haWwuY29tPgpDYzogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IEFsZXggRGV1Y2hlciA8 YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KLS0tCiBsaWIvaWd0X2ZiLmMgfCAxMjMgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hh bmdlZCwgMTIzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWIvaWd0X2ZiLmMgYi9saWIv aWd0X2ZiLmMKaW5kZXggOTU0ZTExODEuLjE0OGU2YzBmIDEwMDY0NAotLS0gYS9saWIvaWd0X2Zi LmMKKysrIGIvbGliL2lndF9mYi5jCkBAIC0yMjAsNiArMjIwLDIyIEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZm9ybWF0X2Rlc2Nfc3RydWN0IHsKIAkgIC5jYWlyb19pZCA9IENBSVJPX0ZPUk1BVF9S R0JBMTI4RiwgLmNvbnZlcnQgPSB0cnVlLAogCSAgLm51bV9wbGFuZXMgPSAxLCAucGxhbmVfYnBw ID0geyA2NCwgfSwKIAl9LAorCXsgLm5hbWUgPSAiWFJHQjE2MTYxNjE2IiwgLmRlcHRoID0gLTEs IC5kcm1faWQgPSBEUk1fRk9STUFUX1hSR0IxNjE2MTYxNiwKKwkgIC5jYWlyb19pZCA9IENBSVJP X0ZPUk1BVF9SR0JBMTI4RiwgLmNvbnZlcnQgPSB0cnVlLAorCSAgLm51bV9wbGFuZXMgPSAxLCAu cGxhbmVfYnBwID0geyA2NCwgfSwKKwl9LAorCXsgLm5hbWUgPSAiQVJHQjE2MTYxNjE2IiwgLmRl cHRoID0gLTEsIC5kcm1faWQgPSBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNiwKKwkgIC5jYWlyb19p ZCA9IENBSVJPX0ZPUk1BVF9SR0JBMTI4RiwgLmNvbnZlcnQgPSB0cnVlLAorCSAgLm51bV9wbGFu ZXMgPSAxLCAucGxhbmVfYnBwID0geyA2NCwgfSwKKwl9LAorCXsgLm5hbWUgPSAiWEJHUjE2MTYx NjE2IiwgLmRlcHRoID0gLTEsIC5kcm1faWQgPSBEUk1fRk9STUFUX1hCR1IxNjE2MTYxNiwKKwkg IC5jYWlyb19pZCA9IENBSVJPX0ZPUk1BVF9SR0JBMTI4RiwgLmNvbnZlcnQgPSB0cnVlLAorCSAg Lm51bV9wbGFuZXMgPSAxLCAucGxhbmVfYnBwID0geyA2NCwgfSwKKwl9LAorCXsgLm5hbWUgPSAi QUJHUjE2MTYxNjE2IiwgLmRlcHRoID0gLTEsIC5kcm1faWQgPSBEUk1fRk9STUFUX0FCR1IxNjE2 MTYxNiwKKwkgIC5jYWlyb19pZCA9IENBSVJPX0ZPUk1BVF9SR0JBMTI4RiwgLmNvbnZlcnQgPSB0 cnVlLAorCSAgLm51bV9wbGFuZXMgPSAxLCAucGxhbmVfYnBwID0geyA2NCwgfSwKKwl9LAogCXsg Lm5hbWUgPSAiTlYxMiIsIC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJNX0ZPUk1BVF9OVjEyLAog CSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjI0LCAuY29udmVydCA9IHRydWUsCiAJICAu bnVtX3BsYW5lcyA9IDIsIC5wbGFuZV9icHAgPSB7IDgsIDE2LCB9LApAQCAtMzM2NSw5ICszMzgx LDEzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICpyZ2J4X3N3aXp6bGUodWludDMyX3Qg Zm9ybWF0KQogCWRlZmF1bHQ6CiAJY2FzZSBEUk1fRk9STUFUX1hSR0IxNjE2MTYxNkY6CiAJY2Fz ZSBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNkY6CisJY2FzZSBEUk1fRk9STUFUX1hSR0IxNjE2MTYx NjoKKwljYXNlIERSTV9GT1JNQVRfQVJHQjE2MTYxNjE2OgogCQlyZXR1cm4gc3dpenpsZV9iZ3J4 OwogCWNhc2UgRFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTZGOgogCWNhc2UgRFJNX0ZPUk1BVF9BQkdS MTYxNjE2MTZGOgorCWNhc2UgRFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTY6CisJY2FzZSBEUk1fRk9S TUFUX0FCR1IxNjE2MTYxNjoKIAkJcmV0dXJuIHN3aXp6bGVfcmdieDsKIAl9CiB9CkBAIC0zNDUx LDYgKzM0NzEsOTcgQEAgc3RhdGljIHZvaWQgY29udmVydF9mbG9hdF90b19mcDE2KHN0cnVjdCBm Yl9jb252ZXJ0ICpjdnQpCiAJfQogfQogCitzdGF0aWMgdm9pZCBmbG9hdF90b191aW50MTYoY29u c3QgZmxvYXQgKmYsIHVpbnQxNl90ICpoLCB1bnNpZ25lZCBpbnQgbnVtKQoreworCWZvciAoaW50 IGkgPSAwOyBpIDwgbnVtOyBpKyspCisJCWhbaV0gPSBmW2ldICogNjU1MzUuMGYgKyAwLjVmOwor fQorCitzdGF0aWMgdm9pZCB1aW50MTZfdG9fZmxvYXQoY29uc3QgdWludDE2X3QgKmgsIGZsb2F0 ICpmLCB1bnNpZ25lZCBpbnQgbnVtKQoreworCWZvciAoaW50IGkgPSAwOyBpIDwgbnVtOyBpKysp CisJCWZbaV0gPSAoKGZsb2F0KSBoW2ldKSAvIDY1NTM1LjBmOworfQorCitzdGF0aWMgdm9pZCBj b252ZXJ0X3VpbnQxNl90b19mbG9hdChzdHJ1Y3QgZmJfY29udmVydCAqY3Z0KQoreworCWludCBp LCBqOworCXVpbnQxNl90ICp1cDE2OworCWZsb2F0ICpwdHIgPSBjdnQtPmRzdC5wdHI7CisJdW5z aWduZWQgaW50IGZsb2F0X3N0cmlkZSA9IGN2dC0+ZHN0LmZiLT5zdHJpZGVzWzBdIC8gc2l6ZW9m KCpwdHIpOworCXVuc2lnbmVkIGludCB1cDE2X3N0cmlkZSA9IGN2dC0+c3JjLmZiLT5zdHJpZGVz WzBdIC8gc2l6ZW9mKCp1cDE2KTsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpzd3ogPSByZ2J4X3N3 aXp6bGUoY3Z0LT5zcmMuZmItPmRybV9mb3JtYXQpOworCWJvb2wgbmVlZHNfcmVzd2l6emxlID0g c3d6ICE9IHN3aXp6bGVfcmdieDsKKworCXVpbnQxNl90ICpidWYgPSBjb252ZXJ0X3NyY19nZXQo Y3Z0KTsKKwl1cDE2ID0gYnVmICsgY3Z0LT5zcmMuZmItPm9mZnNldHNbMF0gLyBzaXplb2YoKmJ1 Zik7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3Z0LT5kc3QuZmItPmhlaWdodDsgaSsrKSB7CisJCWlm IChuZWVkc19yZXN3aXp6bGUpIHsKKwkJCWNvbnN0IHVpbnQxNl90ICp1MTZfdG1wID0gdXAxNjsK KwkJCWZsb2F0ICpyZ2JfdG1wID0gcHRyOworCisJCQlmb3IgKGogPSAwOyBqIDwgY3Z0LT5kc3Qu ZmItPndpZHRoOyBqKyspIHsKKwkJCQlzdHJ1Y3QgaWd0X3ZlYzQgcmdiOworCisJCQkJdWludDE2 X3RvX2Zsb2F0KHUxNl90bXAsIHJnYi5kLCA0KTsKKworCQkJCXJnYl90bXBbMF0gPSByZ2IuZFtz d3pbMF1dOworCQkJCXJnYl90bXBbMV0gPSByZ2IuZFtzd3pbMV1dOworCQkJCXJnYl90bXBbMl0g PSByZ2IuZFtzd3pbMl1dOworCQkJCXJnYl90bXBbM10gPSByZ2IuZFtzd3pbM11dOworCisJCQkJ cmdiX3RtcCArPSA0OworCQkJCXUxNl90bXAgKz0gNDsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCXVp bnQxNl90b19mbG9hdCh1cDE2LCBwdHIsIGN2dC0+ZHN0LmZiLT53aWR0aCAqIDQpOworCQl9CisK KwkJcHRyICs9IGZsb2F0X3N0cmlkZTsKKwkJdXAxNiArPSB1cDE2X3N0cmlkZTsKKwl9CisKKwlj b252ZXJ0X3NyY19wdXQoY3Z0LCBidWYpOworfQorCitzdGF0aWMgdm9pZCBjb252ZXJ0X2Zsb2F0 X3RvX3VpbnQxNihzdHJ1Y3QgZmJfY29udmVydCAqY3Z0KQoreworCWludCBpLCBqOworCXVpbnQx Nl90ICp1cDE2ID0gY3Z0LT5kc3QucHRyICsgY3Z0LT5kc3QuZmItPm9mZnNldHNbMF07CisJY29u c3QgZmxvYXQgKnB0ciA9IGN2dC0+c3JjLnB0cjsKKwl1bnNpZ25lZCBmbG9hdF9zdHJpZGUgPSBj dnQtPnNyYy5mYi0+c3RyaWRlc1swXSAvIHNpemVvZigqcHRyKTsKKwl1bnNpZ25lZCB1cDE2X3N0 cmlkZSA9IGN2dC0+ZHN0LmZiLT5zdHJpZGVzWzBdIC8gc2l6ZW9mKCp1cDE2KTsKKwljb25zdCB1 bnNpZ25lZCBjaGFyICpzd3ogPSByZ2J4X3N3aXp6bGUoY3Z0LT5kc3QuZmItPmRybV9mb3JtYXQp OworCWJvb2wgbmVlZHNfcmVzd2l6emxlID0gc3d6ICE9IHN3aXp6bGVfcmdieDsKKworCWZvciAo aSA9IDA7IGkgPCBjdnQtPmRzdC5mYi0+aGVpZ2h0OyBpKyspIHsKKwkJaWYgKG5lZWRzX3Jlc3dp enpsZSkgeworCQkJY29uc3QgZmxvYXQgKnJnYl90bXAgPSBwdHI7CisJCQl1aW50MTZfdCAqdTE2 X3RtcCA9IHVwMTY7CisKKwkJCWZvciAoaiA9IDA7IGogPCBjdnQtPmRzdC5mYi0+d2lkdGg7IGor KykgeworCQkJCXN0cnVjdCBpZ3RfdmVjNCByZ2I7CisKKwkJCQlyZ2IuZFswXSA9IHJnYl90bXBb c3d6WzBdXTsKKwkJCQlyZ2IuZFsxXSA9IHJnYl90bXBbc3d6WzFdXTsKKwkJCQlyZ2IuZFsyXSA9 IHJnYl90bXBbc3d6WzJdXTsKKwkJCQlyZ2IuZFszXSA9IHJnYl90bXBbc3d6WzNdXTsKKworCQkJ CWZsb2F0X3RvX3VpbnQxNihyZ2IuZCwgdTE2X3RtcCwgNCk7CisKKwkJCQlyZ2JfdG1wICs9IDQ7 CisJCQkJdTE2X3RtcCArPSA0OworCQkJfQorCQl9IGVsc2UgeworCQkJZmxvYXRfdG9fdWludDE2 KHB0ciwgdXAxNiwgY3Z0LT5kc3QuZmItPndpZHRoICogNCk7CisJCX0KKworCQlwdHIgKz0gZmxv YXRfc3RyaWRlOworCQl1cDE2ICs9IHVwMTZfc3RyaWRlOworCX0KK30KKwogc3RhdGljIHZvaWQg Y29udmVydF9waXhtYW4oc3RydWN0IGZiX2NvbnZlcnQgKmN2dCkKIHsKIAlwaXhtYW5fZm9ybWF0 X2NvZGVfdCBzcmNfcGl4bWFuID0gZHJtX2Zvcm1hdF90b19waXhtYW4oY3Z0LT5zcmMuZmItPmRy bV9mb3JtYXQpOwpAQCAtMzU2MCw2ICszNjcxLDEyIEBAIHN0YXRpYyB2b2lkIGZiX2NvbnZlcnQo c3RydWN0IGZiX2NvbnZlcnQgKmN2dCkKIAkJY2FzZSBEUk1fRk9STUFUX0FCR1IxNjE2MTYxNkY6 CiAJCQljb252ZXJ0X2ZwMTZfdG9fZmxvYXQoY3Z0KTsKIAkJCXJldHVybjsKKwkJY2FzZSBEUk1f Rk9STUFUX1hSR0IxNjE2MTYxNjoKKwkJY2FzZSBEUk1fRk9STUFUX1hCR1IxNjE2MTYxNjoKKwkJ Y2FzZSBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNjoKKwkJY2FzZSBEUk1fRk9STUFUX0FCR1IxNjE2 MTYxNjoKKwkJCWNvbnZlcnRfdWludDE2X3RvX2Zsb2F0KGN2dCk7CisJCQlyZXR1cm47CiAJCX0K IAl9IGVsc2UgaWYgKGN2dC0+c3JjLmZiLT5kcm1fZm9ybWF0ID09IElHVF9GT1JNQVRfRkxPQVQp IHsKIAkJc3dpdGNoIChjdnQtPmRzdC5mYi0+ZHJtX2Zvcm1hdCkgewpAQCAtMzU4OSw2ICszNzA2 LDEyIEBAIHN0YXRpYyB2b2lkIGZiX2NvbnZlcnQoc3RydWN0IGZiX2NvbnZlcnQgKmN2dCkKIAkJ Y2FzZSBEUk1fRk9STUFUX0FCR1IxNjE2MTYxNkY6CiAJCQljb252ZXJ0X2Zsb2F0X3RvX2ZwMTYo Y3Z0KTsKIAkJCXJldHVybjsKKwkJY2FzZSBEUk1fRk9STUFUX1hSR0IxNjE2MTYxNjoKKwkJY2Fz ZSBEUk1fRk9STUFUX1hCR1IxNjE2MTYxNjoKKwkJY2FzZSBEUk1fRk9STUFUX0FSR0IxNjE2MTYx NjoKKwkJY2FzZSBEUk1fRk9STUFUX0FCR1IxNjE2MTYxNjoKKwkJCWNvbnZlcnRfZmxvYXRfdG9f dWludDE2KGN2dCk7CisJCQlyZXR1cm47CiAJCX0KIAl9CiAKLS0gCjIuMjUuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxp c3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==