From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Szyprowski Subject: Re: [RFC] handling of alpha mode (pre-multiplied/straight) in ARGB modes Date: Wed, 13 Jan 2016 15:13:35 +0100 Message-ID: <56965B8F.4010701@samsung.com> References: <5693B9C4.2040209@samsung.com> <20160111150749.GY8076@phenom.ffwll.local> <20160111152221.GB23290@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2DB536E7AE for ; Wed, 13 Jan 2016 06:13:40 -0800 (PST) Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout1.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0O0W00BR7A6PF2B0@mailout1.w1.samsung.com> for dri-devel@lists.freedesktop.org; Wed, 13 Jan 2016 14:13:37 +0000 (GMT) In-reply-to: <20160111152221.GB23290@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , Daniel Vetter Cc: DRI mailing list , Bartlomiej Zolnierkiewicz List-Id: dri-devel@lists.freedesktop.org SGVsbG8sCgpPbiAyMDE2LTAxLTExIDE2OjIyLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gT24g TW9uLCBKYW4gMTEsIDIwMTYgYXQgMDQ6MDc6NTBQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3cm90 ZToKPj4gT24gTW9uLCBKYW4gMTEsIDIwMTYgYXQgMDM6MTg6NDRQTSArMDEwMCwgTWFyZWsgU3p5 cHJvd3NraSB3cm90ZToKPj4+IERlYXIgQWxsLAo+Pj4KPj4+IEkgd291bGQgbGlrZSB0byBhZGQg c3VwcG9ydCBmb3IgY29uZmlndXJpbmcgYWxwaGEgbW9kZXM6IHN0cmFpZ2h0IGFuZAo+Pj4gcHJl LW11bHRpcGxpZWQgZm9yIGJsZW5kaW5nIHRvIEV4eW5vcyBEUk0gZHJpdmVyLiBGb3IgdGhvc2Ug d2hvIHNlZSB0aG9zZQo+Pj4gdGVybXMgZm9yIHRoZSBmaXJzdCB0aW1lOgo+Pj4gMS4gc3RyYWln aHQgYWxwaGEgbW9kZSBtZWFucyBtZWFucyB0aGF0IGFsbCBBIGFuZCBSR0IgdmFsdWVzIGFyZSBm cm9tIGZ1bGwKPj4+IDAuMjU1IHJhbmdlLAo+Pj4gMi4gcHJlLW11bHRpcGxpZWQgYWxwaGEgbW9k ZSBtZWFucyB0aGF0IEEgaXMgZnJvbSAwLi4yNTUgcmFuZ2UgYW5kIFJHQgo+Pj4gdmFsdWVzIGFy ZSBzY2FsZWQgdG8gMC4uQUxQSEEgcmFuZ2UgKHdoZXJlIEFMUEhBIGlzIHRoZSBBIHZhbHVlIGZv ciB0aGUKPj4+IGdpdmVuIHBpeGVsKS4KPj4+IFRoZSBwcmUtbXVsdGlwbGllZCBtb2RlIGlzIHF1 aXRlIGNvbW1vbiBpbiB0ZXh0dXJlIHByb2Nlc3NpbmcuCj4+Pgo+Pj4gSSBkaWQgYSBsaXR0bGUg cmVzZWFyY2ggYW5kIGZvdW5kIHRoYXQgdGhlcmUgaXMgbm8gY29tbW9uIGFwcHJvYWNoIGZvcgo+ Pj4gZGVmaW5pbmcgc3RyYWlnaHQgb3IgcHJlLW11bHRpcGxpZWQgYWxwaGEgbW9kZXMgZm9yIEFS R0IgZnJhbWVidWZmZXJzLgo+Pj4KPj4+ID5Gcm9tIHJlYWRpbmcgdGhlIHNvdXJjZXMgYW5kIHRo ZSByZWdpc3RlciBuYW1lcyBJIGZvdW5kIHRoYXQgZm9sbG93aW5nCj4+PiBkcml2ZXJzIHVzZSBw cmUtbXVsdGlwbGllZCBtb2RlcyBmb3IgQVJHQiBmcmFtZWJ1ZmZlcnM6Cj4+PiByYWRlb24gKGF0 IGxlYXN0IGZvciBBUkdCIGN1cnNvcnMpLAo+Pj4gYW1kZ3B1IChjdXJzb3IpLAo+Pj4gaW50ZWwg KGFsbCBBUkdCIHBsYW5lcyksCj4+PiByb2NrIGNoaXAuCj4+Pgo+Pj4gT24gdGhlIG90aGVyIGhh bmQsIHRoZXJlIGFyZSBkcm0gZHJpdmVycyB3aGljaCBzdXBwb3J0IEFSR0IgbW9kZXMgYW5kIHVz ZQo+Pj4gc3RyYWlnaHQgYWxwaGEgbW9kZXM6Cj4+PiBvbWFwLAo+Pj4gbXNtLgo+Pj4KPj4+IEZv ciB0aGUgcmVzdCBvZiBkcml2ZXJzLCB3aGljaCBtaWdodCBkZWFsIHdpdGggcGVyLXBpeGVsIGFs cGhhLCBJIHdhcyBub3QKPj4+IGFibGUgdG8gZGV0ZXJtaW5lIGZyb20gdGhlIGNvZGUgaWYgdGhl IHBpeGVsIFJHQiB2YWx1ZXMgYXJlIGludGVycHJldGVkIGFzCj4+PiBwZXItbXVsdGlwbGllZCBv ciBzdHJhaWdodDoKPj4+IGF0bWVsX2hsY2RjLAo+Pj4gc3RpLAo+Pj4gbWRwNSwKPj4+IHNobW9i aWxlLAo+Pj4gcmNhciwKPj4+IHZjNCwKPj4+IGlteC4KPj4gSW1vIGluIGNhc2Ugb2YgZG91YnQv bWl4ZWQgZGVmaW5pdGlvbnMgdGhlIHNlbWFudGljcyBvZiB0aGUgYmlnIGRlc2t0b3AKPj4gZHJp dmVycyBzaG91bGQgd2luLiBUcnVlIGdlbmVyaWMgdXNlcnNwYWNlIGlzIG1vc3QgbGlrZWx5IGRl dmVsb3BlZCBvbgo+PiB0aG9zZSwgZXZlcnl0aGluZyBlbHNlIHNob3VsZCBqdXN0IGFkanVzdC4g QW5kIGluIG1vc3QgY2FzZXMgd2UgY2FuIGdldAo+PiBhd2F5IHdpdGggdGhhdCBvbiBhcm0gZHJp dmVycyBzaW5jZSB0aGV5IHRlbmQgdG8gc2hpcCB1c2Vyc3BhY2UgYW5kIGtlcm5lbAo+PiBpbiBs b2Nrc3RlcC4gQXQgbGVhc3Qgd2hlcmUgaXQgcmVhbGx5IG1hdHRlcnMuCj4+Cj4+PiBFeHlub3Mg RFJNIGRyaXZlciBub3cgbWl4ZXMgcHJlLW11bHRpcGxpZWQgYW5kIHN0cmFpZ2h0IG1vZGVzLCBk ZXBlbmRpbmcgb24KPj4+IHRoZSBDUlRDIHN1Yi1kcml2ZXIuCj4+Pgo+Pj4gV2hpbGUgY2hlY2tp bmcgdGhlIGNvZGUgSSBmb3VuZCBhIGZvbGxvd2luZyBjb21tZW50IGluCj4+PiBkcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgaW4gc2tsX3BsYW5lX2N0bF9mb3JtYXQoKSBmdW5jdGlvbjoKPj4+IC8q Cj4+PiAgICogWFhYOiBGb3IgQVJCRy9BQkdSIGZvcm1hdHMgd2UgZGVmYXVsdCB0byBleHBlY3Rp bmcgc2Nhbm91dCBidWZmZXJzCj4+PiAgICogdG8gYmUgYWxyZWFkeSBwcmUtbXVsdGlwbGllZC4g V2UgbmVlZCB0byBhZGQgYSBrbm9iIChvciBhIGRpZmZlcmVudAo+Pj4gICAqIERSTV9GT1JNQVQp IGZvciB1c2VyLXNwYWNlIHRvIGNvbmZpZ3VyZSB0aGF0Lgo+Pj4gICAqLwo+Pj4KPj4+IFRoZSBx dWVzdGlvbiBpcyBob3cgdG8gY2xlYW51cCB0aGlzIGFtYmlndWl0aWVzIGFuZCBsZXQgZ2VuZXJp YyB1c2Vyc3BhY2UgdG8KPj4+IHByb3Blcmx5IHVzZSBBUkdCL0FSR0IgbW9kZXMgd2l0aCBwcm9w ZXIgYmxlbmRpbmcgbW9kZS4gSSBjYW1lIHVwIHdpdGggdGhlCj4+PiBmb2xsb3dpbmcgMyBzb2x1 dGlvbnM6Cj4+Pgo+Pj4gMS4gRGVmaW5lIG5ldyBmb3VyY2MgdmFsdWVzIGZvciBwcmUtbXVsdGlw bGllZCAob3IvYW5kIHN0cmFpZ2h0KSBhbHBoYQo+Pj4gbW9kZXMsCj4+PiAyLiBJbnRyb2R1Y2Ug YSBuZXcgZnJhbWVidWZmZXIgZmxhZyBmb3IgcHJlLW11bHRpcGxpZWQgb3Igc3RyYWlnaHQgYWxw aGEgKG9yCj4+PiBib3RoKSwKPj4+IDMuIEludHJvZHVjZSBhIG5ldyBwbGFuZSBwcm9wZXJ0eSBm b3IgY29udHJvbGxpbmcgYWxwaGEgYmxlbmRpbmcgbW9kZS4KPj4+Cj4+PiBUaGUgZmlyc3Qgc29s dXRpb24gaGFzIHNlcmlvdXMgY29tcGF0aWJpbGl0eSBwcm9ibGVtLCBiZWNhdXNlIHdlIGNhbiBl aXRoZXIKPj4+IG1hcCBleGlzdGluZyBmb3VyY2MgdG8gcHJlLW11bHRpcGxpZWQgKHRvIGZvbGxv dyByYWRlb24vYW1kZ3B1LCBpbnRlbCBhbmQKPj4+IHJvY2tjaGlwIGJlaGF2aW9yKSBvciBzdHJh aWdodCBtb2RlLiBCb3RoIHdheXMgaXQgd2lsbCBicmVhayBzb21lIGV4aXN0aW5nCj4+PiBhcHBs aWNhdGlvbnMuIFRvIGF2b2lkIGNvbXBhdGliaWxpdHkgcHJvYmxlbSB3ZSB3b3VsZCBuZWVkIHRv IGFkZCAyIG1vcmUKPj4+IHNldHMgb2YgZm91cmNjIGFuZCBsZWF2ZSBleGlzdGluZyBBUkdCIG1v ZGVzIGFzICdkcml2ZXIgZGVwZW5kZW50Jy4KPj4+Cj4+PiBUaGUgc2Vjb25kIHNvbHV0aW9uIGlz IHByb2JhYmx5IGEgYml0IGxlc3MgaW50cnVzaXZlLCBidXQgaXQgc3VmZmVycyBmb3IgdGhlCj4+ PiBzaW1pbGFyIGNvbXBhdGliaWxpdHkgcHJvYmxlbS4gVG8gbWFrZSB0aGlzIGZlYXR1cmUgY29t cGF0aWJsZSB3aXRoIGV4aXN0aW5nCj4+PiBjb2RlLCBwcm9iYWJseSAyIGZsYWdzIHdpbGwgYmUg bmVlZGVkOiBEUk1fTU9ERV9GQl9BTFBIQV9GT1JDRV9QUkVNVUxUSVBMSUVECj4+PiBhbmQgRFJN X01PREVfRkJfQUxQSEFfRk9SQ0VfU1RSQUlHSFQuIFRoaXMgd2F5IHdoZW4gdXNlcnNwYWNlIHBy b3ZpZGVzIG5vCj4+PiBmbGFnLCB0aGUgZHJpdmVyIGNhbiB1c2UgaXRzIGRlZmF1bHQgbW9kZS4K Pj4+Cj4+PiBUaGlyZCBzb2x1dGlvbiAoYWRkaXRpb25hbCBwbGFuZSBwcm9wZXJ0eSkgaGFzIGJl ZW4gYWxyZWFkeSBwcm9wb3NlZDoKPj4+IGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE1LzYvMTkv MzMwLCBob3dldmVyIEkgZm91bmQgbm8gZm9sbG93LXVwIG5vcgo+Pj4gY29tbWVudHMuIFNlcGFy YXRlIHByb3BlcnR5IGxldHMgYXQgbGVhc3QgZHJpdmVycyB0byBub3RpZnkgdXNlcnNwYWNlIGFi b3V0Cj4+PiBkcml2ZXIncyBkZWZhdWx0IGFscGhhIG1vZGUgYW5kIGxldHMgZ2VuZXJpYyBhcHBs aWNhdGlvbiB0byBwcm9wZXJseSBzZXQgdGhlCj4+PiByZXF1ZXN0ZWQgbW9kZS4gVGhlIG9ubHkg cHJvYmxlbSBpcyB0aGF0IHRoZSBhbHBoYSBtb2RlIGlzIG5vdCBkaXJlY3RseQo+Pj4gY29uZmln dXJlZCBvbiB0aGUgZnJhbWVidWZmZXIgb2JqZWN0LCB3aGVyZSBpbiBteSBvcGluaW9uIGl0IHNo b3VsZCBiZQo+Pj4gc3RvcmVkLgo+Pj4KPj4+IFBsZWFzZSBsZXQgbWUga25vdyB3aGljaCBhcHBy b2FjaCBZb3UgbGlrZSBiZXN0IGFuZCB3aGljaCBzaG91bGQgSSB0YWtlIGZvcgo+Pj4gaW50cm9k dWNpbmcgZ2VuZXJpYyB3YXkgb2YgY29uZmlndXJpbmcgYWxwaGEgbW9kZS4KPj4gT25lIGlkZWEg dGhhdCB3YXMgdG9zc2VkIGFyb3VuZCBhIGZldyB0aW1lcyBpcyB0byBnbyBmdWxsIGdlbmVyaWMg YW5kCj4+IGltcGxlbWVudCBzb21ldGhpbmcgbGlrZSBnbEJsZW5kRnVuYyBmb3IgcGxhbmVzLCBl eGNlcHQgdGhhdCB3ZSdkIGFsc28KPj4gcHJlLW11bHRpcGxpZWQvc3RyYWlnaHQgdmVyc2lvbnMg d2hlcmUgaXQgbWFrZXMgc2Vuc2UuIEZvciBkcml2ZXJzIHRoYXQKPj4gY2FuJ3Qgc3VwcG9ydCBw cmUtbXVsdGlwbGllZCBhbHBoYSB0aGV5IGNvdWxkIHNpbXBseSBsZWF2ZSBvdXQgdGhlc2UKPj4g dmFsdWVzIGZyb20gdGhlIGJsZW5kLWZ1bmMgcHJvcGVydHkgKGxpa2Ugd2UgYWxyZWFkeSBhbGxv dyB3aXRoIGUuZy4KPj4gcm90YXRpb24sIHdoZW4gYSBkcml2ZXIgY2FuJ3QgZG8gOTAvMjcwwrAp Lgo+Pgo+PiBXcnQgYmFja3dhcmRzIGNvbXBhdCBhIHByb3BlcnR5IHdvdWxkIHdvcmsgd2VsbCB0 b286IElmIGl0J3Mgbm90IHRoZXJlCj4+IHRoZW4gdXNlcnNwYWNlIHNob3VsZCBhc3N1bWUgb2xk IGJlaGF2aW91ciAod2hpY2ggc2hvdWxkIGJlIHByZS1tdWx0aXBsaWVkCj4+IHJlYWxseSwgYnV0 IG1pZ2h0IGJlIHNvbWV3aGF0IGJyb2tlbiBvbiBzb21lIGRyaXZlcnMva2VybmVsKS4KPj4KPj4g RGFtaWVuIGhhZCBzb21lIFJGQyBhYm91dCBhbGwgdGhpcyB3YXkgYmFjaywgYnV0IGNhbid0IGZp bmQgaXQgcmlnaHQgbm93Lgo+IEkgcmVtZW1iZSBoZSBzYWlkIGhlIHdhbnRlZCB0byB3b3JrIG9u IGl0LCBidXQgSSBkb24ndCByZW1lbWJlciBzZWVpbmcKPiBhbnl0aGluZyBjb21lIG91dCBvZiB0 aGF0LiBJIGd1ZXNzIGhlIGdvdCBzd2FsbG93ZWQgYnkgcGF0Y2h3b3JrLCBvciBJCj4ganVzdCBt aXNzZWQgdGhlIHBhdGNoLgo+Cj4gVGhpcyBtYWlsIG1pZ2h0IGluY2x1ZGUgc29tZSBvZiBteSBt b3JlIHJlY2VudCB0aG91Z2h0cyBvbiB0aGlzIG1hdHRlcgo+IGh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvYXJjaGl2ZXMvaW50ZWwtZ2Z4LzIwMTQtQXByaWwvMDQyOTU2Lmh0bWwKCkkgYWxz byBmb3VuZCB0aGlzIHBhdGNoOiBodHRwOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRj aC8yMzAwMC8KCkhvd2V2ZXIgSSBzdGlsbCBkb24ndCBnZXQgYSBjb21wbGV0ZSBwaWN0dXJlIGhv dyBpdCB3b3VsZCB3b3JrLiBJZiBJIGdvdCBpdApyaWdodCwgdGhlIHJlYWwgYmxlbmRpbmcgZnVu Y3Rpb24gaXMgZGVmaW5lZCBieSBhIHBhaXIgb2YgdGhlIHZhbHVlcyAKZnJvbSB0aGUKcHJvcG9z ZWQgZW51bXMsIHdoZXJlIG9uZSBhcHBsaWVzIHRvIHRoZSBiYWNrZ3JvdW5kICh0aGUgYmxlbmRp bmcgcmVzdWx0IG9mCmRlZXBlciBwbGFuZXMpIGFuZCB0aGUgc2Vjb25kIGFwcGxpZXMgdG8gdGhl IHByb2Nlc3NlZCBwbGFuZS4gU29tZQpjb21iaW5hdGlvbnMgb2YgdGhlIHByb3Bvc2VkIGVudW1z IGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlIChhbmQgZXNwZWNpYWxseQpjaGFuZ2luZyB0aGUgY29u c3RhbnQgemVybyBhbmQgb25lIG1lYW5zIHNpbXBseSBjaGFuZ2luZyB0aGUgb3JkZXIgb2YgdGhl CnBsYW5lcyksIHNvIEkgd29uZGVyIGlmIGl0IG1pZ2h0IGJlIGVhc2llciB0byBzaW1wbHkgY3Jl YXRlIGFuIGVudW0gd2l0aAphbGwgc2FuZSB2YWx1ZXMgZm9yIGJsZW5kaW5nIGFuZCBkb2N1bWVu dCBpdCByZWFsbHkgd2VsbD8gVGhpcyB3YXkgZHJpdmVycwp3aWxsIHNpbXBseSBpbml0aWFsaXpl IG9ubHkgdGhlIHN1cHBvcnRlZCBibGVuZGluZyBtb2Rlcy4KCkkgYXNzdW1lIHRoYXQgdGhpcyB3 YXkgYWxzbyB0aGUgc2VwYXJhdGUgZW51bXMgY2FuIGJlIGRlZmluZWQgZm9yIHN0cmFpZ2h0CmFu ZCBwcmUtbXVsdGlwbGllZCBhbHBoYSBibGVuZGluZyBtb2Rlcy4KClRoZSBvdGhlciBwcm9ibGVt IG1lbnRpb25lZCBzb21ld2hlcmUgaXMgd2hlcmUgdG8gYXR0YWNoIHRoZSBibGVuZGluZwpwcm9w ZXJ0eS4gU29tZSBwYXJhbWV0ZXJzIChsaWtlIHN0cmFpZ2h0L3ByZS1tdWx0aXBsaWVkIG9yIGVu YWJsaW5nIGdsb2JhbAphbHBoYSkgY2FuIGJlIHNldCBvbiBwZXItcGxhbmUgYmFzaXMsIGJ1dCBJ IGNhbiBpbWFnaW5lIHRoYXQgc29tZSBwYXJhbWV0ZXJzCmFyZSBnbG9iYWwgZm9yIHRoZSBnaXZl biBjcnRjLgoKVGhlIGFub3RoZXIgaXRlbSByZWxhdGVkIHRvIGJsZW5kaW5nIGlzIGNvbG9yIGtl eWluZy4gSXQgd2FzIG5vdCBtZW50aW9uZWQKaW4gdGhlIGFib3ZlIHByb3Bvc2FsIGF0IGFsbCwg YnV0IHNvbWUgaGFyZHdhcmUgY2FuIGRvIHRoYXQuIEkndmUgbm90aWNlZAp0aGF0IHNvbWUgaGFy ZHdhcmUgYWxzbyBpcyBhYmxlIHRvIGRvIGNvbG9yIGtleWluZyBvbmx5IGZvciBleGFjdCBSR0Io QSkKdmFsdWVzIGFuZCBzb21lIGhhdmUgc2VwYXJhdGUgcmVnaXN0ZXJzIHRvIHNldCBSR0IgdG9s ZXJhbmNlLiBUaGlzIGFsc28KbmVlZCB0byBiZSBzdGFuZGFyZGl6ZWQgc29tZWhvdy4KCkJlc3Qg cmVnYXJkcwotLSAKTWFyZWsgU3p5cHJvd3NraSwgUGhEClNhbXN1bmcgUiZEIEluc3RpdHV0ZSBQ b2xhbmQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==