From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Schake Subject: [PATCH v2] drm/vc4: Add support for plane alpha Date: Fri, 20 Apr 2018 17:09:54 -0700 Message-ID: <20180421000954.18936-1-stschake@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id EB6216E2AC for ; Sat, 21 Apr 2018 00:10:22 +0000 (UTC) Received: by mail-wr0-x244.google.com with SMTP id w3-v6so26896795wrg.2 for ; Fri, 20 Apr 2018 17:10:22 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: eric@anholt.net Cc: airlied@linux.ie, linux-rpi-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, Stefan Schake List-Id: dri-devel@lists.freedesktop.org VGhlIEhWUyBzdXBwb3J0cyBtaXhpbmcgZml4ZWQgYWxwaGEgd2l0aCBwZXItcGl4ZWwgYWxwaGEg b3IKc2V0dGluZyBhIGZpeGVkIHBsYW5lIGFscGhhIGluIGNhc2UgdGhlcmUgaXMgbm8gcGVyLXBp eGVsIGluZm9ybWF0aW9uLgpUaGlzIGFsbG93cyB1cyB0byBzdXBwb3J0IHRoZSBnZW5lcmljIERS TSBwbGFuZSBhbHBoYSBwcm9wZXJ0eS4KClNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBTY2hha2UgPHN0 c2NoYWtlQGdtYWlsLmNvbT4KLS0tCnYyOiBOb24tb3BhcXVlIHBsYW5lIGFscGhhIGNhbiB0cmln Z2VyIHRoZSBiYWNrZ3JvdW5kIGJsZW5kaW5nIGlzc3VlCglhbmQgd2UgbmVlZCB0byBoaW50IHRo ZSBDUlRDIHRoYXQgYmFja2dyb3VuZCBmaWxsIG1pZ2h0IGJlIHJlcXVpcmVkLgoKIGRyaXZlcnMv Z3B1L2RybS92YzQvdmM0X3BsYW5lLmMgfCAyMSArKysrKysrKysrKysrKysrKy0tLS0KIGRyaXZl cnMvZ3B1L2RybS92YzQvdmM0X3JlZ3MuaCAgfCAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDE4IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKaW5kZXgg YzNhMzdhOTllNjAxLi4zNDgzYzA1Y2MzZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYwpAQCAt MjAxLDYgKzIwMSw3IEBAIHN0YXRpYyB2b2lkIHZjNF9wbGFuZV9yZXNldChzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSkKIAkJcmV0dXJuOwogCiAJcGxhbmUtPnN0YXRlID0gJnZjNF9zdGF0ZS0+YmFz ZTsKKwlwbGFuZS0+c3RhdGUtPmFscGhhID0gRFJNX0JMRU5EX0FMUEhBX09QQVFVRTsKIAl2YzRf c3RhdGUtPmJhc2UucGxhbmUgPSBwbGFuZTsKIH0KIApAQCAtNDY3LDYgKzQ2OCw3IEBAIHN0YXRp YyBpbnQgdmM0X3BsYW5lX21vZGVfc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXUzMiBj dGwwX29mZnNldCA9IHZjNF9zdGF0ZS0+ZGxpc3RfY291bnQ7CiAJY29uc3Qgc3RydWN0IGh2c19m b3JtYXQgKmZvcm1hdCA9IHZjNF9nZXRfaHZzX2Zvcm1hdChmYi0+Zm9ybWF0LT5mb3JtYXQpOwog CWludCBudW1fcGxhbmVzID0gZHJtX2Zvcm1hdF9udW1fcGxhbmVzKGZvcm1hdC0+ZHJtKTsKKwli b29sIG1peF9wbGFuZV9hbHBoYTsKIAlib29sIGNvdmVyc19zY3JlZW47CiAJdTMyIHNjbDAsIHNj bDEsIHBpdGNoMDsKIAl1MzIgbGJtX3NpemUsIHRpbGluZzsKQEAgLTU1Miw3ICs1NTQsNyBAQCBz dGF0aWMgaW50IHZjNF9wbGFuZV9tb2RlX3NldChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkv KiBQb3NpdGlvbiBXb3JkIDA6IEltYWdlIFBvc2l0aW9ucyBhbmQgQWxwaGEgVmFsdWUgKi8KIAl2 YzRfc3RhdGUtPnBvczBfb2Zmc2V0ID0gdmM0X3N0YXRlLT5kbGlzdF9jb3VudDsKIAl2YzRfZGxp c3Rfd3JpdGUodmM0X3N0YXRlLAotCQkJVkM0X1NFVF9GSUVMRCgweGZmLCBTQ0FMRVJfUE9TMF9G SVhFRF9BTFBIQSkgfAorCQkJVkM0X1NFVF9GSUVMRChzdGF0ZS0+YWxwaGEgPj4gOCwgU0NBTEVS X1BPUzBfRklYRURfQUxQSEEpIHwKIAkJCVZDNF9TRVRfRklFTEQodmM0X3N0YXRlLT5jcnRjX3gs IFNDQUxFUl9QT1MwX1NUQVJUX1gpIHwKIAkJCVZDNF9TRVRfRklFTEQodmM0X3N0YXRlLT5jcnRj X3ksIFNDQUxFUl9QT1MwX1NUQVJUX1kpKTsKIApAQCAtNTY1LDYgKzU2NywxMyBAQCBzdGF0aWMg aW50IHZjNF9wbGFuZV9tb2RlX3NldChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCQkJICAg ICAgU0NBTEVSX1BPUzFfU0NMX0hFSUdIVCkpOwogCX0KIAorCS8qIERvbid0IHdhc3RlIGN5Y2xl cyBtaXhpbmcgd2l0aCBwbGFuZSBhbHBoYSBpZiB0aGUgc2V0IGFscGhhCisJICogaXMgb3BhcXVl IG9yIHRoZXJlIGlzIG5vIHBlci1waXhlbCBhbHBoYSBpbmZvcm1hdGlvbi4KKwkgKiBJbiBhbnkg Y2FzZSB3ZSB1c2UgdGhlIGFscGhhIHByb3BlcnR5IHZhbHVlIGFzIHRoZSBmaXhlZCBhbHBoYS4K KwkgKi8KKwltaXhfcGxhbmVfYWxwaGEgPSBzdGF0ZS0+YWxwaGEgIT0gRFJNX0JMRU5EX0FMUEhB X09QQVFVRSAmJgorCQkJICBmYi0+Zm9ybWF0LT5oYXNfYWxwaGE7CisKIAkvKiBQb3NpdGlvbiBX b3JkIDI6IFNvdXJjZSBJbWFnZSBTaXplLCBBbHBoYSAqLwogCXZjNF9zdGF0ZS0+cG9zMl9vZmZz ZXQgPSB2YzRfc3RhdGUtPmRsaXN0X2NvdW50OwogCXZjNF9kbGlzdF93cml0ZSh2YzRfc3RhdGUs CkBAIC01NzIsNiArNTgxLDcgQEAgc3RhdGljIGludCB2YzRfcGxhbmVfbW9kZV9zZXQoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkJICAgICAgU0NBTEVSX1BPUzJfQUxQSEFfTU9ERV9QSVBF TElORSA6CiAJCQkJICAgICAgU0NBTEVSX1BPUzJfQUxQSEFfTU9ERV9GSVhFRCwKIAkJCQkgICAg ICBTQ0FMRVJfUE9TMl9BTFBIQV9NT0RFKSB8CisJCQkobWl4X3BsYW5lX2FscGhhID8gU0NBTEVS X1BPUzJfQUxQSEFfTUlYIDogMCkgfAogCQkJKGZiLT5mb3JtYXQtPmhhc19hbHBoYSA/IFNDQUxF Ul9QT1MyX0FMUEhBX1BSRU1VTFQgOiAwKSB8CiAJCQlWQzRfU0VUX0ZJRUxEKHZjNF9zdGF0ZS0+ c3JjX3dbMF0sIFNDQUxFUl9QT1MyX1dJRFRIKSB8CiAJCQlWQzRfU0VUX0ZJRUxEKHZjNF9zdGF0 ZS0+c3JjX2hbMF0sIFNDQUxFUl9QT1MyX0hFSUdIVCkpOwpAQCAtNjUzLDEwICs2NjMsMTEgQEAg c3RhdGljIGludCB2YzRfcGxhbmVfbW9kZV9zZXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJ CQl2YzRfc3RhdGUtPmNydGNfdyA9PSBzdGF0ZS0+Y3J0Yy0+bW9kZS5oZGlzcGxheSAmJgogCQkJ dmM0X3N0YXRlLT5jcnRjX2ggPT0gc3RhdGUtPmNydGMtPm1vZGUudmRpc3BsYXk7CiAJLyogQmFj a2dyb3VuZCBmaWxsIG1pZ2h0IGJlIG5lY2Vzc2FyeSB3aGVuIHRoZSBwbGFuZSBoYXMgcGVyLXBp eGVsCi0JICogYWxwaGEgY29udGVudCBhbmQgYmxlbmRzIGZyb20gdGhlIGJhY2tncm91bmQgb3Ig ZG9lcyBub3QgY292ZXIKLQkgKiB0aGUgZW50aXJlIHNjcmVlbi4KKwkgKiBhbHBoYSBjb250ZW50 IG9yIGEgbm9uLW9wYXF1ZSBwbGFuZSBhbHBoYSBhbmQgY291bGQgYmxlbmQgZnJvbSB0aGUKKwkg KiBiYWNrZ3JvdW5kIG9yIGRvZXMgbm90IGNvdmVyIHRoZSBlbnRpcmUgc2NyZWVuLgogCSAqLwot CXZjNF9zdGF0ZS0+bmVlZHNfYmdfZmlsbCA9IGZiLT5mb3JtYXQtPmhhc19hbHBoYSB8fCAhY292 ZXJzX3NjcmVlbjsKKwl2YzRfc3RhdGUtPm5lZWRzX2JnX2ZpbGwgPSBmYi0+Zm9ybWF0LT5oYXNf YWxwaGEgfHwgIWNvdmVyc19zY3JlZW4gfHwKKwkJCQkgICBzdGF0ZS0+YWxwaGEgIT0gRFJNX0JM RU5EX0FMUEhBX09QQVFVRTsKIAogCXJldHVybiAwOwogfQpAQCAtOTE2LDUgKzkyNyw3IEBAIHN0 cnVjdCBkcm1fcGxhbmUgKnZjNF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAK IAlkcm1fcGxhbmVfaGVscGVyX2FkZChwbGFuZSwgJnZjNF9wbGFuZV9oZWxwZXJfZnVuY3MpOwog CisJZHJtX3BsYW5lX2NyZWF0ZV9hbHBoYV9wcm9wZXJ0eShwbGFuZSk7CisKIAlyZXR1cm4gcGxh bmU7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9yZWdzLmggYi9kcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9yZWdzLmgKaW5kZXggNGFmM2UyOWQwNzZhLi5kMWZiNmZlYzQ2 ZWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3JlZ3MuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9yZWdzLmgKQEAgLTk0NSw2ICs5NDUsNyBAQCBlbnVtIGh2c19w aXhlbF9mb3JtYXQgewogI2RlZmluZSBTQ0FMRVJfUE9TMl9BTFBIQV9NT0RFX0ZJWEVEX05PTlpF Uk8JMgogI2RlZmluZSBTQ0FMRVJfUE9TMl9BTFBIQV9NT0RFX0ZJWEVEX09WRVJfMHgwNwkzCiAj ZGVmaW5lIFNDQUxFUl9QT1MyX0FMUEhBX1BSRU1VTFQJCUJJVCgyOSkKKyNkZWZpbmUgU0NBTEVS X1BPUzJfQUxQSEFfTUlYCQkJQklUKDI4KQogCiAjZGVmaW5lIFNDQUxFUl9QT1MyX0hFSUdIVF9N QVNLCQkJVkM0X01BU0soMjcsIDE2KQogI2RlZmluZSBTQ0FMRVJfUE9TMl9IRUlHSFRfU0hJRlQJ CTE2Ci0tIAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=