From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Romanick Subject: Re: [mesa 9/9] glx/dri2: Implement getBufferAge Date: Tue, 20 Jan 2015 12:35:05 -0800 Message-ID: <54BEBBF9.8010104@freedesktop.org> References: <1421665245-5994-1-git-send-email-chris@chris-wilson.co.uk> <1421665245-5994-10-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1421665245-5994-10-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: mesa-dev-bounces@lists.freedesktop.org Sender: "mesa-dev" To: Chris Wilson , xorg-devel@lists.x.org, dri-devel@lists.freedesktop.org, mesa-dev@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gMDEvMTkvMjAxNSAwMzowMCBBTSwgQ2hyaXMgV2lsc29uIHdyb3RlOgo+IFdpdGhpbiB0aGUg RFJJMkdldEJ1ZmZlcnMgcmV0dXJuIHBhY2tldCB0aGVyZSBpcyBhIDQtYnl0ZSBmaWVsZCB0aGF0 IGlzCj4gY3VycmVudGx5IHVudXNlZCBieSBhbnkgZHJpdmVyLCBpLmUuIGZsYWdzLiBXaXRoIHRo ZSBjby1vcGVyYXRpb24gb2YgYQo+IHN1aXRhYmx5IG1vZGlmaWVkIFggc2VydmVyLCB3ZSBjYW4g cGFzcyB0aGUgbGFzdCBTQkMgb24gd2hpY2ggdGhlIGJ1ZmZlcgo+IHdhcyBkZWZpbmVkIChpLmUu IHRoZSBsYXN0IFN3YXBCdWZmZXJzIGZvciB3aGljaCBpdCB3YXMgdXNlZCkgYW5kIDAgaWYKPiBp dCBpcyBmcmVzaCAod2l0aCBhIHNsaWdodCBsb3NzIG9mIHByZWNpc2lvbikuIFdlIGNhbiB0aGVu IGNvbXBhcmUgdGhlCj4gZmxhZ3MgZmllbGQgb2YgdGhlIERSSUJ1ZmZlciBhZ2FpbnN0IHRoZSBj dXJyZW50IHN3YXAgYnVmZmVycyBjb3VudCBhbmQKPiBzbyBjb21wdXRlIHRoZSBhZ2Ugb2YgdGhl IGJhY2sgYnVmZmVyICh0aHVzIHNhdGlzZnlpbmcKPiBHTFhfRVhUX2J1ZmZlcl9hZ2UpLgo+IAo+ IEFzIHdlIHJldXNlIGEgZHJpdmVyIHNwZWNpZmljIGZpZWxkIHdpdGhpbiB0aGUgRFJJMkdldEJ1 ZmZlcnMgcGFja2V0LCB3ZQo+IGZpcnN0IHF1ZXJ5IHdoZXRoZXIgdGhlIFgvRERYIGFyZSByZWFk eSB0byBzdXBwbHkgdGhlIG5ldyB2YWx1ZSB1c2luZyBhCj4gRFJJMkdldFBhcmFtIHJlcXVlc3Qu Cj4gCj4gQW5vdGhlciBjYXZlYXQgaXMgdGhhdCB3ZSBuZWVkIHRvIGNvbXBsZXRlIHRoZSBTd2Fw QnVmZmVycy9HZXRCdWZmZXJzCj4gcm91bmR0cmlwIGJlZm9yZSByZXBvcnRpbmcgdGhlIGJhY2sg YnVmZmVyIGFnZSBzbyB0aGF0IGl0IHRhbGxpZXMKPiBhZ2FpbnN0IHRoZSBidWZmZXIgdXNlZCBm b3IgcmVuZGVyaW5nLiBBcyB3aXRoIGFsbCB0aGluZ3MgWCwgdGhlcmUgaXMgYQo+IHJhY2UgYmV0 d2VlbiB0aGUgcXVlcnkgYW5kIHRoZSByZW5kZXJpbmcgd2hlcmUgdGhlIGJ1ZmZlciBtYXkgYmUK PiBpbnZhbGlkYXRlZCBieSB0aGUgc2VydmVyLiBIb3dldmVyLCBmb3IgdGhlIHByaW1hcnkgdXNl Y2FzZSAodGhhdCBvZiBhCj4gY29tcG9zaXRpbmcgbWFuYWdlciksIHRoZSBEUkkyRHJhd2FibGUg aXMgb25seSBhY2Nlc3NpYmxlIHRvIGEgc2luZ2xlCj4gY2xpZW50IG1pdGlnYXRpbmcgdGhlIGlt cGFjdCBvZiB0aGUgaXNzdWUuCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJp c0BjaHJpcy13aWxzb24uY28udWs+Cj4gLS0tCj4gIGNvbmZpZ3VyZS5hYyAgICAgICB8ICAyICst Cj4gIHNyYy9nbHgvZHJpMl9nbHguYyB8IDY1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAyIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKPiAKPiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29u ZmlndXJlLmFjCj4gaW5kZXggODcwNDM1Yy4uY2ExZGE4NiAxMDA2NDQKPiAtLS0gYS9jb25maWd1 cmUuYWMKPiArKysgYi9jb25maWd1cmUuYWMKPiBAQCAtNjUsNyArNjUsNyBAQCBMSUJEUk1fSU5U RUxfUkVRVUlSRUQ9Mi40LjUyCj4gIExJQkRSTV9OVlZJRVVYX1JFUVVJUkVEPTIuNC4zMwo+ICBM SUJEUk1fTk9VVkVBVV9SRVFVSVJFRD0iMi40LjMzIGxpYmRybSA+PSAyLjQuNDEiCj4gIExJQkRS TV9GUkVFRFJFTk9fUkVRVUlSRUQ9Mi40LjU3Cj4gLURSSTJQUk9UT19SRVFVSVJFRD0yLjYKPiAr RFJJMlBST1RPX1JFUVVJUkVEPTIuOQo+ICBEUkkzUFJPVE9fUkVRVUlSRUQ9MS4wCj4gIFBSRVNF TlRQUk9UT19SRVFVSVJFRD0xLjAKPiAgTElCVURFVl9SRVFVSVJFRD0xNTEKPiBkaWZmIC0tZ2l0 IGEvc3JjL2dseC9kcmkyX2dseC5jIGIvc3JjL2dseC9kcmkyX2dseC5jCj4gaW5kZXggMDU3Nzgw NC4uYjQzZjExNSAxMDA2NDQKPiAtLS0gYS9zcmMvZ2x4L2RyaTJfZ2x4LmMKPiArKysgYi9zcmMv Z2x4L2RyaTJfZ2x4LmMKPiBAQCAtOTE3LDYgKzkxNyw2NyBAQCBkcmkyR2V0QnVmZmVyc1dpdGhG b3JtYXQoX19EUklkcmF3YWJsZSAqIGRyaURyYXdhYmxlLAo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50 Cj4gK2RyaTJIYXNCdWZmZXJBZ2UoaW50IHNjcmVlbiwgc3RydWN0IGdseF9kaXNwbGF5ICogcHJp dikKPiArewo+ICsgICBjb25zdCBzdHJ1Y3QgZHJpMl9kaXNwbGF5ICpjb25zdCBwZHAgPQo+ICsJ ICAgKHN0cnVjdCBkcmkyX2Rpc3BsYXkgKilwcml2LT5kcmkyRGlzcGxheTsKPiArICAgQ0FSRDY0 IHZhbHVlOwo+ICsKPiArICAgaWYgKHBkcC0+ZHJpTWFqb3IgPD0gMSAmJiBwZHAtPmRyaU1pbm9y IDwgNCkKPiArCSAgIHJldHVybiAwOwo+ICsKPiArICAgdmFsdWUgPSAwOwo+ICsgICBpZiAoIURS STJHZXRQYXJhbShwcml2LT5kcHksIFJvb3RXaW5kb3cocHJpdi0+ZHB5LCBzY3JlZW4pLAo+ICsg ICAgICAgICAgICAgICAgICAgICBEUkkyUGFyYW1YSGFzQnVmZmVyQWdlLCAmdmFsdWUpKQo+ICsg ICAgICByZXR1cm4gMDsKPiArCj4gKyAgIHJldHVybiB2YWx1ZTsKPiArfQo+ICsKPiArc3RhdGlj IGludAo+ICtkcmkyR2V0QnVmZmVyQWdlKF9fR0xYRFJJZHJhd2FibGUgKnBkcmF3KQo+ICt7Cj4g KyAgIHN0cnVjdCBkcmkyX2RyYXdhYmxlICpwcml2ID0gKHN0cnVjdCBkcmkyX2RyYXdhYmxlICop IHBkcmF3Owo+ICsgICBpbnQgaSwgYWdlID0gMDsKPiArCj4gKyAgIGlmIChwcml2LT5zd2FwX3Bl bmRpbmcpIHsKPiArCSAgIHVuc2lnbmVkIGludCBhdHRhY2htZW50c1s1XTsKCkkgc2VlIG90aGVy IGNhbGxlcnMgdGhhdCBoYXZlIGF0dGFjaG1lbnRzIG9mIGF0IGxlYXN0IDggKGFsdGhvdWdoIGl0 CmFwcGVhcnMgdGhhdCBpbnRlbF9xdWVyeV9kcmkyX2J1ZmZlcnMgb25seSBuZWVkcyAyKS4gIENv dWxkIHdlIGF0IGxlYXN0CmdldCBhbiBhc3NlcnRpb24gb3Igc29tZXRoaW5nIHRoYXQgcHJpdi0+ YnVmZmVyQ291bnQgPD0KQVJSQVlfU0laRShhdHRhY2htZW50cyk/ICBBIChoeXBvdGhldGljYWwp IGRyaXZlciBkb2luZyBzdGVyZW8gcmVuZGVyaW5nCndpdGggc2VwYXJhdGUsIEREWCBtYW5hZ2Vk LCBkZXB0aCBhbmQgc3RlbmNpbCBidWZmZXJzIHdvdWxkIG5lZWQgNi4gIEEKKGFnYWluLCBoeXBv dGhldGljYWwpIGRyaXZlciB3aXRoIEFVWCBidWZmZXJzIGNvdWxkIG5lZWQuLi4gbW9yZS4KCj4g KwkgICBEUkkyQnVmZmVyICpidWZmZXJzOwo+ICsKPiArCSAgIGZvciAoaSA9IDA7IGkgPCBwcml2 LT5idWZmZXJDb3VudDsgaSsrKQo+ICsJCSAgIGF0dGFjaG1lbnRzW2ldID0gcHJpdi0+YnVmZmVy c1tpXS5hdHRhY2htZW50Owo+ICsKPiArCSAgIGJ1ZmZlcnMgPSBEUkkyR2V0QnVmZmVycyhwcml2 LT5iYXNlLnBzYy0+ZHB5LCBwcml2LT5iYXNlLnhEcmF3YWJsZSwKPiArCQkJCSAgICAmcHJpdi0+ d2lkdGgsICZwcml2LT5oZWlnaHQsCj4gKwkJCQkgICAgYXR0YWNobWVudHMsIGksICZpKTsKCk1v c3QgZHJpdmVycyBwcmVmZXIgRFJJMkdldEJ1ZmZlcnNXaXRoRm9ybWF0LCBhbmQgc29tZSBkcml2 ZXJzIG9ubHkgdXNlCkRSSTJHZXRCdWZmZXJzV2l0aEZvcm1hdC4gIElzIG1peGluZyBEUkkyR2V0 QnVmZmVyc1dpdGhGb3JtYXQgYW5kCkRSSTJHZXRCdWZmZXJzIGdvaW5nIHRvIGNhdXNlIHByb2Js ZW1zIG9yIHVuZXhwZWN0ZWQgYmVoYXZpb3IgY2hhbmdlcz8KCj4gKwkgICBpZiAoYnVmZmVycyA9 PSBOVUxMKQo+ICsJCSAgIHJldHVybiAwOwo+ICsKPiArCSAgIHByb2Nlc3NfYnVmZmVycyhwcml2 LCBidWZmZXJzLCBpKTsKPiArCSAgIGZyZWUoYnVmZmVycyk7Cj4gKwo+ICsJICAgZHJpMlhjYlN3 YXBCdWZmZXJzQ29tcGxldGUocHJpdik7Cj4gKyAgIH0KPiArCj4gKyAgIGlmICghcHJpdi0+aGF2 ZV9iYWNrKQo+ICsgICAgICByZXR1cm4gMDsKPiArCj4gKyAgIGZvciAoaSA9IDA7IGkgPCBwcml2 LT5idWZmZXJDb3VudDsgaSsrKSB7Cj4gKwkgICBpZiAocHJpdi0+YnVmZmVyc1tpXS5hdHRhY2ht ZW50ICE9IF9fRFJJX0JVRkZFUl9CQUNLX0xFRlQpCj4gKwkJICAgY29udGludWU7Cj4gKwo+ICsJ ICAgaWYgKHByaXYtPmJ1ZmZlcnNbaV0uZmxhZ3MgPT0gMCkKPiArCQkgICBjb250aW51ZTsKPiAr Cj4gKwkgICBhZ2UgPSBwcml2LT5sYXN0X3N3YXBfc2JjIC0gcHJpdi0+YnVmZmVyc1tpXS5mbGFn cyArIDE7Cj4gKwkgICBpZiAoYWdlIDwgMCkKPiArCQkgICBhZ2UgPSAwOwoKSSB3YXMgZ29pbmcg dG8gY29tbWVudCB0aGF0IHRoaXMgbG9va2VkIGxpa2UgaXQgY2FsY3VsYXRlZCBhZ2Ugd3JvbmcK d2hlbiB0aGUgYnVmZmVycyBoYWQgZGlmZmVyZW50IGFnZXMuICBUaGVuIEkgcmVhbGl6ZWQgdGhh dCBhZ2Ugc2hvdWxkCm9ubHkgYmUgY2FsY3VsYXRlZCBvbmNlLiAgSSB0aGluayB0aGlzIHdvdWxk IGJlIG1vcmUgb2J2aW91cyBpZiB0aGUgYm9keQpvZiB0aGUgbG9vcCB3ZXJlOgoKICAgICAgaWYg KHByaXYtPmJ1ZmZlcnNbaV0uYXR0YWNobWVudCA9PSBfX0RSSV9CVUZGRVJfQkFDS19MRUZUICYm CiAgICAgICAgICBwcml2LT5idWZmZXJzW2ldLmZsYWdzICE9IDApIHsKICAgICAgICAgYWdlID0g cHJpdi0+bGFzdF9zd2FwX3NiYyAtIHByaXYtPmJ1ZmZlcnNbaV0uZmxhZ3MgKyAxOwogICAgICAg ICBpZiAoYWdlIDwgMCkKICAgICAgICAgICAgYWdlID0gMDsKCiAgICAgICAgIGJyZWFrOwogICAg ICB9CgpJIGFsc28ganVzdCBub3RpY2VkIHRoYXQgeW91ciBwYXRjaGVzIGFyZSBtaXhpbmcgdGFi cyBhbmQgc3BhY2VzICh1c2UKc3BhY2VzIG9ubHkpIGFuZCBhcmUgdXNpbmcgYSBtaXggb2YgMy1z cGFjZSBhbmQgOC1zcGFjZSAobWF5YmU/KSBpbmRlbnRzCih1c2UgMyBzcGFjZXMgb25seSkuCgo+ ICsgICB9Cj4gKwo+ICsgICByZXR1cm4gYWdlOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4gIGRy aTJTZXRTd2FwSW50ZXJ2YWwoX19HTFhEUklkcmF3YWJsZSAqcGRyYXcsIGludCBpbnRlcnZhbCkK PiAgewo+ICAgICB4Y2JfY29ubmVjdGlvbl90ICpjID0gWEdldFhDQkNvbm5lY3Rpb24ocGRyYXct PnBzYy0+ZHB5KTsKPiBAQCAtMTI5MCw2ICsxMzUxLDEwIEBAIGRyaTJDcmVhdGVTY3JlZW4oaW50 IHNjcmVlbiwgc3RydWN0IGdseF9kaXNwbGF5ICogcHJpdikKPiAgICAgcHNwLT5zZXRTd2FwSW50 ZXJ2YWwgPSBOVUxMOwo+ICAgICBwc3AtPmdldFN3YXBJbnRlcnZhbCA9IE5VTEw7Cj4gICAgIHBz cC0+Z2V0QnVmZmVyQWdlID0gTlVMTDsKCkJsYW5rIGxpbmUgaGVyZS4KCj4gKyAgIGlmIChkcmky SGFzQnVmZmVyQWdlKHNjcmVlbiwgcHJpdikpIHsKPiArCSAgIHBzcC0+Z2V0QnVmZmVyQWdlID0g ZHJpMkdldEJ1ZmZlckFnZTsKPiArCSAgIF9fZ2xYRW5hYmxlRGlyZWN0RXh0ZW5zaW9uKCZwc2Mt PmJhc2UsICJHTFhfRVhUX2J1ZmZlcl9hZ2UiKTsKPiArICAgfQo+ICAKPiAgICAgaWYgKHBkcC0+ ZHJpTWlub3IgPj0gMikgewo+ICAgICAgICBwc3AtPmdldERyYXdhYmxlTVNDID0gZHJpMkRyYXdh YmxlR2V0TVNDOwo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbWVzYS1kZXYgbWFpbGluZyBsaXN0Cm1lc2EtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbWVzYS1kZXYK