From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 2/3] drm/i915: Move rotated geometry calculations into the fill helper Date: Tue, 23 Jun 2015 14:26:46 +0100 Message-ID: <1435066006-18423-1-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1435060663-13621-2-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 291B27A122 for ; Tue, 23 Jun 2015 06:26:50 -0700 (PDT) In-Reply-To: <1435060663-13621-2-git-send-email-tvrtko.ursulin@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: Intel-gfx@lists.freedesktop.org Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRoaXMgd2F5 IGRhdGEgaXMgYXZhaWxhYmxlIGFzIHNvb24gYXMgdGhlIHZpZXcgaXMgcGFzc2VkIGludG8gdGhl IGNhbGwgY2hhaW4uCgp2MjogU3RvcmUgc2l6ZSBpbiBieXRlcyBpbnN0ZWFkIG9mIHBhZ2VzIHVu ZGVyIHRoZSBhcHByb3ByaWF0ZSBuYW1lLiAoQ2hyaXMgV2lsc29uKQoKdjM6IFVzZSB1aW50NjRf dCBpbnN0ZWFkIG9mIHNpemVfdC4gKERhbmllbCBWZXR0ZXIpCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0 a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2ls c29uLmNvLnVrPgotLS0KVGhpcyB3aWxsIGJlIG5lZWRlZCBpbiB0aGUgZm9sbG93aW5nIHBhdGNo IHdoaWNoIGZpeGVzIGk5MTVfZ2d0dF92aWV3X3NpemUuCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmMgIHwgMzYgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCAgfCAgMiArKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDggKysrKysrKysKIDMgZmlsZXMgY2hh bmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuYwppbmRleCBjMWMxNmIwLi45Nzc3ZWY0IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuYwpAQCAtMjcwMCwyOSArMjcwMCwxNyBAQCBzdGF0aWMgc3RydWN0IHNnX3Rh YmxlICoKIGludGVsX3JvdGF0ZV9mYl9vYmpfcGFnZXMoc3RydWN0IGk5MTVfZ2d0dF92aWV3ICpn Z3R0X3ZpZXcsCiAJCQkgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7Ci0Jc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+YmFzZS5kZXY7CiAJc3RydWN0IGludGVsX3JvdGF0 aW9uX2luZm8gKnJvdF9pbmZvID0gJmdndHRfdmlldy0+cm90YXRpb25faW5mbzsKLQl1bnNpZ25l ZCBsb25nIHBhZ2VzLCByb3RfcGFnZXM7CisJdW5zaWduZWQgaW50IHNpemVfcGFnZXMgPSByb3Rf aW5mby0+c2l6ZSA+PiBQQUdFX1NISUZUOwogCXN0cnVjdCBzZ19wYWdlX2l0ZXIgc2dfaXRlcjsK IAl1bnNpZ25lZCBsb25nIGk7CiAJZG1hX2FkZHJfdCAqcGFnZV9hZGRyX2xpc3Q7CiAJc3RydWN0 IHNnX3RhYmxlICpzdDsKLQl1bnNpZ25lZCBpbnQgdGlsZV9waXRjaCwgdGlsZV9oZWlnaHQ7Ci0J dW5zaWduZWQgaW50IHdpZHRoX3BhZ2VzLCBoZWlnaHRfcGFnZXM7CiAJaW50IHJldCA9IC1FTk9N RU07CiAKLQlwYWdlcyA9IG9iai0+YmFzZS5zaXplIC8gUEFHRV9TSVpFOwotCi0JLyogQ2FsY3Vs YXRlIHRpbGluZyBnZW9tZXRyeS4gKi8KLQl0aWxlX2hlaWdodCA9IGludGVsX3RpbGVfaGVpZ2h0 KGRldiwgcm90X2luZm8tPnBpeGVsX2Zvcm1hdCwKLQkJCQkJcm90X2luZm8tPmZiX21vZGlmaWVy KTsKLQl0aWxlX3BpdGNoID0gUEFHRV9TSVpFIC8gdGlsZV9oZWlnaHQ7Ci0Jd2lkdGhfcGFnZXMg PSBESVZfUk9VTkRfVVAocm90X2luZm8tPnBpdGNoLCB0aWxlX3BpdGNoKTsKLQloZWlnaHRfcGFn ZXMgPSBESVZfUk9VTkRfVVAocm90X2luZm8tPmhlaWdodCwgdGlsZV9oZWlnaHQpOwotCXJvdF9w YWdlcyA9IHdpZHRoX3BhZ2VzICogaGVpZ2h0X3BhZ2VzOwotCiAJLyogQWxsb2NhdGUgYSB0ZW1w b3JhcnkgbGlzdCBvZiBzb3VyY2UgcGFnZXMgZm9yIHJhbmRvbSBhY2Nlc3MuICovCi0JcGFnZV9h ZGRyX2xpc3QgPSBkcm1fbWFsbG9jX2FiKHBhZ2VzLCBzaXplb2YoZG1hX2FkZHJfdCkpOworCXBh Z2VfYWRkcl9saXN0ID0gZHJtX21hbGxvY19hYihvYmotPmJhc2Uuc2l6ZSAvIFBBR0VfU0laRSwK KwkJCQkgICAgICAgc2l6ZW9mKGRtYV9hZGRyX3QpKTsKIAlpZiAoIXBhZ2VfYWRkcl9saXN0KQog CQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCkBAIC0yNzMxLDcgKzI3MTksNyBAQCBpbnRlbF9yb3Rh dGVfZmJfb2JqX3BhZ2VzKHN0cnVjdCBpOTE1X2dndHRfdmlldyAqZ2d0dF92aWV3LAogCWlmICgh c3QpCiAJCWdvdG8gZXJyX3N0X2FsbG9jOwogCi0JcmV0ID0gc2dfYWxsb2NfdGFibGUoc3QsIHJv dF9wYWdlcywgR0ZQX0tFUk5FTCk7CisJcmV0ID0gc2dfYWxsb2NfdGFibGUoc3QsIHNpemVfcGFn ZXMsIEdGUF9LRVJORUwpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyX3NnX2FsbG9jOwogCkBAIC0y NzQzLDEzICsyNzMxLDE1IEBAIGludGVsX3JvdGF0ZV9mYl9vYmpfcGFnZXMoc3RydWN0IGk5MTVf Z2d0dF92aWV3ICpnZ3R0X3ZpZXcsCiAJfQogCiAJLyogUm90YXRlIHRoZSBwYWdlcy4gKi8KLQly b3RhdGVfcGFnZXMocGFnZV9hZGRyX2xpc3QsIHdpZHRoX3BhZ2VzLCBoZWlnaHRfcGFnZXMsIHN0 KTsKKwlyb3RhdGVfcGFnZXMocGFnZV9hZGRyX2xpc3QsCisJCSAgICAgcm90X2luZm8tPndpZHRo X3BhZ2VzLCByb3RfaW5mby0+aGVpZ2h0X3BhZ2VzLAorCQkgICAgIHN0KTsKIAogCURSTV9ERUJV R19LTVMoCi0JCSAgICAgICJDcmVhdGVkIHJvdGF0ZWQgcGFnZSBtYXBwaW5nIGZvciBvYmplY3Qg c2l6ZSAlbHUgKHBpdGNoPSV1LCBoZWlnaHQ9JXUsIHBpeGVsX2Zvcm1hdD0weCV4LCAldXgldSB0 aWxlcywgJWx1IHBhZ2VzKS5cbiIsCisJCSAgICAgICJDcmVhdGVkIHJvdGF0ZWQgcGFnZSBtYXBw aW5nIGZvciBvYmplY3Qgc2l6ZSAlbHUgKHBpdGNoPSV1LCBoZWlnaHQ9JXUsIHBpeGVsX2Zvcm1h dD0weCV4LCAldXgldSB0aWxlcywgJXUgcGFnZXMpLlxuIiwKIAkJICAgICAgb2JqLT5iYXNlLnNp emUsIHJvdF9pbmZvLT5waXRjaCwgcm90X2luZm8tPmhlaWdodCwKLQkJICAgICAgcm90X2luZm8t PnBpeGVsX2Zvcm1hdCwgd2lkdGhfcGFnZXMsIGhlaWdodF9wYWdlcywKLQkJICAgICAgcm90X3Bh Z2VzKTsKKwkJICAgICAgcm90X2luZm8tPnBpeGVsX2Zvcm1hdCwgcm90X2luZm8tPndpZHRoX3Bh Z2VzLAorCQkgICAgICByb3RfaW5mby0+aGVpZ2h0X3BhZ2VzLCBzaXplX3BhZ2VzKTsKIAogCWRy bV9mcmVlX2xhcmdlKHBhZ2VfYWRkcl9saXN0KTsKIApAQCAtMjc2MSwxMCArMjc1MSwxMCBAQCBl cnJfc3RfYWxsb2M6CiAJZHJtX2ZyZWVfbGFyZ2UocGFnZV9hZGRyX2xpc3QpOwogCiAJRFJNX0RF QlVHX0tNUygKLQkJICAgICAgIkZhaWxlZCB0byBjcmVhdGUgcm90YXRlZCBtYXBwaW5nIGZvciBv YmplY3Qgc2l6ZSAlbHUhICglZCkgKHBpdGNoPSV1LCBoZWlnaHQ9JXUsIHBpeGVsX2Zvcm1hdD0w eCV4LCAldXgldSB0aWxlcywgJWx1IHBhZ2VzKVxuIiwKKwkJICAgICAgIkZhaWxlZCB0byBjcmVh dGUgcm90YXRlZCBtYXBwaW5nIGZvciBvYmplY3Qgc2l6ZSAlbHUhICglZCkgKHBpdGNoPSV1LCBo ZWlnaHQ9JXUsIHBpeGVsX2Zvcm1hdD0weCV4LCAldXgldSB0aWxlcywgJXUgcGFnZXMpXG4iLAog CQkgICAgICBvYmotPmJhc2Uuc2l6ZSwgcmV0LCByb3RfaW5mby0+cGl0Y2gsIHJvdF9pbmZvLT5o ZWlnaHQsCi0JCSAgICAgIHJvdF9pbmZvLT5waXhlbF9mb3JtYXQsIHdpZHRoX3BhZ2VzLCBoZWln aHRfcGFnZXMsCi0JCSAgICAgIHJvdF9wYWdlcyk7CisJCSAgICAgIHJvdF9pbmZvLT5waXhlbF9m b3JtYXQsIHJvdF9pbmZvLT53aWR0aF9wYWdlcywKKwkJICAgICAgcm90X2luZm8tPmhlaWdodF9w YWdlcywgc2l6ZV9wYWdlcyk7CiAJcmV0dXJuIEVSUl9QVFIocmV0KTsKIH0KIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuaAppbmRleCA3MzVmMTE5Li4wMTdlYTMwIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuaApAQCAtMTI2LDYgKzEyNiw4IEBAIHN0cnVjdCBpbnRlbF9yb3Rh dGlvbl9pbmZvIHsKIAl1bnNpZ25lZCBpbnQgcGl0Y2g7CiAJdWludDMyX3QgcGl4ZWxfZm9ybWF0 OwogCXVpbnQ2NF90IGZiX21vZGlmaWVyOworCXVuc2lnbmVkIGludCB3aWR0aF9wYWdlcywgaGVp Z2h0X3BhZ2VzOworCXVpbnQ2NF90IHNpemU7CiB9OwogCiBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcg ewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDFiYzIxN2EuLjU0MzE1YWEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTIyNjgsNiArMjI2OCw3IEBA IGludGVsX2ZpbGxfZmJfZ2d0dF92aWV3KHN0cnVjdCBpOTE1X2dndHRfdmlldyAqdmlldywgc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQljb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRl ICpwbGFuZV9zdGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5mbyAqaW5mbyA9ICZ2 aWV3LT5yb3RhdGlvbl9pbmZvOworCXVuc2lnbmVkIGludCB0aWxlX2hlaWdodCwgdGlsZV9waXRj aDsKIAogCSp2aWV3ID0gaTkxNV9nZ3R0X3ZpZXdfbm9ybWFsOwogCkBAIC0yMjg0LDYgKzIyODUs MTMgQEAgaW50ZWxfZmlsbF9mYl9nZ3R0X3ZpZXcoc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3 LCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAlpbmZvLT5waXRjaCA9IGZiLT5waXRjaGVz WzBdOwogCWluZm8tPmZiX21vZGlmaWVyID0gZmItPm1vZGlmaWVyWzBdOwogCisJdGlsZV9oZWln aHQgPSBpbnRlbF90aWxlX2hlaWdodChmYi0+ZGV2LCBmYi0+cGl4ZWxfZm9ybWF0LAorCQkJCQlm Yi0+bW9kaWZpZXJbMF0pOworCXRpbGVfcGl0Y2ggPSBQQUdFX1NJWkUgLyB0aWxlX2hlaWdodDsK KwlpbmZvLT53aWR0aF9wYWdlcyA9IERJVl9ST1VORF9VUChmYi0+cGl0Y2hlc1swXSwgdGlsZV9w aXRjaCk7CisJaW5mby0+aGVpZ2h0X3BhZ2VzID0gRElWX1JPVU5EX1VQKGZiLT5oZWlnaHQsIHRp bGVfaGVpZ2h0KTsKKwlpbmZvLT5zaXplID0gaW5mby0+d2lkdGhfcGFnZXMgKiBpbmZvLT5oZWln aHRfcGFnZXMgKiBQQUdFX1NJWkU7CisKIAlyZXR1cm4gMDsKIH0KIAotLSAKMi40LjIKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==