From: Imre Deak Subject: [PATCH i-g-t] igt_fb: Add support for drawing to non-32bit Y/Yf tiled FBs Date: Fri, 8 Dec 2017 16:53:41 +0200 Message-ID: <20171208145341.29880-1-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3594A6E0D1 for ; Fri, 8 Dec 2017 14:53:44 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V2hlbiBkcmF3aW5nIHdpdGggY2Fpcm8gdG8gWS9ZZiB0aWxlZCBGQnMgd2UgdXNlIGEgdGVtcG9y YXJ5IGxpbmVhcgpidWZmZXIgd2hpY2ggaXMgbWFwcGVkIHRvIHRoZSBDUFUsIGJ1dCB0aGUgZmFz dCBibGl0IG5lZWRlZCBmb3IgdGhpcwpvbmx5IGV4cGVjdHMgMzIgYnBwIEZCcy4gQWRkIHN1cHBv cnQgZm9yIG90aGVyIGJwcHMgdG9vLgoKVGhpcyBpcyBuZWVkZWQgZm9yIHVwY29taW5nIHBhdGNo ZXMgdGVzdGluZyBub24tMzJiaXQgYnBwIGZvcm1hdHMgd2l0aApZL1lmIHRpbGluZy4KClRoYW5r cyB0byBWaWxsZSBmb3IgZXhwbGFpbmluZyB3aHkgd2UgbmVlZCB0aGUgdGVtcG9yYXJ5IGJ1ZmZl ci4gKExvb2tzCmxpa2UgZm9yIFkgdGlsaW5nIHdlIGNvdWxkIGRvIHdpdGhvdXQsIGJ1dCB0aGF0 J3MgYSBzZXBhcmF0ZSB0b3BpYy4pCgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgpTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Ci0tLQog bGliL2lndF9mYi5jICAgICAgICAgICAgfCAgMiArKwogbGliL2ludGVsX2JhdGNoYnVmZmVyLmMg fCAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIGxpYi9pbnRlbF9iYXRjaGJ1 ZmZlci5oIHwgIDQgKysrKwogbGliL2ludGVsX3JlZy5oICAgICAgICAgfCAgNCArKysrCiA0IGZp bGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbGliL2lndF9mYi5jIGIvbGliL2lndF9mYi5jCmluZGV4IGQ0ZWFlZDcxLi5kY2FlMDdkZiAx MDA2NDQKLS0tIGEvbGliL2lndF9mYi5jCisrKyBiL2xpYi9pZ3RfZmIuYwpAQCAtMTA0Myw2ICsx MDQzLDcgQEAgc3RhdGljIHZvaWQgZGVzdHJveV9jYWlyb19zdXJmYWNlX19ibGl0KHZvaWQgKmFy ZykKIAkJCQkgICBJOTE1X1RJTElOR19OT05FLAogCQkJCSAgIDAsIDAsIC8qIHNyY194LCBzcmNf eSAqLwogCQkJCSAgIGZiLT53aWR0aCwgZmItPmhlaWdodCwKKwkJCQkgICBpZ3RfZHJtX2Zvcm1h dF90b19icHAoZmItPmRybV9mb3JtYXQpLAogCQkJCSAgIGZiLT5nZW1faGFuZGxlLAogCQkJCSAg IGZiLT5zdHJpZGUsCiAJCQkJICAgb2JqX3RpbGluZywKQEAgLTEwOTAsNiArMTA5MSw3IEBAIHN0 YXRpYyB2b2lkIGNyZWF0ZV9jYWlyb19zdXJmYWNlX19ibGl0KGludCBmZCwgc3RydWN0IGlndF9m YiAqZmIpCiAJCQkJICAgb2JqX3RpbGluZywKIAkJCQkgICAwLCAwLCAvKiBzcmNfeCwgc3JjX3kg Ki8KIAkJCQkgICBmYi0+d2lkdGgsIGZiLT5oZWlnaHQsCisJCQkJICAgaWd0X2RybV9mb3JtYXRf dG9fYnBwKGZiLT5kcm1fZm9ybWF0KSwKIAkJCQkgICBibGl0LT5saW5lYXIuaGFuZGxlLAogCQkJ CSAgIGJsaXQtPmxpbmVhci5zdHJpZGUsCiAJCQkJICAgSTkxNV9USUxJTkdfTk9ORSwKZGlmZiAt LWdpdCBhL2xpYi9pbnRlbF9iYXRjaGJ1ZmZlci5jIGIvbGliL2ludGVsX2JhdGNoYnVmZmVyLmMK aW5kZXggNTM0NDk4OTQuLjlhNTNiNmY4IDEwMDY0NAotLS0gYS9saWIvaW50ZWxfYmF0Y2hidWZm ZXIuYworKysgYi9saWIvaW50ZWxfYmF0Y2hidWZmZXIuYwpAQCAtNTE5LDcgKzUxOSw4IEBAIHN0 YXRpYyB1aW50MzJfdCBmYXN0X2NvcHlfZHdvcmQwKHVuc2lnbmVkIGludCBzcmNfdGlsaW5nLAog fQogCiBzdGF0aWMgdWludDMyX3QgZmFzdF9jb3B5X2R3b3JkMSh1bnNpZ25lZCBpbnQgc3JjX3Rp bGluZywKLQkJCQkgdW5zaWduZWQgaW50IGRzdF90aWxpbmcpCisJCQkJIHVuc2lnbmVkIGludCBk c3RfdGlsaW5nLAorCQkJCSBpbnQgYnBwKQogewogCXVpbnQzMl90IGR3b3JkMSA9IDA7CiAKQEAg LTUyOCw3ICs1MjksMjUgQEAgc3RhdGljIHVpbnQzMl90IGZhc3RfY29weV9kd29yZDEodW5zaWdu ZWQgaW50IHNyY190aWxpbmcsCiAJaWYgKGRzdF90aWxpbmcgPT0gSTkxNV9USUxJTkdfWWYpCiAJ CWR3b3JkMSB8PSBYWV9GQVNUX0NPUFlfRFNUX1RJTElOR19ZZjsKIAotCWR3b3JkMSB8PSBYWV9G QVNUX0NPUFlfQ09MT1JfREVQVEhfMzI7CisJc3dpdGNoIChicHApIHsKKwljYXNlIDg6CisJCWR3 b3JkMSB8PSBYWV9GQVNUX0NPUFlfQ09MT1JfREVQVEhfODsKKwkJYnJlYWs7CisJY2FzZSAxNjoK KwkJZHdvcmQxIHw9IFhZX0ZBU1RfQ09QWV9DT0xPUl9ERVBUSF8xNjsKKwkJYnJlYWs7CisJY2Fz ZSAzMjoKKwkJZHdvcmQxIHw9IFhZX0ZBU1RfQ09QWV9DT0xPUl9ERVBUSF8zMjsKKwkJYnJlYWs7 CisJY2FzZSA2NDoKKwkJZHdvcmQxIHw9IFhZX0ZBU1RfQ09QWV9DT0xPUl9ERVBUSF82NDsKKwkJ YnJlYWs7CisJY2FzZSAxMjg6CisJCWR3b3JkMSB8PSBYWV9GQVNUX0NPUFlfQ09MT1JfREVQVEhf MTI4OworCQlicmVhazsKKwlkZWZhdWx0OgorCQlpZ3RfYXNzZXJ0KDApOworCX0KIAogCXJldHVy biBkd29yZDE7CiB9CkBAIC01ODYsNiArNjA1LDcgQEAgc3RhdGljIHZvaWQgZXhlY19ibGl0KGlu dCBmZCwKICAqIEBzcmNfeTogWSBjb29yZGluYXRlIG9mIHRoZSBzb3VyY2UgcmVnaW9uIHRvIGNv cHkKICAqIEB3aWR0aDogV2lkdGggb2YgdGhlIHJlZ2lvbiB0byBjb3B5CiAgKiBAaGVpZ2h0OiBI ZWlnaHQgb2YgdGhlIHJlZ2lvbiB0byBjb3B5CisgKiBAYnBwOiBzb3VyY2UgYW5kIGRlc3RpbmF0 aW9uIGJpdHMgcGVyIHBpeGVsCiAgKiBAZHN0X2hhbmRsZTogR0VNIGhhbmRsZSBvZiB0aGUgc291 cmNlIGJ1ZmZlcgogICogQGRzdF9zdHJpZGU6IFN0cmlkZSAoaW4gYnl0ZXMpIG9mIHRoZSBkZXN0 aW5hdGlvbiBidWZmZXIKICAqIEBkc3RfdGlsaW5nOiBUaWxpbmcgbW9kZSBvZiB0aGUgZGVzdGlu YXRpb24gYnVmZmVyCkBAIC02MDQsNiArNjI0LDkgQEAgdm9pZCBpZ3RfYmxpdHRlcl9mYXN0X2Nv cHlfX3JhdyhpbnQgZmQsCiAJCQkJLyogc2l6ZSAqLwogCQkJCXVuc2lnbmVkIGludCB3aWR0aCwg dW5zaWduZWQgaW50IGhlaWdodCwKIAorCQkJCS8qIGJwcCAqLworCQkJCWludCBicHAsCisKIAkJ CQkvKiBkc3QgKi8KIAkJCQl1aW50MzJfdCBkc3RfaGFuZGxlLAogCQkJCXVuc2lnbmVkIGludCBk c3Rfc3RyaWRlLApAQCAtNjIxLDcgKzY0NCw3IEBAIHZvaWQgaWd0X2JsaXR0ZXJfZmFzdF9jb3B5 X19yYXcoaW50IGZkLAogCXNyY19waXRjaCA9IGZhc3RfY29weV9waXRjaChzcmNfc3RyaWRlLCBz cmNfdGlsaW5nKTsKIAlkc3RfcGl0Y2ggPSBmYXN0X2NvcHlfcGl0Y2goZHN0X3N0cmlkZSwgZHN0 X3RpbGluZyk7CiAJZHdvcmQwID0gZmFzdF9jb3B5X2R3b3JkMChzcmNfdGlsaW5nLCBkc3RfdGls aW5nKTsKLQlkd29yZDEgPSBmYXN0X2NvcHlfZHdvcmQxKHNyY190aWxpbmcsIGRzdF90aWxpbmcp OworCWR3b3JkMSA9IGZhc3RfY29weV9kd29yZDEoc3JjX3RpbGluZywgZHN0X3RpbGluZywgYnBw KTsKIAogI2RlZmluZSBDSEVDS19SQU5HRSh4KQkoKHgpID49IDAgJiYgKHgpIDwgKDEgPDwgMTUp KQogCWFzc2VydChDSEVDS19SQU5HRShzcmNfeCkgJiYgQ0hFQ0tfUkFOR0Uoc3JjX3kpICYmCkBA IC02NzEsNiArNjk0LDcgQEAgdm9pZCBpZ3RfYmxpdHRlcl9mYXN0X2NvcHlfX3JhdyhpbnQgZmQs CiAgKiBAc3JjX3k6IHNvdXJjZSBwaXhlbCB5LWNvb3JkaW5hdGlvbgogICogQHdpZHRoOiB3aWR0 aCBvZiB0aGUgY29waWVkIHJlY3RhbmdsZQogICogQGhlaWdodDogaGVpZ2h0IG9mIHRoZSBjb3Bp ZWQgcmVjdGFuZ2xlCisgKiBAYnBwOiBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGJpdHMgcGVyIHBp eGVsCiAgKiBAZHN0OiBkZXN0aW5hdGlvbiBpLWctdCBidWZmZXIgb2JqZWN0CiAgKiBAZHN0X3g6 IGRlc3RpbmF0aW9uIHBpeGVsIHgtY29vcmRpbmF0aW9uCiAgKiBAZHN0X3k6IGRlc3RpbmF0aW9u IHBpeGVsIHktY29vcmRpbmF0aW9uCkBAIC02ODIsNiArNzA2LDcgQEAgdm9pZCBpZ3RfYmxpdHRl cl9mYXN0X2NvcHlfX3JhdyhpbnQgZmQsCiB2b2lkIGlndF9ibGl0dGVyX2Zhc3RfY29weShzdHJ1 Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAogCQkJICAgc3RydWN0IGlndF9idWYgKnNyYywg dW5zaWduZWQgc3JjX3gsIHVuc2lnbmVkIHNyY195LAogCQkJICAgdW5zaWduZWQgd2lkdGgsIHVu c2lnbmVkIGhlaWdodCwKKwkJCSAgIGludCBicHAsCiAJCQkgICBzdHJ1Y3QgaWd0X2J1ZiAqZHN0 LCB1bnNpZ25lZCBkc3RfeCwgdW5zaWduZWQgZHN0X3kpCiB7CiAJdWludDMyX3Qgc3JjX3BpdGNo LCBkc3RfcGl0Y2g7CkBAIC02OTAsNyArNzE1LDcgQEAgdm9pZCBpZ3RfYmxpdHRlcl9mYXN0X2Nv cHkoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKIAlzcmNfcGl0Y2ggPSBmYXN0X2Nv cHlfcGl0Y2goc3JjLT5zdHJpZGUsIHNyYy0+dGlsaW5nKTsKIAlkc3RfcGl0Y2ggPSBmYXN0X2Nv cHlfcGl0Y2goZHN0LT5zdHJpZGUsIHNyYy0+dGlsaW5nKTsKIAlkd29yZDAgPSBmYXN0X2NvcHlf ZHdvcmQwKHNyYy0+dGlsaW5nLCBkc3QtPnRpbGluZyk7Ci0JZHdvcmQxID0gZmFzdF9jb3B5X2R3 b3JkMShzcmMtPnRpbGluZywgZHN0LT50aWxpbmcpOworCWR3b3JkMSA9IGZhc3RfY29weV9kd29y ZDEoc3JjLT50aWxpbmcsIGRzdC0+dGlsaW5nLCBicHApOwogCiAjZGVmaW5lIENIRUNLX1JBTkdF KHgpCSgoeCkgPj0gMCAmJiAoeCkgPCAoMSA8PCAxNSkpCiAJYXNzZXJ0KENIRUNLX1JBTkdFKHNy Y194KSAmJiBDSEVDS19SQU5HRShzcmNfeSkgJiYKZGlmZiAtLWdpdCBhL2xpYi9pbnRlbF9iYXRj aGJ1ZmZlci5oIGIvbGliL2ludGVsX2JhdGNoYnVmZmVyLmgKaW5kZXggODY5NzQ3ZGIuLjZiZWU0 MTY3IDEwMDY0NAotLS0gYS9saWIvaW50ZWxfYmF0Y2hidWZmZXIuaAorKysgYi9saWIvaW50ZWxf YmF0Y2hidWZmZXIuaApAQCAtMjI4LDYgKzIyOCw3IEBAIHVuc2lnbmVkIGlndF9idWZfaGVpZ2h0 KHN0cnVjdCBpZ3RfYnVmICpidWYpOwogdm9pZCBpZ3RfYmxpdHRlcl9mYXN0X2NvcHkoc3RydWN0 IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKIAkJCSAgc3RydWN0IGlndF9idWYgKnNyYywgdW5z aWduZWQgc3JjX3gsIHVuc2lnbmVkIHNyY195LAogCQkJICB1bnNpZ25lZCB3aWR0aCwgdW5zaWdu ZWQgaGVpZ2h0LAorCQkJICBpbnQgYnBwLAogCQkJICBzdHJ1Y3QgaWd0X2J1ZiAqZHN0LCB1bnNp Z25lZCBkc3RfeCwgdW5zaWduZWQgZHN0X3kpOwogCiB2b2lkIGlndF9ibGl0dGVyX2Zhc3RfY29w eV9fcmF3KGludCBmZCwKQEAgLTI0MCw2ICsyNDEsOSBAQCB2b2lkIGlndF9ibGl0dGVyX2Zhc3Rf Y29weV9fcmF3KGludCBmZCwKIAkJCQkvKiBzaXplICovCiAJCQkJdW5zaWduZWQgaW50IHdpZHRo LCB1bnNpZ25lZCBpbnQgaGVpZ2h0LAogCisJCQkJLyogYnBwICovCisJCQkJaW50IGJwcCwKKwog CQkJCS8qIGRzdCAqLwogCQkJCXVpbnQzMl90IGRzdF9oYW5kbGUsCiAJCQkJdW5zaWduZWQgaW50 IGRzdF9zdHJpZGUsCmRpZmYgLS1naXQgYS9saWIvaW50ZWxfcmVnLmggYi9saWIvaW50ZWxfcmVn LmgKaW5kZXggM2EyOGMwOGMuLmY4NWZiNzQyIDEwMDY0NAotLS0gYS9saWIvaW50ZWxfcmVnLmgK KysrIGIvbGliL2ludGVsX3JlZy5oCkBAIC0yNTMwLDcgKzI1MzAsMTEgQEAgU09GVFdBUkUgT1Ig VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAvKiBkd29yZCAxICov CiAjZGVmaW5lICAgWFlfRkFTVF9DT1BZX1NSQ19USUxJTkdfWWYJCQkoMSA8PCAgMzEpCiAjZGVm aW5lICAgWFlfRkFTVF9DT1BZX0RTVF9USUxJTkdfWWYJCQkoMSA8PCAgMzApCisjZGVmaW5lICAg WFlfRkFTVF9DT1BZX0NPTE9SX0RFUFRIXzgJCQkoMCAgPDwgMjQpCisjZGVmaW5lICAgWFlfRkFT VF9DT1BZX0NPTE9SX0RFUFRIXzE2CQkJKDEgIDw8IDI0KQogI2RlZmluZSAgIFhZX0ZBU1RfQ09Q WV9DT0xPUl9ERVBUSF8zMgkJCSgzICA8PCAyNCkKKyNkZWZpbmUgICBYWV9GQVNUX0NPUFlfQ09M T1JfREVQVEhfNjQJCQkoNCAgPDwgMjQpCisjZGVmaW5lICAgWFlfRkFTVF9DT1BZX0NPTE9SX0RF UFRIXzEyOAkJCSg1ICA8PCAyNCkKIAogI2RlZmluZSBNSV9TVE9SRV9EV09SRF9JTU0JCSgoMHgy MDw8MjMpfDIpCiAjZGVmaW5lICAgTUlfTUVNX1ZJUlRVQUwJKDEgPDwgMjIpIC8qIDk2NSsgb25s eSAqLwotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK