From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 2/3] drm/rect: Handle rounding errors in drm_rect_clip_scaled Date: Thu, 26 Apr 2018 17:01:16 +0300 Message-ID: <20180426140116.GN23723@intel.com> References: <20180426082821.11129-1-maarten.lankhorst@linux.intel.com> <20180426082821.11129-2-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180426082821.11129-2-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBBcHIgMjYsIDIwMTggYXQgMTA6Mjg6MjBBTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gTm8gbWF0dGVyIGhvdyB5b3UgcGVyZm9ybSB0aGUgY2xpcCBhZGp1c3RtZW50 cywgYSBzbWFsbAo+IGVycm9yIG1heSBwdXNoIHRoZSBzY2FsaW5nIGZhY3RvciB0byB0aGUgb3Ro ZXIgc2lkZSBvZgo+IDB4MTAwMDAuIFNvbHZlIHRoaXMgd2l0aCBhIG1hY3JvIHRoYXQgd2lsbCBm aXh1cCB0aGUKPiBzY2FsZSB0byAweDEwMDAwIGlmIHdlIGFjY2lkZW50YWxseSB3cmFwIHRvIHRo ZSBvdGhlciBzaWRlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFy dGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9k cm1fcmVjdC5jIHwgNjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KPiAg MSBmaWxlIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3JlY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fcmVjdC5jCj4gaW5kZXggYjE3OWM3YzczY2M1Li43MWI2YjdmNWQ1OGYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9yZWN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X3JlY3QuYwo+IEBAIC01MCw2ICs1MCwyNCBAQCBib29sIGRybV9yZWN0X2ludGVyc2VjdChzdHJ1 Y3QgZHJtX3JlY3QgKnIxLCBjb25zdCBzdHJ1Y3QgZHJtX3JlY3QgKnIyKQo+ICB9Cj4gIEVYUE9S VF9TWU1CT0woZHJtX3JlY3RfaW50ZXJzZWN0KTsKPiAgCj4gK3N0YXRpYyBpbnQgZHJtX2NhbGNf c2NhbGUoaW50IHNyYywgaW50IGRzdCkKPiArewo+ICsJaW50IHNjYWxlID0gMDsKPiArCj4gKwlp ZiAoV0FSTl9PTihzcmMgPCAwIHx8IGRzdCA8IDApKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsK PiArCWlmIChkc3QgPT0gMCkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlpZiAoc3JjID4gKGRzdCA8 PCAxNikpCj4gKwkJcmV0dXJuIERJVl9ST1VORF9VUChzcmMsIGRzdCk7Cj4gKwllbHNlCj4gKwkJ c2NhbGUgPSBzcmMgLyBkc3Q7Cj4gKwo+ICsJcmV0dXJuIHNjYWxlOwo+ICt9Cj4gKwo+ICAvKioK PiAgICogZHJtX3JlY3RfY2xpcF9zY2FsZWQgLSBwZXJmb3JtIGEgc2NhbGVkIGNsaXAgb3BlcmF0 aW9uCj4gICAqIEBzcmM6IHNvdXJjZSB3aW5kb3cgcmVjdGFuZ2xlCj4gQEAgLTcxLDQ5ICs4OSw2 MCBAQCBib29sIGRybV9yZWN0X2NsaXBfc2NhbGVkKHN0cnVjdCBkcm1fcmVjdCAqc3JjLCBzdHJ1 Y3QgZHJtX3JlY3QgKmRzdCwKPiAgewo+ICAJaW50IGRpZmY7Cj4gIAo+ICsJLyoKPiArCSAqIFdo ZW4gc2NhbGUgaXMgbmVhciAweDEwMDAwIHJvdW5kaW5nIGVycm9ycyBtYXkgY2F1c2UgdGhlIHNj YWxpbmcKPiArCSAqIGZhY3RvciB0byB0aGUgb3RoZXIgc2lkZS4gU29tZSBoYXJkd2FyZSBtYXkg c3VwcG9ydAo+ICsJICogdXBzYW1wbGluZywgYnV0IG5vdCBkb3duc2FtcGxpbmcsIGFuZCB0aGF0 IHdvdWxkIGJyZWFrIHdoZW4KPiArCSAqIHJvdW5kaW5nLgo+ICsJICovCj4gKyNkZWZpbmUgRklY VVAob2xkc2NhbGUsIGZuLCBtLCBzZWNvbmQpIGRvIHsgXAo+ICsJaWYgKG9sZHNjYWxlICE9IDEg PDwgMTYpIHsgXAo+ICsJCWludCBuZXdzY2FsZSA9IGRybV9jYWxjX3NjYWxlKGZuKHNyYyksIGZu KGRzdCkpOyBcCj4gKyBcCj4gKwkJaWYgKG5ld3NjYWxlIDwgMCkgXAo+ICsJCQlyZXR1cm4gZmFs c2U7IFwKPiArIFwKPiArCQlpZiAoKG9sZHNjYWxlIDwgMHgxMDAwMCkgIT0gKG5ld3NjYWxlIDwg MHgxMDAwMCkpIHsgXAo+ICsJCQlpZiAoIXNlY29uZCkgXAo+ICsJCQkJc3JjLT5tIyMxID0gc3Jj LT5tIyMyIC0gKChmbihkc3QpIC0gZGlmZikgPDwgMTYpOyBcCj4gKwkJCWVsc2UgXAo+ICsJCQkJ c3JjLT5tIyMyID0gc3JjLT5tIyMxICsgKChmbihkc3QpIC0gZGlmZikgPDwgMTYpOyBcCgpUaGlz IGlzIHN0YXJ0aW5nIHRvIGdldCB2ZXJ5IG1lc3N5LiBBbHNvIGFyZSB3ZSBzdXJlIHRoZSB4Mi95 MiBjYW4ndApnbyBwYXN0IHRoZSBpbml0aWFsIHZhbHVlIGhlcmU/CgpJdCdzIHN0YXJ0aW5nIHRv IGZlZWwgbGlrZSB3ZSBzaG91bGQgZG8gdGhlIGNsaXAgd2l0aCB0aGUgcm91bmRpbmcgdGhlCm9y aGVyIHdheSwgd2hpY2ggc2hvdWxkIGd1YXJhbnRlZSB3ZSBuZXZlciBmbGlwIGJldHdlZW4gdXAg YW5kIGRvd24Kc2NhbGluZyBieSBhY2NpZGVudC4gQW5kIHRoZW4ganVzdCBkbyBhIHBvc3QtY2xp cCBjaGVjayBmb3IgZmluYWwgc2NhbGUKZmFjdG9yIHdpdGggdGhlIHBlc3NpbWlzdGljIHJvdW5k aW5nIGRpcmVjdGlvbiB0byBtYWtlIHN1cmUgd2Ugc3RheQp3aXRoaW4gdGhlIGxpbWl0cy4KCj4g KwkJfSBcCj4gKwl9IFwKPiArIH0gd2hpbGUgKDApCj4gKwo+ICAJZGlmZiA9IGNsaXAtPngxIC0g ZHN0LT54MTsKPiAgCWlmIChkaWZmID4gMCkgewo+ICAJCWludDY0X3QgdG1wID0gc3JjLT54MSAr IChpbnQ2NF90KSBkaWZmICogaHNjYWxlOwo+ICAJCXNyYy0+eDEgPSBjbGFtcF90KGludDY0X3Qs IHRtcCwgSU5UX01JTiwgSU5UX01BWCk7Cj4gKwkJRklYVVAoaHNjYWxlLCBkcm1fcmVjdF93aWR0 aCwgeCwgMCk7Cj4gIAl9Cj4gKwo+ICAJZGlmZiA9IGNsaXAtPnkxIC0gZHN0LT55MTsKPiAgCWlm IChkaWZmID4gMCkgewo+ICAJCWludDY0X3QgdG1wID0gc3JjLT55MSArIChpbnQ2NF90KSBkaWZm ICogdnNjYWxlOwo+ICAJCXNyYy0+eTEgPSBjbGFtcF90KGludDY0X3QsIHRtcCwgSU5UX01JTiwg SU5UX01BWCk7Cj4gKwkJRklYVVAodnNjYWxlLCBkcm1fcmVjdF9oZWlnaHQsIHksIDApOwo+ICAJ fQo+ICsKPiAgCWRpZmYgPSBkc3QtPngyIC0gY2xpcC0+eDI7Cj4gIAlpZiAoZGlmZiA+IDApIHsK PiAgCQlpbnQ2NF90IHRtcCA9IHNyYy0+eDIgLSAoaW50NjRfdCkgZGlmZiAqIGhzY2FsZTsKPiAg CQlzcmMtPngyID0gY2xhbXBfdChpbnQ2NF90LCB0bXAsIElOVF9NSU4sIElOVF9NQVgpOwo+ICsJ CUZJWFVQKGhzY2FsZSwgZHJtX3JlY3Rfd2lkdGgsIHgsIDEpOwo+ICAJfQo+ICAJZGlmZiA9IGRz dC0+eTIgLSBjbGlwLT55MjsKPiAgCWlmIChkaWZmID4gMCkgewo+ICAJCWludDY0X3QgdG1wID0g c3JjLT55MiAtIChpbnQ2NF90KSBkaWZmICogdnNjYWxlOwo+ICAJCXNyYy0+eTIgPSBjbGFtcF90 KGludDY0X3QsIHRtcCwgSU5UX01JTiwgSU5UX01BWCk7Cj4gKwkJRklYVVAodnNjYWxlLCBkcm1f cmVjdF9oZWlnaHQsIHksIDEpOwo+ICAJfQo+ICsjdW5kZWYgRklYVVAKPiAgCj4gIAlyZXR1cm4g ZHJtX3JlY3RfaW50ZXJzZWN0KGRzdCwgY2xpcCk7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1f cmVjdF9jbGlwX3NjYWxlZCk7Cj4gIAo+IC1zdGF0aWMgaW50IGRybV9jYWxjX3NjYWxlKGludCBz cmMsIGludCBkc3QpCj4gLXsKPiAtCWludCBzY2FsZSA9IDA7Cj4gLQo+IC0JaWYgKFdBUk5fT04o c3JjIDwgMCB8fCBkc3QgPCAwKSkKPiAtCQlyZXR1cm4gLUVJTlZBTDsKPiAtCj4gLQlpZiAoZHN0 ID09IDApCj4gLQkJcmV0dXJuIDA7Cj4gLQo+IC0JaWYgKHNyYyA+IChkc3QgPDwgMTYpKQo+IC0J CXJldHVybiBESVZfUk9VTkRfVVAoc3JjLCBkc3QpOwo+IC0JZWxzZQo+IC0JCXNjYWxlID0gc3Jj IC8gZHN0Owo+IC0KPiAtCXJldHVybiBzY2FsZTsKPiAtfQo+IC0KPiAgLyoqCj4gICAqIGRybV9y ZWN0X2NhbGNfaHNjYWxlIC0gY2FsY3VsYXRlIHRoZSBob3Jpem9udGFsIHNjYWxpbmcgZmFjdG9y Cj4gICAqIEBzcmM6IHNvdXJjZSB3aW5kb3cgcmVjdGFuZ2xlCj4gLS0gCj4gMi4xNy4wCgotLSAK VmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=