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 580666ED20 for ; Tue, 22 Jan 2019 16:07:39 +0000 (UTC) Message-ID: <4664621af771f82e98afb701b9dbf1d8aa2b1271.camel@bootlin.com> From: Paul Kocialkowski Date: Tue, 22 Jan 2019 17:07:27 +0100 In-Reply-To: <82f5e96fbf0fe65496ffdd934f09403ce3ce8f91.camel@redhat.com> References: <20190111090532.19235-1-paul.kocialkowski@bootlin.com> <20190111090532.19235-10-paul.kocialkowski@bootlin.com> <82f5e96fbf0fe65496ffdd934f09403ce3ce8f91.camel@redhat.com> Mime-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v3 09/21] lib/igt_vc4: Add helpers for converting linear to T-tiled RGB 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: Lyude Paul , igt-dev@lists.freedesktop.org Cc: Petri Latvala , Eben Upton , Thomas Petazzoni List-ID: SGkgYW5kIHRoYW5rcyBmb3IgdGhlIHJldmlldywKCk9uIFR1ZSwgMjAxOS0wMS0xNSBhdCAxNjoy MCAtMDUwMCwgTHl1ZGUgUGF1bCB3cm90ZToKPiBPbiBGcmksIDIwMTktMDEtMTEgYXQgMTA6MDUg KzAxMDAsIFBhdWwgS29jaWFsa293c2tpIHdyb3RlOgo+ID4gSW4gb3JkZXIgdG8gaW50ZWdyYXRl IHRlc3Rpbmcgb2YgVC10aWxlZCBidWZmZXJzLCB0aGUgZWFzaWVzdCBwYXRoIGlzIHRvCj4gPiBn ZW5lcmF0ZSBwYXR0ZXJucyAod2l0aCB0aGUgYWxyZWFkeS1leGlzdGluZyBmdW5jdGlvbnMpIGlu IGxpbmVhcgo+ID4gYnVmZmVycyBhbmQgY29udmVydCB0aGVtIHRvIFQtdGlsZWQgc3Vic2VxdWVu dGx5Lgo+ID4gCj4gPiBBZGQgaGVscGVycyB0byBkbyB0aGF0IGNvbnZlcnNpb24sIHdpdGggYSBm aXJzdCBoZWxwZXIgdGhhdCByZXR1cm5zIHRoZQo+ID4gbWVtb3J5IG9mZnNldCBmb3IgYSBnaXZl biBwb3NpdGlvbiBpbiBhIFQtdGlsZWQgYnVmZmVyIGFuZCBhIHNlY29uZAo+ID4gaGVscGVyIHRo YXQgdXNlcyBpdCBmb3IgY29udmVydGluZyBiZXR3ZWVuIGZyYW1lYnVmZmVycy4KPiA+IAo+ID4g U2lnbmVkLW9mZi1ieTogUGF1bCBLb2NpYWxrb3dza2kgPHBhdWwua29jaWFsa293c2tpQGJvb3Rs aW4uY29tPgo+ID4gLS0tCj4gPiAgbGliL2lndF92YzQuYyB8IDEzMSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIGxpYi9pZ3RfdmM0LmggfCAg IDQgKysKPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDEzNSBpbnNlcnRpb25zKCspCj4gPiAKPiA+IGRp ZmYgLS1naXQgYS9saWIvaWd0X3ZjNC5jIGIvbGliL2lndF92YzQuYwo+ID4gaW5kZXggMTZkZmU2 N2E0NGIxLi5iNGI5YzJmYzY5MTQgMTAwNjQ0Cj4gPiAtLS0gYS9saWIvaWd0X3ZjNC5jCj4gPiAr KysgYi9saWIvaWd0X3ZjNC5jCj4gPiBAQCAtMzQsNiArMzQsNyBAQAo+ID4gICNpbmNsdWRlICJk cm10ZXN0LmgiCj4gPiAgI2luY2x1ZGUgImlndF9hdXguaCIKPiA+ICAjaW5jbHVkZSAiaWd0X2Nv cmUuaCIKPiA+ICsjaW5jbHVkZSAiaWd0X2ZiLmgiCj4gPiAgI2luY2x1ZGUgImlndF92YzQuaCIK PiA+ICAjaW5jbHVkZSAiaW9jdGxfd3JhcHBlcnMuaCIKPiA+ICAjaW5jbHVkZSAiaW50ZWxfcmVn LmgiCj4gPiBAQCAtMTc2LDMgKzE3NywxMzMgQEAgYm9vbCBpZ3RfdmM0X3B1cmdlYWJsZV9ibyhp bnQgZmQsIGludCBoYW5kbGUsIGJvb2wKPiA+IHB1cmdlYWJsZSkKPiA+ICAKPiA+ICAJcmV0dXJu IGFyZy5yZXRhaW5lZDsKPiA+ICB9Cj4gPiArCj4gPiArdW5zaWduZWQgaW50IGlndF92YzRfZmJf dF90aWxlZF9jb252ZXJ0KHN0cnVjdCBpZ3RfZmIgKmRzdCwgc3RydWN0IGlndF9mYgo+ID4gKnNy YykKPiA+ICt7Cj4gPiArCXVuc2lnbmVkIGludCBmYl9pZDsKPiA+ICsJdW5zaWduZWQgaW50IGks IGo7Cj4gPiArCXZvaWQgKnNyY19idWY7Cj4gPiArCXZvaWQgKmRzdF9idWY7Cj4gPiArCXNpemVf dCBicHAgPSBzcmMtPnBsYW5lX2JwcFswXTsKPiA+ICsJc2l6ZV90IGRzdF9zdHJpZGUgPSBBTElH TihzcmMtPnN0cmlkZXNbMF0sIDEyOCk7Cj4gPiArCj4gPiArCWZiX2lkID0gaWd0X2NyZWF0ZV9m Yl93aXRoX2JvX3NpemUoc3JjLT5mZCwgc3JjLT53aWR0aCwgc3JjLT5oZWlnaHQsCj4gPiArCQkJ CQkgICBzcmMtPmRybV9mb3JtYXQsCj4gPiArCQkJCQkgICBEUk1fRk9STUFUX01PRF9CUk9BRENP TV9WQzRfVF9USUxFRAo+ID4gLAo+ID4gKwkJCQkJICAgZHN0LCAwLCBkc3Rfc3RyaWRlKTsKPiA+ ICsJaWd0X2Fzc2VydChmYl9pZCA+IDApOwo+ID4gKwo+ID4gKwlzcmNfYnVmID0gaWd0X2ZiX21h cF9idWZmZXIoc3JjLT5mZCwgc3JjKTsKPiA+ICsJaWd0X2Fzc2VydChzcmNfYnVmKTsKPiA+ICsK PiA+ICsJZHN0X2J1ZiA9IGlndF9mYl9tYXBfYnVmZmVyKGRzdC0+ZmQsIGRzdCk7Cj4gPiArCWln dF9hc3NlcnQoZHN0X2J1Zik7Cj4gPiArCj4gPiArCWZvciAoaSA9IDA7IGkgPCBzcmMtPmhlaWdo dDsgaSsrKSB7Cj4gPiArCQlmb3IgKGogPSAwOyBqIDwgc3JjLT53aWR0aDsgaisrKSB7Cj4gPiAr CQkJc2l6ZV90IHNyY19vZmZzZXQgPSBzcmMtPm9mZnNldHNbMF07Cj4gPiArCQkJc2l6ZV90IGRz dF9vZmZzZXQgPSBkc3QtPm9mZnNldHNbMF07Cj4gPiArCj4gPiArCQkJc3JjX29mZnNldCArPSBz cmMtPnN0cmlkZXNbMF0gKiBpICsgaiAqIGJwcCAvIDg7Cj4gPiArCQkJZHN0X29mZnNldCArPSBp Z3RfdmM0X3RfdGlsZWRfb2Zmc2V0KGRzdF9zdHJpZGUsCj4gPiArCQkJCQkJCSAgICAgc3JjLT5o ZWlnaHQsCj4gPiArCQkJCQkJCSAgICAgYnBwLCBqLCBpKTsKPiA+ICsKPiA+ICsJCQlzd2l0Y2gg KGJwcCkgewo+ID4gKwkJCWNhc2UgMTY6Cj4gPiArCQkJCSoodWludDE2X3QgKikoZHN0X2J1ZiAr IGRzdF9vZmZzZXQpID0KPiA+ICsJCQkJCSoodWludDE2X3QgKikoc3JjX2J1ZiArIHNyY19vZmZz ZXQpOwo+ID4gKwkJCQlicmVhazsKPiA+ICsJCQljYXNlIDMyOgo+ID4gKwkJCQkqKHVpbnQzMl90 ICopKGRzdF9idWYgKyBkc3Rfb2Zmc2V0KSA9Cj4gPiArCQkJCQkqKHVpbnQzMl90ICopKHNyY19i dWYgKyBzcmNfb2Zmc2V0KTsKPiA+ICsJCQkJYnJlYWs7Cj4gPiArCQkJZGVmYXVsdDoKPiBNYXli ZSB3ZSBzaG91bGQgYWxzbyBoYXZlIHRoZSB0d28gaWd0X2ZiX3VubWFwX2J1ZmZlcigpIGNhbGxz IGJlbG93IHRoaXMgZ2V0Cj4gaW52b2tlZCBiZWZvcmUgY2FsbGluZyBpZ3RfYXNzZXJ0KGZhbHNl KSBzbyB3ZSBkb24ndCBsZWFrIEZCcyBpZiB0aGlzIGZhaWxzCgpJZiB0aGF0J3MgZmluZSB3aXRo IHlvdSwgSSdkIHJhdGhlciBoYXZlIGFuIGlndF9hc3NlcnQoYnBwID09IDE2IHx8IGJwcAo9PSAz MikgZWFybGllciBzbyB3ZSBkb24ndCByZWFjaCBtYXBwaW5nIHRoZSBidWZmZXJzIGlmIHRoZSBj b25kaXRpb24KY2Fubm90IGJlIGd1YXJhbnRlZWQuCgpDaGVlcnMhCgpQYXVsCgo+IFdpdGggdGhh dCBmaXhlZDoKPiAKPiBBY2tlZC1ieTogTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KPiA+ ICsJCQkJaWd0X2Fzc2VydChmYWxzZSk7Cj4gPiArCQkJfQo+ID4gKwkJfQo+ID4gKwl9Cj4gPiAr Cj4gPiArCWlndF9mYl91bm1hcF9idWZmZXIoc3JjLCBzcmNfYnVmKTsKPiA+ICsJaWd0X2ZiX3Vu bWFwX2J1ZmZlcihkc3QsIGRzdF9idWYpOwo+ID4gKwo+ID4gKwlyZXR1cm4gZmJfaWQ7Cj4gPiAr fQo+ID4gKwo+ID4gKy8qIENhbGN1bGF0ZSB0aGUgdC10aWxlIHdpZHRoIHNvIHRoYXQgc2l6ZSA9 IHdpZHRoICogaGVpZ2h0ICogYnBwIC8gOC4gKi8KPiA+ICsjZGVmaW5lIFZDNF9UX1RJTEVfVyhz aXplLCBoZWlnaHQsIGJwcCkgKChzaXplKSAvIChoZWlnaHQpIC8gKChicHApIC8gOCkpCj4gPiAr Cj4gPiArc2l6ZV90IGlndF92YzRfdF90aWxlZF9vZmZzZXQoc2l6ZV90IHN0cmlkZSwgc2l6ZV90 IGhlaWdodCwgc2l6ZV90IGJwcCwKPiA+ICsJCQkgICAgICBzaXplX3QgeCwgc2l6ZV90IHkpCj4g PiArewo+ID4gKwljb25zdCBzaXplX3QgdDFrX21hcF9ldmVuW10gPSB7IDAsIDMsIDEsIDIgfTsK PiA+ICsJY29uc3Qgc2l6ZV90IHQxa19tYXBfb2RkW10gPSB7IDIsIDEsIDMsIDAgfTsKPiA+ICsJ Y29uc3Qgc2l6ZV90IHQ0a190X2ggPSAzMjsKPiA+ICsJY29uc3Qgc2l6ZV90IHQxa190X2ggPSAx NjsKPiA+ICsJY29uc3Qgc2l6ZV90IHQ2NF90X2ggPSA0Owo+ID4gKwlzaXplX3Qgb2Zmc2V0ID0g MDsKPiA+ICsJc2l6ZV90IHQ0a190X3csIHQ0a193LCB0NGtfeCwgdDRrX3k7Cj4gPiArCXNpemVf dCB0MWtfdF93LCB0MWtfeCwgdDFrX3k7Cj4gPiArCXNpemVfdCB0NjRfdF93LCB0NjRfeCwgdDY0 X3k7Cj4gPiArCXNpemVfdCBwaXhfeCwgcGl4X3k7Cj4gPiArCXVuc2lnbmVkIGludCBpbmRleDsK PiA+ICsKPiA+ICsJLyogVC10aWxpbmcgaXMgb25seSBzdXBwb3J0ZWQgZm9yIDE2IGFuZCAzMiBi cHAuICovCj4gPiArCWlndF9hc3NlcnQoYnBwID09IDE2IHx8IGJwcCA9PSAzMik7Cj4gPiArCj4g PiArCS8qIFQtdGlsaW5nIHN0cmlkZSBtdXN0IGJlIGFsaWduZWQgdG8gdGhlIDRLIHRpbGVzIHN0 cmlkZXMuICovCj4gPiArCWlndF9hc3NlcnQoKHN0cmlkZSAlICg0MDk2IC8gdDRrX3RfaCkpID09 IDApOwo+ID4gKwo+ID4gKwkvKiBDYWxjdWxhdGUgdGhlIHRpbGUgd2lkdGggZm9yIHRoZSBicHAu ICovCj4gPiArCXQ0a190X3cgPSBWQzRfVF9USUxFX1coNDA5NiwgdDRrX3RfaCwgYnBwKTsKPiA+ ICsJdDFrX3RfdyA9IFZDNF9UX1RJTEVfVygxMDI0LCB0MWtfdF9oLCBicHApOwo+ID4gKwl0NjRf dF93ID0gVkM0X1RfVElMRV9XKDY0LCB0NjRfdF9oLCBicHApOwo+ID4gKwo+ID4gKwkvKiBBbGln bmVkIHRvdGFsIHdpZHRoIGluIG51bWJlciBvZiA0SyB0aWxlcy4gKi8KPiA+ICsJdDRrX3cgPSAo c3RyaWRlIC8gKGJwcCAvIDgpKSAvIHQ0a190X3c7Cj4gPiArCj4gPiArCS8qIFggYW5kIHkgY29v cmRpbmF0ZXMgaW4gbnVtYmVyIG9mIDRLIHRpbGVzLiAqLwo+ID4gKwl0NGtfeCA9IHggLyB0NGtf dF93Owo+ID4gKwl0NGtfeSA9IHkgLyB0NGtfdF9oOwo+ID4gKwo+ID4gKwkvKiBJbmNyZWFzZSBv ZmZzZXQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgNEsgdGlsZSByb3cuICovCj4gPiArCW9mZnNl dCArPSB0NGtfeSAqIHQ0a193ICogNDA5NjsKPiA+ICsKPiA+ICsJLyogWCBhbmQgWSBjb29yZGlu YXRlcyBpbiBudW1iZXIgb2YgMUsgdGlsZXMgd2l0aGluIHRoZSA0SyB0aWxlLiAqLwo+ID4gKwl0 MWtfeCA9ICh4ICUgdDRrX3RfdykgLyB0MWtfdF93Owo+ID4gKwl0MWtfeSA9ICh5ICUgdDRrX3Rf aCkgLyB0MWtfdF9oOwo+ID4gKwo+ID4gKwkvKiBJbmRleCBmb3IgMUsgdGlsZSBtYXAgbG9va3Vw LiAqLwo+ID4gKwlpbmRleCA9IDIgKiB0MWtfeSArIHQxa194Owo+ID4gKwo+ID4gKwkvKiBPZGQg cm93cyBzdGFydCBmcm9tIHRoZSByaWdodCwgZXZlbiByb3dzIGZyb20gdGhlIGxlZnQuICovCj4g PiArCWlmICh0NGtfeSAlIDIpIHsKPiA+ICsJCS8qIEluY3JlYXNlIG9mZnNldCB0byB0aGUgNEsg dGlsZSAoc3RhcnRpbmcgZnJvbSB0aGUgcmlnaHQpLgo+ID4gKi8KPiA+ICsJCW9mZnNldCArPSAo dDRrX3cgLSB0NGtfeCAtIDEpICogNDA5NjsKPiA+ICsKPiA+ICsJCS8qIEluY3Jhc2Ugb2Zmc2V0 IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIChvZGQpIDFLIHRpbGUuICovCj4gPiArCQlvZmZzZXQg Kz0gdDFrX21hcF9vZGRbaW5kZXhdICogMTAyNDsKPiA+ICsJfSBlbHNlIHsKPiA+ICsJCS8qIElu Y3JlYXNlIG9mZnNldCB0byB0aGUgNEsgdGlsZSAoc3RhcnRpbmcgZnJvbSB0aGUgbGVmdCkuICov Cj4gPiArCQlvZmZzZXQgKz0gdDRrX3ggKiA0MDk2Owo+ID4gKwo+ID4gKwkJLyogSW5jcmFzZSBv ZmZzZXQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgKGV2ZW4pIDFLIHRpbGUuICovCj4gPiArCQlv ZmZzZXQgKz0gdDFrX21hcF9ldmVuW2luZGV4XSAqIDEwMjQ7Cj4gPiArCX0KPiA+ICsKPiA+ICsJ LyogWCBhbmQgWSBjb29yZGluYXRlcyBpbiBudW1iZXIgb2YgNjQgYnl0ZSB0aWxlcyB3aXRoaW4g dGhlIDFLIHRpbGUuCj4gPiAqLwo+ID4gKwl0NjRfeCA9ICh4ICUgdDFrX3RfdykgLyB0NjRfdF93 Owo+ID4gKwl0NjRfeSA9ICh5ICUgdDFrX3RfaCkgLyB0NjRfdF9oOwo+ID4gKwo+ID4gKwkvKiBJ bmNyZWFzZSBvZmZzZXQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgNjQtYnl0ZSB0aWxlLiAqLwo+ ID4gKwlvZmZzZXQgKz0gKHQ2NF95ICogKHQxa190X3cgLyB0NjRfdF93KSArIHQ2NF94KSAqIDY0 Owo+ID4gKwo+ID4gKwkvKiBYIGFuZCBZIGNvb3JkaW5hdGVzIGluIG51bWJlciBvZiBwaXhlbHMg d2l0aGluIHRoZSA2NC1ieXRlIHRpbGUuICovCj4gPiArCXBpeF94ID0geCAlIHQ2NF90X3c7Cj4g PiArCXBpeF95ID0geSAlIHQ2NF90X2g7Cj4gPiArCj4gPiArCS8qIEluY3JlYXNlIG9mZnNldCB0 byB0aGUgY29ycmVjdCBwaXhlbC4gKi8KPiA+ICsJb2Zmc2V0ICs9IChwaXhfeSAqIHQ2NF90X3cg KyBwaXhfeCkgKiBicHAgLyA4Owo+ID4gKwo+ID4gKwlyZXR1cm4gb2Zmc2V0Owo+ID4gK30KPiA+ IGRpZmYgLS1naXQgYS9saWIvaWd0X3ZjNC5oIGIvbGliL2lndF92YzQuaAo+ID4gaW5kZXggZWJj OGEzODgxYjVlLi5kNWM1MjliYmNjZGEgMTAwNjQ0Cj4gPiAtLS0gYS9saWIvaWd0X3ZjNC5oCj4g PiArKysgYi9saWIvaWd0X3ZjNC5oCj4gPiBAQCAtMzMsNCArMzMsOCBAQCBib29sIGlndF92YzRf cHVyZ2VhYmxlX2JvKGludCBmZCwgaW50IGhhbmRsZSwgYm9vbAo+ID4gcHVyZ2VhYmxlKTsKPiA+ ICB2b2lkIGlndF92YzRfc2V0X3RpbGluZyhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgdWludDY0 X3QgbW9kaWZpZXIpOwo+ID4gIHVpbnQ2NF90IGlndF92YzRfZ2V0X3RpbGluZyhpbnQgZmQsIHVp bnQzMl90IGhhbmRsZSk7Cj4gPiAgCj4gPiArdW5zaWduZWQgaW50IGlndF92YzRfZmJfdF90aWxl ZF9jb252ZXJ0KHN0cnVjdCBpZ3RfZmIgKmRzdCwgc3RydWN0IGlndF9mYgo+ID4gKnNyYyk7Cj4g PiArc2l6ZV90IGlndF92YzRfdF90aWxlZF9vZmZzZXQoc2l6ZV90IHN0cmlkZSwgc2l6ZV90IGhl aWdodCwgc2l6ZV90IGJwcCwKPiA+ICsJCQkgICAgICBzaXplX3QgeCwgc2l6ZV90IHkpOwo+ID4g Kwo+ID4gICNlbmRpZiAvKiBJR1RfVkM0X0ggKi8KLS0gClBhdWwgS29jaWFsa293c2tpLCBCb290 bGluCkVtYmVkZGVkIExpbnV4IGFuZCBrZXJuZWwgZW5naW5lZXJpbmcKaHR0cHM6Ly9ib290bGlu LmNvbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0 LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==