From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Foss Subject: [PATCH hwc v1 6/6] drm_hwcomposer: Add out-fence support Date: Tue, 26 Sep 2017 08:24:46 +0200 Message-ID: <20170926062446.6412-7-robert.foss@collabora.com> References: <20170926062446.6412-1-robert.foss@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 27D8F6E3E8 for ; Tue, 26 Sep 2017 06:25:03 +0000 (UTC) In-Reply-To: <20170926062446.6412-1-robert.foss@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, Sean Paul Cc: Robert Foss List-Id: dri-devel@lists.freedesktop.org QWRkIHN1cHBvcnQgZm9yIG91dC1mZW5jZXMgdGhyb3VnaCB0aGUgT1VUX0ZFTkNFX1BUUiBwcm9w ZXJ0eS4KT3V0LWZlbmNlcyBzaWduYWwgd2hlbiB0aGVpciBhc3NvY2lhdGVkIGJ1ZmZlciBtYXkg YmUgcmVhZCBieSBhIGRldmljZS4KClNpZ25lZC1vZmYtYnk6IFJvYmVydCBGb3NzIDxyb2JlcnQu Zm9zc0Bjb2xsYWJvcmEuY29tPgotLS0KIGRybWRpc3BsYXljb21wb3NpdGlvbi5oICB8ICA5ICsr KysrKysrKwogZHJtZGlzcGxheWNvbXBvc2l0b3IuY3BwIHwgMTYgKysrKysrKysrKysrKysrKwog ZHJtaHdjdHdvLmNwcCAgICAgICAgICAgIHwgIDkgKystLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQs IDI3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJtZGlzcGxh eWNvbXBvc2l0aW9uLmggYi9kcm1kaXNwbGF5Y29tcG9zaXRpb24uaAppbmRleCBiMTY1YWRjLi4w NTg2ZDU4IDEwMDY0NAotLS0gYS9kcm1kaXNwbGF5Y29tcG9zaXRpb24uaAorKysgYi9kcm1kaXNw bGF5Y29tcG9zaXRpb24uaApAQCAtMTg5LDYgKzE4OSwxNCBAQCBjbGFzcyBEcm1EaXNwbGF5Q29t cG9zaXRpb24gewogICAgIHJldHVybiBwbGFubmVyXzsKICAgfQogCisgIGludCB0YWtlX291dF9m ZW5jZSgpIHsKKyAgICByZXR1cm4gb3V0X2ZlbmNlXy5SZWxlYXNlKCk7CisgIH0KKworICB2b2lk IHNldF9vdXRfZmVuY2UoaW50IG91dF9mZW5jZSkgeworICAgIG91dF9mZW5jZV8uU2V0KGR1cChv dXRfZmVuY2UpKTsKKyAgfQorCiAgIHZvaWQgRHVtcChzdGQ6Om9zdHJpbmdzdHJlYW0gKm91dCkg Y29uc3Q7CiAKICBwcml2YXRlOgpAQCAtMjE1LDYgKzIyMyw3IEBAIGNsYXNzIERybURpc3BsYXlD b21wb3NpdGlvbiB7CiAgIGludCB0aW1lbGluZV9jdXJyZW50XyA9IDA7CiAgIGludCB0aW1lbGlu ZV9zcXVhc2hfZG9uZV8gPSAwOwogICBpbnQgdGltZWxpbmVfcHJlX2NvbXBfZG9uZV8gPSAwOwor ICBVbmlxdWVGZCBvdXRfZmVuY2VfID0gLTE7CiAKICAgYm9vbCBnZW9tZXRyeV9jaGFuZ2VkXzsK ICAgc3RkOjp2ZWN0b3I8RHJtSHdjTGF5ZXI+IGxheWVyc187CmRpZmYgLS1naXQgYS9kcm1kaXNw bGF5Y29tcG9zaXRvci5jcHAgYi9kcm1kaXNwbGF5Y29tcG9zaXRvci5jcHAKaW5kZXggNzFjMDQ1 MS4uMjUxY2RiNSAxMDA2NDQKLS0tIGEvZHJtZGlzcGxheWNvbXBvc2l0b3IuY3BwCisrKyBiL2Ry bWRpc3BsYXljb21wb3NpdG9yLmNwcApAQCAtNDkyLDYgKzQ5Miw3IEBAIGludCBEcm1EaXNwbGF5 Q29tcG9zaXRvcjo6Q29tbWl0RnJhbWUoRHJtRGlzcGxheUNvbXBvc2l0aW9uICpkaXNwbGF5X2Nv bXAsCiAgICAgICBkaXNwbGF5X2NvbXAtPmNvbXBvc2l0aW9uX3BsYW5lcygpOwogICBzdGQ6OnZl Y3RvcjxEcm1Db21wb3NpdGlvblJlZ2lvbj4gJnByZV9jb21wX3JlZ2lvbnMgPQogICAgICAgZGlz cGxheV9jb21wLT5wcmVfY29tcF9yZWdpb25zKCk7CisgIHVpbnQ2NF90IG91dF9mZW5jZXNbZHJt Xy0+R2V0Q3J0Y0NvdW50KCldOwogCiAgIERybUNvbm5lY3RvciAqY29ubmVjdG9yID0gZHJtXy0+ R2V0Q29ubmVjdG9yRm9yRGlzcGxheShkaXNwbGF5Xyk7CiAgIGlmICghY29ubmVjdG9yKSB7CkBA IC01MTAsNiArNTExLDE2IEBAIGludCBEcm1EaXNwbGF5Q29tcG9zaXRvcjo6Q29tbWl0RnJhbWUo RHJtRGlzcGxheUNvbXBvc2l0aW9uICpkaXNwbGF5X2NvbXAsCiAgICAgcmV0dXJuIC1FTk9NRU07 CiAgIH0KIAorICBpZiAoY3J0Yy0+b3V0X2ZlbmNlX3B0cl9wcm9wZXJ0eSgpLmlkKCkgIT0gMCkg eworICAgIHJldCA9IGRybU1vZGVBdG9taWNBZGRQcm9wZXJ0eShwc2V0LCBjcnRjLT5pZCgpLCBj cnRjLT5vdXRfZmVuY2VfcHRyX3Byb3BlcnR5KCkuaWQoKSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHVpbnQ2NF90KSAmb3V0X2ZlbmNlc1swXSk7CisgICAgaWYgKHJldCA8 IDApIHsKKyAgICAgIEFMT0dFKCJGYWlsZWQgdG8gYWRkIE9VVF9GRU5DRV9QVFIgcHJvcGVydHkg dG8gcHNldDogJWQiLCByZXQpOworICAgICAgZHJtTW9kZUF0b21pY0ZyZWUocHNldCk7CisgICAg ICByZXR1cm4gcmV0OworICAgIH0KKyAgfQorCiAgIGlmIChtb2RlXy5uZWVkc19tb2Rlc2V0KSB7 CiAgICAgcmV0ID0gZHJtTW9kZUF0b21pY0FkZFByb3BlcnR5KHBzZXQsIGNydGMtPmlkKCksIGNy dGMtPm1vZGVfcHJvcGVydHkoKS5pZCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtb2RlXy5ibG9iX2lkKSA8IDAgfHwKQEAgLTcwOCw2ICs3MTksMTEgQEAgb3V0OgogICAg IG1vZGVfLm5lZWRzX21vZGVzZXQgPSBmYWxzZTsKICAgfQogCisgIGlmIChjcnRjLT5vdXRfZmVu Y2VfcHRyX3Byb3BlcnR5KCkuaWQoKSkgeworICAgIGRpc3BsYXlfY29tcC0+c2V0X291dF9mZW5j ZSgoaW50KSBvdXRfZmVuY2VzW2NydGMtPnBpcGUoKV0pOworICAgIGNsb3NlKChpbnQpIG91dF9m ZW5jZXNbY3J0Yy0+cGlwZSgpXSk7CisgIH0KKwogICByZXR1cm4gcmV0OwogfQogCmRpZmYgLS1n aXQgYS9kcm1od2N0d28uY3BwIGIvZHJtaHdjdHdvLmNwcAppbmRleCA3NjJlZThjLi44OTM5OWJm IDEwMDY0NAotLS0gYS9kcm1od2N0d28uY3BwCisrKyBiL2RybWh3Y3R3by5jcHAKQEAgLTU1Nywx OSArNTU3LDE0IEBAIEhXQzI6OkVycm9yIERybUh3Y1R3bzo6SHdjRGlzcGxheTo6UHJlc2VudERp c3BsYXkoaW50MzJfdCAqcmV0aXJlX2ZlbmNlKSB7CiAgICAgaSA9IG92ZXJsYXlfcGxhbmVzLmVy YXNlKGkpOwogICB9CiAKKyAgQWRkRmVuY2VUb1JldGlyZUZlbmNlKGNvbXBvc2l0aW9uLT50YWtl X291dF9mZW5jZSgpKTsKKwogICByZXQgPSBjb21wb3NpdG9yXy5BcHBseUNvbXBvc2l0aW9uKHN0 ZDo6bW92ZShjb21wb3NpdGlvbikpOwogICBpZiAocmV0KSB7CiAgICAgQUxPR0UoIkZhaWxlZCB0 byBhcHBseSB0aGUgZnJhbWUgY29tcG9zaXRpb24gcmV0PSVkIiwgcmV0KTsKICAgICByZXR1cm4g SFdDMjo6RXJyb3I6OkJhZFBhcmFtZXRlcjsKICAgfQogCi0gIC8vIE5vdyB0aGF0IHRoZSByZWxl YXNlIGZlbmNlcyBoYXZlIGJlZW4gZ2VuZXJhdGVkIGJ5IHRoZSBjb21wb3NpdG9yLCBtYWtlCi0g IC8vIHN1cmUgdGhleSdyZSBtYW5hZ2VkIHByb3Blcmx5Ci0gIGZvciAoc3RkOjpwYWlyPGNvbnN0 IHVpbnQzMl90LCBEcm1Id2NUd286Okh3Y0xheWVyICo+ICZsIDogel9tYXApIHsKLSAgICBsLnNl Y29uZC0+bWFuYWdlX3JlbGVhc2VfZmVuY2UoKTsKLSAgICBBZGRGZW5jZVRvUmV0aXJlRmVuY2Uo bC5zZWNvbmQtPnJlbGVhc2VfZmVuY2UoKSk7Ci0gIH0KLQogICAvLyBUaGUgcmV0aXJlIGZlbmNl IHJldHVybmVkIGhlcmUgaXMgZm9yIHRoZSBsYXN0IGZyYW1lLCBzbyByZXR1cm4gaXQgYW5kCiAg IC8vIHByb21vdGUgdGhlIG5leHQgcmV0aXJlIGZlbmNlCiAgICpyZXRpcmVfZmVuY2UgPSByZXRp cmVfZmVuY2VfLlJlbGVhc2UoKTsKLS0gCjIuMTEuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==