From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 27D8C6EEE1 for ; Thu, 13 Dec 2018 15:55:55 +0000 (UTC) From: Paul Kocialkowski Date: Thu, 13 Dec 2018 16:55:28 +0100 Message-Id: <20181213155533.18048-8-paul.kocialkowski@bootlin.com> In-Reply-To: <20181213155533.18048-1-paul.kocialkowski@bootlin.com> References: <20181213155533.18048-1-paul.kocialkowski@bootlin.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v2 07/12] lib/igt_vc4: Add helpers for converting linear to T-tiled XRGB buffers 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: Petri Latvala , Eben Upton , Boris Brezillon , Thomas Petazzoni List-ID: SW4gb3JkZXIgdG8gaW50ZWdyYXRlIHRlc3Rpbmcgb2YgVC10aWxlZCBidWZmZXJzLCB0aGUgZWFz aWVzdCBwYXRoIGlzIHRvCmdlbmVyYXRlIHBhdHRlcm5zICh3aXRoIHRoZSBhbHJlYWR5LWV4aXN0 aW5nIGZ1bmN0aW9ucykgaW4gbGluZWFyCmJ1ZmZlcnMgYW5kIGNvbnZlcnQgdGhlbSB0byBULXRp bGVkIHN1YnNlcXVlbnRseS4KCkFkZCBoZWxwZXJzIHRvIGRvIHRoYXQgY29udmVyc2lvbiwgd2l0 aCBhIGZpcnN0IGhlbHBlciB0aGF0IHJldHVybnMgdGhlCm1lbW9yeSBvZmZzZXQgZm9yIGEgZ2l2 ZW4gcG9zaXRpb24gaW4gYSBULXRpbGVkIGJ1ZmZlciBhbmQgYSBzZWNvbmQKaGVscGVyIHRoYXQg dXNlcyBpdCBmb3IgY29udmVydGluZyBiZXR3ZWVuIGZyYW1lYnVmZmVycy4KClNpZ25lZC1vZmYt Ynk6IFBhdWwgS29jaWFsa293c2tpIDxwYXVsLmtvY2lhbGtvd3NraUBib290bGluLmNvbT4KLS0t CiBsaWIvaWd0X3ZjNC5jIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiBsaWIvaWd0X3ZjNC5oIHwgIDQgKysrCiAyIGZpbGVzIGNoYW5nZWQs IDEwMCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliL2lndF92YzQuYyBiL2xpYi9pZ3Rf dmM0LmMKaW5kZXggMTZkZmU2N2E0NGIxLi5hYzMyZjljZDMyMjAgMTAwNjQ0Ci0tLSBhL2xpYi9p Z3RfdmM0LmMKKysrIGIvbGliL2lndF92YzQuYwpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUg ImRybXRlc3QuaCIKICNpbmNsdWRlICJpZ3RfYXV4LmgiCiAjaW5jbHVkZSAiaWd0X2NvcmUuaCIK KyNpbmNsdWRlICJpZ3RfZmIuaCIKICNpbmNsdWRlICJpZ3RfdmM0LmgiCiAjaW5jbHVkZSAiaW9j dGxfd3JhcHBlcnMuaCIKICNpbmNsdWRlICJpbnRlbF9yZWcuaCIKQEAgLTE3NiwzICsxNzcsOTgg QEAgYm9vbCBpZ3RfdmM0X3B1cmdlYWJsZV9ibyhpbnQgZmQsIGludCBoYW5kbGUsIGJvb2wgcHVy Z2VhYmxlKQogCiAJcmV0dXJuIGFyZy5yZXRhaW5lZDsKIH0KKwordW5zaWduZWQgaW50IGlndF92 YzRfZmJfdF90aWxlZF9jb252ZXJ0KHN0cnVjdCBpZ3RfZmIgKmRzdCwgc3RydWN0IGlndF9mYiAq c3JjKQoreworCXVuc2lnbmVkIGludCBmYl9pZDsKKwl1bnNpZ25lZCBpbnQgaSwgajsKKwl1aW50 MzJfdCAqc3JjX2J1ZjsKKwl1aW50MzJfdCAqZHN0X2J1ZjsKKwlzaXplX3Qgb2Zmc2V0OworCisJ aWd0X2Fzc2VydChzcmMtPmRybV9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9YUkdCODg4OCk7CisKKwlm Yl9pZCA9IGlndF9jcmVhdGVfZmIoc3JjLT5mZCwgc3JjLT53aWR0aCwgc3JjLT5oZWlnaHQsIHNy Yy0+ZHJtX2Zvcm1hdCwKKwkJCSAgICAgIERSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1ZDNF9UX1RJ TEVELCBkc3QpOworCWlndF9hc3NlcnQoZmJfaWQgPiAwKTsKKworCXNyY19idWYgPSBpZ3RfZmJf bWFwX2J1ZmZlcihzcmMtPmZkLCBzcmMpOworCWlndF9hc3NlcnQoc3JjX2J1Zik7CisKKwlkc3Rf YnVmID0gaWd0X2ZiX21hcF9idWZmZXIoZHN0LT5mZCwgZHN0KTsKKwlpZ3RfYXNzZXJ0KGRzdF9i dWYpOworCisJZm9yIChpID0gMDsgaSA8IHNyYy0+aGVpZ2h0OyBpKyspIHsKKwkJZm9yIChqID0g MDsgaiA8IHNyYy0+d2lkdGg7IGorKykgeworCQkJb2Zmc2V0ID0gaWd0X3ZjNF90X3RpbGVkX29m ZnNldChzcmMtPndpZHRoLCBzcmMtPmhlaWdodCwKKwkJCQkJCQlzcmMtPmRybV9mb3JtYXQsIGos IGkpIC8gNDsKKwkJCSooZHN0X2J1ZiArIG9mZnNldCkgPSAqKHNyY19idWYgKworCQkJCQkJc3Jj LT5zdHJpZGVzWzBdIC8gNCAqIGkgKyBqKTsKKwkJfQorCX0KKworCWlndF9mYl91bm1hcF9idWZm ZXIoc3JjLCBzcmNfYnVmKTsKKwlpZ3RfZmJfdW5tYXBfYnVmZmVyKGRzdCwgZHN0X2J1Zik7CisK KwlyZXR1cm4gZmJfaWQ7Cit9CisKK3NpemVfdCBpZ3RfdmM0X3RfdGlsZWRfb2Zmc2V0KHNpemVf dCB3aWR0aCwgc2l6ZV90IGhlaWdodCwgc2l6ZV90IGZvcm1hdCwKKwkJCSAgICAgIHNpemVfdCB4 LCBzaXplX3QgeSkKK3sKKwljb25zdCBzaXplX3QgdDFrX21hcF9ldmVuW10gPSB7IDAsIDMsIDEs IDIgfTsKKwljb25zdCBzaXplX3QgdDFrX21hcF9vZGRbXSA9IHsgMiwgMSwgMywgMCB9OworCXNp emVfdCBvZmZzZXQgPSAwOworCXNpemVfdCB0NGtfdywgdDRrX3gsIHQ0a195OworCXNpemVfdCB0 MWtfeCwgdDFrX3k7CisJc2l6ZV90IHQ2NGJfeCwgdDY0Yl95OworCXNpemVfdCBwaXhfeCwgcGl4 X3k7CisJdW5zaWduZWQgaW50IGluZGV4OworCisJaWd0X2Fzc2VydChmb3JtYXQgPT0gRFJNX0ZP Uk1BVF9YUkdCODg4OCk7CisKKwkvKiBXaWR0aCBpbiBudW1iZXIgb2YgNEsgdGlsZXMuICovCisJ dDRrX3cgPSBBTElHTih3aWR0aCwgMzIpIC8gMzI7CisKKwkvKiBYIGFuZCB5IGNvb3JkaW5hdGVz IGluIG51bWJlciBvZiA0SyB0aWxlcyAoMzJ4MzIpLiAqLworCXQ0a194ID0geCAvIDMyOworCXQ0 a195ID0geSAvIDMyOworCisJLyogSW5jcmVhc2Ugb2Zmc2V0IHRvIHRoZSBiZWdpbm5pbmcgb2Yg dGhlIGNvcnJlc3BvbmRpbmcgNEsgdGlsZS4gKi8KKwlvZmZzZXQgKz0gdDRrX3kgKiB0NGtfdyAq IDMyICogMzI7CisKKwkvKiBYIGFuZCBZIGNvb3JkaW5hdGVzIGluIG51bWJlciBvZiAxSyB0aWxl cyAoMTZ4MTYpIHdpdGhpbiB0aGUgNEsgdGlsZS4gKi8KKwl0MWtfeCA9ICh4ICUgMzIpIC8gMTY7 CisJdDFrX3kgPSAoeSAlIDMyKSAvIDE2OworCisJaW5kZXggPSAyICogdDFrX3kgKyB0MWtfeDsK KworCWlmICh0NGtfeSAlIDIpIHsKKwkJLyogT2RkIHJvd3Mgc3RhcnQgZnJvbSB0aGUgcmlnaHQu ICovCisJCW9mZnNldCArPSAodDRrX3cgLSB0NGtfeCAtIDEpICogMzIgKiAzMjsKKwkJb2Zmc2V0 ICs9IHQxa19tYXBfb2RkW2luZGV4XSAqIDE2ICogMTY7CisJfSBlbHNlIHsKKwkJLyogRXZlbiBy b3dzIHN0YXJ0IGZyb20gdGhlIGxlZnQuICovCisJCW9mZnNldCArPSB0NGtfeCAqIDMyICogMzI7 CisJCW9mZnNldCArPSB0MWtfbWFwX2V2ZW5baW5kZXhdICogMTYgKiAxNjsKKwl9CisKKwkvKiBY IGFuZCBZIGNvb3JkaW5hdGVzIGluIG51bWJlciBvZiA2NCBieXRlIHRpbGVzICg0eDQpIHdpdGhp biB0aGUgMUsgdGlsZS4gKi8KKwl0NjRiX3ggPSAoeCAlIDE2KSAvIDQ7CisJdDY0Yl95ID0gKHkg JSAxNikgLyA0OworCisJLyogSW5jcmVhc2Ugb2Zmc2V0IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhl IGNvcnJlc3BvbmRpbmcgNjQgYnl0ZSB0aWxlLiAqLworCW9mZnNldCArPSB0NjRiX3kgKiA0ICog NCAqIDQgKyB0NjRiX3ggKiA0ICogNDsKKworCS8qIFggYW5kIFkgY29vcmRpbmF0ZXMgaW4gbnVt YmVyIG9mIHBpeGVscyB3aXRoaW4gdGhlIDY0IGJ5dGUgdGlsZS4gKi8KKwlwaXhfeCA9IHggJSA0 OworCXBpeF95ID0geSAlIDQ7CisKKwkvKiBJbmNyZWFzZSBvZmZzZXQgdG8gdGhlIGNvcnJlY3Qg cGl4ZWwuICovCisJb2Zmc2V0ICs9IHBpeF95ICogNCArIHBpeF94OworCisJLyogTXVsdGlwbHkg YnkgdGhlIG51bWJlciBvZiBieXRlcyBwZXIgcGl4ZWwgZm9yIHRoZSBmb3JtYXQuICovCisJb2Zm c2V0ICo9IDQ7CisKKwlyZXR1cm4gb2Zmc2V0OworfQpkaWZmIC0tZ2l0IGEvbGliL2lndF92YzQu aCBiL2xpYi9pZ3RfdmM0LmgKaW5kZXggZWJjOGEzODgxYjVlLi5hYjQ0Zjc3MWQwMjMgMTAwNjQ0 Ci0tLSBhL2xpYi9pZ3RfdmM0LmgKKysrIGIvbGliL2lndF92YzQuaApAQCAtMzMsNCArMzMsOCBA QCBib29sIGlndF92YzRfcHVyZ2VhYmxlX2JvKGludCBmZCwgaW50IGhhbmRsZSwgYm9vbCBwdXJn ZWFibGUpOwogdm9pZCBpZ3RfdmM0X3NldF90aWxpbmcoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUs IHVpbnQ2NF90IG1vZGlmaWVyKTsKIHVpbnQ2NF90IGlndF92YzRfZ2V0X3RpbGluZyhpbnQgZmQs IHVpbnQzMl90IGhhbmRsZSk7CiAKK3Vuc2lnbmVkIGludCBpZ3RfdmM0X2ZiX3RfdGlsZWRfY29u dmVydChzdHJ1Y3QgaWd0X2ZiICpkc3QsIHN0cnVjdCBpZ3RfZmIgKnNyYyk7CitzaXplX3QgaWd0 X3ZjNF90X3RpbGVkX29mZnNldChzaXplX3Qgd2lkdGgsIHNpemVfdCBoZWlnaHQsIHNpemVfdCBm b3JtYXQsCisJCQkgICAgICBzaXplX3QgeCwgc2l6ZV90IHkpOworCiAjZW5kaWYgLyogSUdUX1ZD NF9IICovCi0tIAoyLjE5LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRl dgo=