From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2B2306E380 for ; Tue, 6 Feb 2018 10:14:21 +0000 (UTC) From: Maarten Lankhorst Date: Tue, 6 Feb 2018 11:14:08 +0100 Message-Id: <20180206101417.59979-3-maarten.lankhorst@linux.intel.com> In-Reply-To: <20180206101417.59979-1-maarten.lankhorst@linux.intel.com> References: <20180206101417.59979-1-maarten.lankhorst@linux.intel.com> Subject: [igt-dev] [PATCH i-g-t 03/12] lib/igt_fb: Add igt_fb_supported_format() 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: VGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBpdGVyYXRlIHdoZXRoZXIgYSBmb3JtYXQgaXMgc3Vw cG9ydGVkIG9yIG5vdCwKd2l0aG91dCBlYWNoIGRyaXZlciBoYXZpbmcgdG8gb3BlbiBjb2RlIGl0 LgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxp bnV4LmludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2ZiLmMgICAgICAgICAgICAgIHwgMTggKysrKysr KysrKysrKysrKysrCiBsaWIvaWd0X2ZiLmggICAgICAgICAgICAgIHwgIDEgKwogdGVzdHMva21z X2F0b21pYy5jICAgICAgICB8IDEzICsrKy0tLS0tLS0tLS0KIHRlc3RzL2ttc19wbGFuZS5jICAg ICAgICAgfCAxNiArLS0tLS0tLS0tLS0tLS0tCiB0ZXN0cy9rbXNfcGxhbmVfc2NhbGluZy5jIHwg MjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25z KCspLCA0MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvaWd0X2ZiLmMgYi9saWIvaWd0 X2ZiLmMKaW5kZXggMzVhOTI4YjkyODFkLi4wMzg5YjFjMWIxNTkgMTAwNjQ0Ci0tLSBhL2xpYi9p Z3RfZmIuYworKysgYi9saWIvaWd0X2ZiLmMKQEAgLTE3MTksMyArMTcxOSwyMSBAQCB2b2lkIGln dF9nZXRfYWxsX2NhaXJvX2Zvcm1hdHMoY29uc3QgdWludDMyX3QgKipmb3JtYXRzLCBpbnQgKmZv cm1hdF9jb3VudCkKIAkqZm9ybWF0cyA9IGRybV9mb3JtYXRzOwogCSpmb3JtYXRfY291bnQgPSBu X2Zvcm1hdHM7CiB9CisKKy8qKgorICogaWd0X2ZiX3N1cHBvcnRlZF9mb3JtYXQ6CisgKiBAZHJt X2Zvcm1hdDogZHJtIGZvdXJjYyB0byB0ZXN0LgorICoKKyAqIFRoaXMgZnVuY3Rpb25zIHJldHVy bnMgd2hldGhlciBAZHJtX2Zvcm1hdCBjYW4gYmUgc3VjY2VzZnVsbHkgY3JlYXRlZCBieQorICog aWd0X2NyZWF0ZV9mYigpIGFuZCBkcmF3biB0byBieSBpZ3RfZ2V0X2NhaXJvX2N0eCgpLgorICov Citib29sIGlndF9mYl9zdXBwb3J0ZWRfZm9ybWF0KHVpbnQzMl90IGRybV9mb3JtYXQpCit7CisJ c3RydWN0IGZvcm1hdF9kZXNjX3N0cnVjdCAqZjsKKworCWZvcl9lYWNoX2Zvcm1hdChmKQorCQlp ZiAoZi0+ZHJtX2lkID09IGRybV9mb3JtYXQpCisJCQlyZXR1cm4gZi0+Y2Fpcm9faWQgIT0gQ0FJ Uk9fRk9STUFUX0lOVkFMSUQ7CisKKwlyZXR1cm4gZmFsc2U7Cit9CmRpZmYgLS1naXQgYS9saWIv aWd0X2ZiLmggYi9saWIvaWd0X2ZiLmgKaW5kZXggNzdmZDg4YmI3YWNhLi5hNmNlMDc4OTg3ODQg MTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfZmIuaAorKysgYi9saWIvaWd0X2ZiLmgKQEAgLTE2Myw2ICsx NjMsNyBAQCB1aW50MzJfdCBpZ3RfYnBwX2RlcHRoX3RvX2RybV9mb3JtYXQoaW50IGJwcCwgaW50 IGRlcHRoKTsKIHVpbnQzMl90IGlndF9kcm1fZm9ybWF0X3RvX2JwcCh1aW50MzJfdCBkcm1fZm9y bWF0KTsKIGNvbnN0IGNoYXIgKmlndF9mb3JtYXRfc3RyKHVpbnQzMl90IGRybV9mb3JtYXQpOwog dm9pZCBpZ3RfZ2V0X2FsbF9jYWlyb19mb3JtYXRzKGNvbnN0IHVpbnQzMl90ICoqZm9ybWF0cywg aW50ICpmb3JtYXRfY291bnQpOworYm9vbCBpZ3RfZmJfc3VwcG9ydGVkX2Zvcm1hdCh1aW50MzJf dCBkcm1fZm9ybWF0KTsKIAogI2VuZGlmIC8qIF9fSUdUX0ZCX0hfXyAqLwogCmRpZmYgLS1naXQg YS90ZXN0cy9rbXNfYXRvbWljLmMgYi90ZXN0cy9rbXNfYXRvbWljLmMKaW5kZXggMmUyMWI1M2I4 Yzg3Li5hYzAyYmFmMDE3MGIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19hdG9taWMuYworKysgYi90 ZXN0cy9rbXNfYXRvbWljLmMKQEAgLTI2NCwyMCArMjY0LDEzIEBAIHN0YXRpYyB2b2lkIGNydGNf Y29tbWl0X2F0b21pY19mbGFnc19lcnIoaWd0X3BpcGVfdCAqcGlwZSwgaWd0X3BsYW5lX3QgKnBs YW5lLAogc3RhdGljIHVpbnQzMl90IHBsYW5lX2dldF9pZ3RfZm9ybWF0KGlndF9wbGFuZV90ICpw bGFuZSkKIHsKIAlkcm1Nb2RlUGxhbmVQdHIgcGxhbmVfa21zOwotCWNvbnN0IHVpbnQzMl90ICpp Z3RfZm9ybWF0czsKLQlpbnQgbnVtX2lndF9mb3JtYXRzOwogCWludCBpOwogCiAJcGxhbmVfa21z ID0gcGxhbmUtPmRybV9wbGFuZTsKIAotCWlndF9nZXRfYWxsX2NhaXJvX2Zvcm1hdHMoJmlndF9m b3JtYXRzLCAmbnVtX2lndF9mb3JtYXRzKTsKLQlmb3IgKGkgPSAwOyBpIDwgbnVtX2lndF9mb3Jt YXRzOyBpKyspIHsKLQkJaW50IGo7Ci0KLQkJZm9yIChqID0gMDsgaiA8IHBsYW5lX2ttcy0+Y291 bnRfZm9ybWF0czsgaisrKSB7Ci0JCQlpZiAocGxhbmVfa21zLT5mb3JtYXRzW2pdID09IGlndF9m b3JtYXRzW2ldKQotCQkJCXJldHVybiBwbGFuZV9rbXMtPmZvcm1hdHNbal07Ci0JCX0KKwlmb3Ig KGkgPSAwOyBpIDwgcGxhbmVfa21zLT5jb3VudF9mb3JtYXRzOyBpKyspIHsKKwkJaWYgKGlndF9m Yl9zdXBwb3J0ZWRfZm9ybWF0KHBsYW5lX2ttcy0+Zm9ybWF0c1tpXSkpCisJCQlyZXR1cm4gcGxh bmVfa21zLT5mb3JtYXRzW2ldOwogCX0KIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvdGVzdHMv a21zX3BsYW5lLmMgYi90ZXN0cy9rbXNfcGxhbmUuYwppbmRleCA1NGJjZmZjMTZmNGYuLjIzMTcz Yjk2NmVhYiAxMDA2NDQKLS0tIGEvdGVzdHMva21zX3BsYW5lLmMKKysrIGIvdGVzdHMva21zX3Bs YW5lLmMKQEAgLTM2NiwyMCArMzY2LDYgQEAgdGVzdF9wbGFuZV9wYW5uaW5nKGRhdGFfdCAqZGF0 YSwgZW51bSBwaXBlIHBpcGUsIHVuc2lnbmVkIGludCBmbGFncykKIAlpZ3Rfc2tpcF9vbihjb25u ZWN0ZWRfb3V0cyA9PSAwKTsKIH0KIAotc3RhdGljIGJvb2wgY2FuX2RyYXcodWludDMyX3QgZHJt X2Zvcm1hdCkKLXsKLQljb25zdCB1aW50MzJfdCAqZHJtX2Zvcm1hdHM7Ci0JaW50IGZvcm1hdF9j b3VudCwgaTsKLQotCWlndF9nZXRfYWxsX2NhaXJvX2Zvcm1hdHMoJmRybV9mb3JtYXRzLCAmZm9y bWF0X2NvdW50KTsKLQotCWZvciAoaSA9IDA7IGkgPCBmb3JtYXRfY291bnQ7IGkrKykKLQkJaWYg KGRybV9mb3JtYXRzW2ldID09IGRybV9mb3JtYXQpCi0JCQlyZXR1cm4gdHJ1ZTsKLQotCXJldHVy biBmYWxzZTsKLX0KLQogc3RhdGljIHZvaWQgdGVzdF9mb3JtYXRfcGxhbmUoZGF0YV90ICpkYXRh LCBlbnVtIHBpcGUgcGlwZSwKIAkJCSAgICAgIGlndF9vdXRwdXRfdCAqb3V0cHV0LCBpZ3RfcGxh bmVfdCAqcGxhbmUpCiB7CkBAIC00MjAsNyArNDA2LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9mb3Jt YXRfcGxhbmUoZGF0YV90ICpkYXRhLCBlbnVtIHBpcGUgcGlwZSwKIAlmb3IgKGkgPSAwOyBpIDwg cGxhbmUtPmRybV9wbGFuZS0+Y291bnRfZm9ybWF0czsgaSsrKSB7CiAJCWZvcm1hdCA9IHBsYW5l LT5kcm1fcGxhbmUtPmZvcm1hdHNbaV07CiAKLQkJaWYgKCFjYW5fZHJhdyhmb3JtYXQpKQorCQlp ZiAoIWlndF9mYl9zdXBwb3J0ZWRfZm9ybWF0KGZvcm1hdCkpCiAJCQljb250aW51ZTsKIAogCQlp Z3RfZGVidWcoIlRlc3RpbmcgZm9ybWF0IDB4JXggb24gJXMuJXVcbiIsCmRpZmYgLS1naXQgYS90 ZXN0cy9rbXNfcGxhbmVfc2NhbGluZy5jIGIvdGVzdHMva21zX3BsYW5lX3NjYWxpbmcuYwppbmRl eCAzMTcxMzMxYzk2YjguLjdhNTQ3MDEwNmNkNSAxMDA2NDQKLS0tIGEvdGVzdHMva21zX3BsYW5l X3NjYWxpbmcuYworKysgYi90ZXN0cy9rbXNfcGxhbmVfc2NhbGluZy5jCkBAIC0xNzMsMjAgKzE3 Myw2IEBAIHN0YXRpYyBib29sIGNhbl9yb3RhdGUodW5zaWduZWQgZm9ybWF0KQogCXJldHVybiB0 cnVlOwogfQogCi1zdGF0aWMgYm9vbCBjYW5fZHJhdyh1aW50MzJfdCBkcm1fZm9ybWF0KQotewot CWNvbnN0IHVpbnQzMl90ICpkcm1fZm9ybWF0czsKLQlpbnQgZm9ybWF0X2NvdW50LCBpOwotCi0J aWd0X2dldF9hbGxfY2Fpcm9fZm9ybWF0cygmZHJtX2Zvcm1hdHMsICZmb3JtYXRfY291bnQpOwot Ci0JZm9yIChpID0gMDsgaSA8IGZvcm1hdF9jb3VudDsgaSsrKQotCQlpZiAoZHJtX2Zvcm1hdHNb aV0gPT0gZHJtX2Zvcm1hdCkKLQkJCXJldHVybiB0cnVlOwotCi0JcmV0dXJuIGZhbHNlOwotfQot CiBzdGF0aWMgdm9pZCB0ZXN0X3NjYWxlcl93aXRoX3JvdGF0aW9uX3BpcGUoZGF0YV90ICpkLCBl bnVtIHBpcGUgcGlwZSwKIAkJCQkJICAgaWd0X291dHB1dF90ICpvdXRwdXQpCiB7CkBAIC0yMDIs NyArMTg4LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9zY2FsZXJfd2l0aF9yb3RhdGlvbl9waXBlKGRh dGFfdCAqZCwgZW51bSBwaXBlIHBpcGUsCiAJCQlpZ3Rfcm90YXRpb25fdCByb3QgPSByb3RhdGlv bnNbaV07CiAJCQlmb3IgKGludCBqID0gMDsgaiA8IHBsYW5lLT5kcm1fcGxhbmUtPmNvdW50X2Zv cm1hdHM7IGorKykgewogCQkJCXVuc2lnbmVkIGZvcm1hdCA9IHBsYW5lLT5kcm1fcGxhbmUtPmZv cm1hdHNbal07Ci0JCQkJaWYgKGNhbl9kcmF3KGZvcm1hdCkgJiYgY2FuX3JvdGF0ZShmb3JtYXQp KQorCQkJCWlmIChpZ3RfZmJfc3VwcG9ydGVkX2Zvcm1hdChmb3JtYXQpICYmIGNhbl9yb3RhdGUo Zm9ybWF0KSkKIAkJCQkJY2hlY2tfc2NhbGluZ19waXBlX3BsYW5lX3JvdChkLCBwbGFuZSwgZm9y bWF0LAogCQkJCQkJCQkgICAgIExPQ0FMX0k5MTVfRk9STUFUX01PRF9ZX1RJTEVELAogCQkJCQkJ CQkgICAgIHBpcGUsIG91dHB1dCwgcm90KTsKQEAgLTIzNSw3ICsyMjEsNyBAQCBzdGF0aWMgdm9p ZCB0ZXN0X3NjYWxlcl93aXRoX3BpeGVsX2Zvcm1hdF9waXBlKGRhdGFfdCAqZCwgZW51bSBwaXBl IHBpcGUsIGlndF9vdQogCQkJZm9yIChpbnQgaiA9IDA7IGogPCBwbGFuZS0+ZHJtX3BsYW5lLT5j b3VudF9mb3JtYXRzOyBqKyspIHsKIAkJCQl1aW50MzJfdCBmb3JtYXQgPSBwbGFuZS0+ZHJtX3Bs YW5lLT5mb3JtYXRzW2pdOwogCi0JCQkJaWYgKGNhbl9kcmF3KGZvcm1hdCkpCisJCQkJaWYgKGln dF9mYl9zdXBwb3J0ZWRfZm9ybWF0KGZvcm1hdCkpCiAJCQkJCWNoZWNrX3NjYWxpbmdfcGlwZV9w bGFuZV9yb3QoZCwgcGxhbmUsCiAJCQkJCQkJCSAgICAgZm9ybWF0LCB0aWxpbmcsCiAJCQkJCQkJ CSAgICAgcGlwZSwgb3V0cHV0LCBJR1RfUk9UQVRJT05fMCk7CkBAIC00NDYsMTMgKzQzMiwxMyBA QCB0ZXN0X3NjYWxlcl93aXRoX2NsaXBwaW5nX2NsYW1waW5nX3NjZW5hcmlvKGRhdGFfdCAqZCwg ZW51bSBwaXBlIHBpcGUsIGlndF9vdXRwdQogCiAJZm9yIChpbnQgaSA9IDA7IGkgPCBkLT5wbGFu ZTEtPmRybV9wbGFuZS0+Y291bnRfZm9ybWF0czsgaSsrKSB7CiAJCXVuc2lnbmVkIGYxID0gZC0+ cGxhbmUxLT5kcm1fcGxhbmUtPmZvcm1hdHNbaV07Ci0JCWlmICghY2FuX2RyYXcoZjEpKQorCQlp ZiAoIWlndF9mYl9zdXBwb3J0ZWRfZm9ybWF0KGYxKSkKIAkJCWNvbnRpbnVlOwogCiAJCWZvciAo aW50IGogPSAwOyBqIDwgZC0+cGxhbmUyLT5kcm1fcGxhbmUtPmNvdW50X2Zvcm1hdHM7IGorKykg ewogCQkJdW5zaWduZWQgZjIgPSBkLT5wbGFuZTItPmRybV9wbGFuZS0+Zm9ybWF0c1tqXTsKIAot CQkJaWYgKCFjYW5fZHJhdyhmMikpCisJCQlpZiAoIWlndF9mYl9zdXBwb3J0ZWRfZm9ybWF0KGYy KSkKIAkJCQljb250aW51ZTsKIAogCQkJX190ZXN0X3NjYWxlcl93aXRoX2NsaXBwaW5nX2NsYW1w aW5nX3NjZW5hcmlvKGQsIG1vZGUsIGYxLCBmMik7Ci0tIAoyLjE2LjEKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0Cmln dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=