From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id B0AA26E9B9 for ; Wed, 18 Dec 2019 17:13:33 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Wed, 18 Dec 2019 18:12:49 +0100 Message-Id: <20191218171250.15232-2-zbigniew.kempczynski@intel.com> In-Reply-To: <20191218171250.15232-1-zbigniew.kempczynski@intel.com> References: <20191218171250.15232-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v4 2/3] lib/rendercopy_bufmgr: Add rendercopy buffer manager List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: VGhpcyBpcyBtaWRkbGUgbGF5ZXIgYmV0d2VlbiByZW5kZXIgY29weSB0ZXN0cyBhbmQgYnVmZmVy IG9wZXJhdGlvbnMKKGJ1Zl9vcHMpLiBSZW5kZXIgY29weSB0ZXN0cyB1c2VzIGxpYmRybSBzbyBh ZGRpbmcgd3JhcHBlciB0byBpbmRlcGVuZGVudApidWZfb3BzIHdhcyBuZWNlc3NhcnkuCgpTaWdu ZWQtb2ZmLWJ5OiBaYmlnbmlldyBLZW1wY3p5xYRza2kgPHpiaWduaWV3LmtlbXBjenluc2tpQGlu dGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzog S2F0YXJ6eW5hIERlYyA8a2F0YXJ6eW5hLmRlY0BpbnRlbC5jb20+CkNjOiBWYW5zaGlkaGFyIEtv bmRhIDx2YW5zaGlkaGFyLnIua29uZGFAaW50ZWwuY29tPgotLS0KIGxpYi9NYWtlZmlsZS5zb3Vy Y2VzICAgIHwgICAyICsKIGxpYi9tZXNvbi5idWlsZCAgICAgICAgIHwgICAxICsKIGxpYi9yZW5k ZXJjb3B5X2J1Zm1nci5jIHwgMTc1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIGxpYi9yZW5kZXJjb3B5X2J1Zm1nci5oIHwgIDI4ICsrKysrKysKIDQgZmlsZXMgY2hh bmdlZCwgMjA2IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvcmVuZGVyY29w eV9idWZtZ3IuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9yZW5kZXJjb3B5X2J1Zm1nci5oCgpk aWZmIC0tZ2l0IGEvbGliL01ha2VmaWxlLnNvdXJjZXMgYi9saWIvTWFrZWZpbGUuc291cmNlcwpp bmRleCBkYTM0ZWFlNy4uZmViOGMyMGQgMTAwNjQ0Ci0tLSBhL2xpYi9NYWtlZmlsZS5zb3VyY2Vz CisrKyBiL2xpYi9NYWtlZmlsZS5zb3VyY2VzCkBAIC05NSw2ICs5NSw4IEBAIGxpYl9zb3VyY2Vf bGlzdCA9CSAJXAogCWdlbjdfcmVuZGVyLmgJCVwKIAlnZW44X3JlbmRlci5oCQlcCiAJZ2VuOV9y ZW5kZXIuaAkJXAorCXJlbmRlcmNvcHlfYnVmbWdyLmMJXAorCXJlbmRlcmNvcHlfYnVmbWdyLmgJ XAogCXJlbmRlcmNvcHlfZ2VuNC5jCVwKIAlyZW5kZXJjb3B5X2dlbjYuYwlcCiAJcmVuZGVyY29w eV9nZW43LmMJXApkaWZmIC0tZ2l0IGEvbGliL21lc29uLmJ1aWxkIGIvbGliL21lc29uLmJ1aWxk CmluZGV4IGNmM2UzNWRhLi4zYmYzOTkxNSAxMDA2NDQKLS0tIGEvbGliL21lc29uLmJ1aWxkCisr KyBiL2xpYi9tZXNvbi5idWlsZApAQCAtMzksNiArMzksNyBAQCBsaWJfc291cmNlcyA9IFsKIAkn Z3B1X2NtZHMuYycsCiAJJ3JlbmRlcmNvcHlfaTkxNS5jJywKIAkncmVuZGVyY29weV9pODMwLmMn LAorCSdyZW5kZXJjb3B5X2J1Zm1nci5jJywKIAkncmVuZGVyY29weV9nZW40LmMnLAogCSdyZW5k ZXJjb3B5X2dlbjYuYycsCiAJJ3JlbmRlcmNvcHlfZ2VuNy5jJywKZGlmZiAtLWdpdCBhL2xpYi9y ZW5kZXJjb3B5X2J1Zm1nci5jIGIvbGliL3JlbmRlcmNvcHlfYnVmbWdyLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjhhYzk3YzNkCi0tLSAvZGV2L251bGwKKysrIGIvbGli L3JlbmRlcmNvcHlfYnVmbWdyLmMKQEAgLTAsMCArMSwxNzUgQEAKKy8qCisgKiBDb3B5cmlnaHQg wqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5 IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl ICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmlj dGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2Us IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisg KiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNv bnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj dCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdo dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAor ICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50 aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElT IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Mg T1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ RVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9S UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBP UiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwg VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU SU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElO IFRIRSBTT0ZUV0FSRS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1 ZGUgImlndC5oIgorI2luY2x1ZGUgImlndF94ODYuaCIKKyNpbmNsdWRlICJyZW5kZXJjb3B5X2J1 Zm1nci5oIgorCisvKioKKyAqIFNFQ1RJT046cmVuZGVyY29weV9idWZtZ3IKKyAqIEBzaG9ydF9k ZXNjcmlwdGlvbjogUmVuZGVyIGNvcHkgYnVmZmVyIG1hbmFnZXIKKyAqIEB0aXRsZTogUmVuZGVy IGNvcHkgYnVmbWdyCisgKiBAaW5jbHVkZTogaWd0LmgKKyAqCisgKiAjIFJlbmRlcmNvcHkgYnVm ZmVyIG1hbmFnZXIKKyAqCisgKiBSZW5kZXJjb3B5IGRlcGVuZHMgb24gbGliZHJtIGFuZCBpZ3Rf YnVmLCBzbyBzb21lIG1pZGRsZSBsYXllciB0byBpbnRlbF9idWYKKyAqIGFuZCBidWZfb3BzIGlz IHJlcXVpcmVkLgorICoKKyAqIHxbPCEtLSBsYW5ndWFnZT0iYyIgLS0+CisgKiBzdHJ1Y3QgcmVu ZGVyY29weV9idWZtZ3IgKmJtZ3I7CisgKiAuLi4KKyAqIGJtZ3IgPSByZW5kZXJjb3B5X2J1Zm1n cl9jcmVhdGUoZmQsIGJ1Zm1ncik7CisgKiAuLi4KKyAqIGlndF9idWZfaW5pdChibWdyLCAmYnVm LCA1MTIsIDUxMiwgMzIsIEk5MTVfVElMSU5HX1gsIGZhbHNlKTsKKyAqIC4uLgorICogbGluZWFy X3RvX2lndF9idWYoYm1nciwgJmJ1ZiwgbGluZWFyKTsKKyAqIC4uLgorICogaWd0X2J1Zl90b19s aW5lYXIoYm1nciwgJmJ1ZiwgbGluZWFyKTsKKyAqIC4uLgorICogcmVuZGVyY29weV9idWZtZ3Jf ZGVzdHJveShibWdyKTsKKyAqIF18CisgKi8KKworc3RydWN0IHJlbmRlcmNvcHlfYnVmbWdyIHsK KwlpbnQgZmQ7CisJZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdyOworCXN0cnVjdCBidWZfb3BzICpi b3BzOworfTsKKworc3RhdGljIHZvaWQgX19pZ3RfYnVmX3RvX2ludGVsX2J1ZihzdHJ1Y3QgaWd0 X2J1ZiAqYnVmLCBzdHJ1Y3QgaW50ZWxfYnVmICppYnVmKQoreworCWlidWYtPmhhbmRsZSA9IGJ1 Zi0+Ym8tPmhhbmRsZTsKKwlpYnVmLT5zdHJpZGUgPSBidWYtPnN0cmlkZTsKKwlpYnVmLT50aWxp bmcgPSBidWYtPnRpbGluZzsKKwlpYnVmLT5icHAgPSBidWYtPmJwcDsKKwlpYnVmLT5zaXplID0g YnVmLT5zaXplOworCWlidWYtPmNvbXByZXNzaW9uID0gYnVmLT5jb21wcmVzc2lvbjsKKwlpYnVm LT5hdXgub2Zmc2V0ID0gYnVmLT5hdXgub2Zmc2V0OworCWlidWYtPmF1eC5zdHJpZGUgPSBidWYt PmF1eC5zdHJpZGU7Cit9CisKK3ZvaWQgaWd0X2J1Zl90b19saW5lYXIoc3RydWN0IHJlbmRlcmNv cHlfYnVmbWdyICpibWdyLCBzdHJ1Y3QgaWd0X2J1ZiAqYnVmLAorCQkgICAgICAgdWludDMyX3Qg KmxpbmVhcikKK3sKKwlzdHJ1Y3QgaW50ZWxfYnVmIGlidWY7CisKKwlfX2lndF9idWZfdG9faW50 ZWxfYnVmKGJ1ZiwgJmlidWYpOworCisJaW50ZWxfYnVmX3RvX2xpbmVhcihibWdyLT5ib3BzLCAm aWJ1ZiwgbGluZWFyKTsKK30KKwordm9pZCBsaW5lYXJfdG9faWd0X2J1ZihzdHJ1Y3QgcmVuZGVy Y29weV9idWZtZ3IgKmJtZ3IsIHN0cnVjdCBpZ3RfYnVmICpidWYsCisJCSAgICAgICB1aW50MzJf dCAqbGluZWFyKQoreworCXN0cnVjdCBpbnRlbF9idWYgaWJ1ZjsKKworCV9faWd0X2J1Zl90b19p bnRlbF9idWYoYnVmLCAmaWJ1Zik7CisKKwlsaW5lYXJfdG9faW50ZWxfYnVmKGJtZ3ItPmJvcHMs ICZpYnVmLCBsaW5lYXIpOworfQorCitzdHJ1Y3QgcmVuZGVyY29weV9idWZtZ3IgKnJlbmRlcmNv cHlfYnVmbWdyX2NyZWF0ZShpbnQgZmQsCisJCQkJCQkgICBkcm1faW50ZWxfYnVmbWdyICpidWZt Z3IpCit7CisJc3RydWN0IGJ1Zl9vcHMgKmJvcHM7CisJc3RydWN0IHJlbmRlcmNvcHlfYnVmbWdy ICpibWdyOworCisJaWd0X2Fzc2VydChidWZtZ3IpOworCisJYm9wcyA9IGJ1Zl9vcHNfY3JlYXRl KGZkKTsKKwlpZ3RfYXNzZXJ0KGJvcHMpOworCisJYm1nciA9IGNhbGxvYygxLCBzaXplb2YoKmJt Z3IpKTsKKwlpZ3RfYXNzZXJ0KGJtZ3IpOworCisJYm1nci0+ZmQgPSBmZDsKKwlibWdyLT5idWZt Z3IgPSBidWZtZ3I7CisJYm1nci0+Ym9wcyA9IGJvcHM7CisKKwlyZXR1cm4gYm1ncjsKK30KKwor dm9pZCByZW5kZXJjb3B5X2J1Zm1ncl9kZXN0cm95KHN0cnVjdCByZW5kZXJjb3B5X2J1Zm1nciAq Ym1ncikKK3sKKwlpZ3RfYXNzZXJ0KGJtZ3IpOworCWlndF9hc3NlcnQoYm1nci0+Ym9wcyk7CisK KwlidWZfb3BzX2Rlc3Ryb3koYm1nci0+Ym9wcyk7CisJZnJlZShibWdyKTsKK30KKworYm9vbCBy ZW5kZXJjb3B5X2J1Zm1ncl9zZXRfc29mdHdhcmVfdGlsaW5nKHN0cnVjdCByZW5kZXJjb3B5X2J1 Zm1nciAqYm1nciwKKwkJCQkJICAgdWludDMyX3QgdGlsaW5nLAorCQkJCQkgICBib29sIHVzZV9z b2Z0d2FyZV90aWxpbmcpCit7CisJcmV0dXJuIGJ1Zl9vcHNfc2V0X3NvZnR3YXJlX3RpbGluZyhi bWdyLT5ib3BzLCB0aWxpbmcsCisJCQkJCSAgIHVzZV9zb2Z0d2FyZV90aWxpbmcpOworfQorCit2 b2lkIGlndF9idWZfaW5pdChzdHJ1Y3QgcmVuZGVyY29weV9idWZtZ3IgKmJtZ3IsIHN0cnVjdCBp Z3RfYnVmICpidWYsCisJCSAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYnBwLAorCQkgIHVp bnQzMl90IHRpbGluZywgYm9vbCBjb21wcmVzc2lvbikKK3sKKwlzdHJ1Y3QgaW50ZWxfYnVmIGli dWY7CisJaW50IHNpemU7CisJaW50IGF1eF93aWR0aCwgYXV4X2hlaWdodDsKKwl1aW50MzJfdCBk ZXZpZDsKKwlpbnQgZ2VuZXJhdGlvbjsKKworCWRldmlkID0gaW50ZWxfZ2V0X2RybV9kZXZpZChi bWdyLT5mZCk7CisJZ2VuZXJhdGlvbiA9IGludGVsX2dlbihkZXZpZCk7CisKKwlpZ3RfYXNzZXJ0 KGJ1Zik7CisJbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKCpidWYpKTsKKworCWJ1Zi0+c3RyaWRlID0g QUxJR04od2lkdGggKiAoYnBwIC8gOCksIDEyOCk7CisJYnVmLT5zaXplID0gYnVmLT5zdHJpZGUg KiBoZWlnaHQ7CisJYnVmLT50aWxpbmcgPSB0aWxpbmc7CisJYnVmLT5icHAgPSBicHA7CisJYnVm LT5jb21wcmVzc2lvbiA9IGNvbXByZXNzaW9uOworCisJYXV4X3dpZHRoID0gaWd0X2J1Zl9hdXhf d2lkdGgoZ2VuZXJhdGlvbiwgYnVmKTsKKwlhdXhfaGVpZ2h0ID0gaWd0X2J1Zl9hdXhfaGVpZ2h0 KGdlbmVyYXRpb24sIGJ1Zik7CisKKwlzaXplID0gYnVmLT5zdHJpZGUgKiBBTElHTihoZWlnaHQs IDMyKTsKKworCWlmIChjb21wcmVzc2lvbikgeworCQlidWYtPmF1eC5vZmZzZXQgPSBidWYtPnN0 cmlkZSAqIEFMSUdOKGhlaWdodCwgMzIpOworCQlidWYtPmF1eC5zdHJpZGUgPSBhdXhfd2lkdGg7 CisJCXNpemUgPSBidWYtPmF1eC5vZmZzZXQgKyBhdXhfd2lkdGggKiBhdXhfaGVpZ2h0OworCX0K KworCWJ1Zi0+Ym8gPSBkcm1faW50ZWxfYm9fYWxsb2MoYm1nci0+YnVmbWdyLCAiIiwgc2l6ZSwg NDA5Nik7CisKKwlpbnRlbF9idWZfaW5pdF91c2luZ19oYW5kbGUoYm1nci0+Ym9wcywKKwkJCQkg ICAgYnVmLT5iby0+aGFuZGxlLAorCQkJCSAgICAmaWJ1ZiwKKwkJCQkgICAgd2lkdGgsIGhlaWdo dCwgYnBwLCB0aWxpbmcsCisJCQkJICAgIGNvbXByZXNzaW9uKTsKKworCWJ1Zi0+YXV4Lm9mZnNl dCA9IGlidWYuYXV4Lm9mZnNldDsKKwlidWYtPmF1eC5zdHJpZGUgPSBpYnVmLmF1eC5zdHJpZGU7 Cit9CmRpZmYgLS1naXQgYS9saWIvcmVuZGVyY29weV9idWZtZ3IuaCBiL2xpYi9yZW5kZXJjb3B5 X2J1Zm1nci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi44ZDhhMWEwNAot LS0gL2Rldi9udWxsCisrKyBiL2xpYi9yZW5kZXJjb3B5X2J1Zm1nci5oCkBAIC0wLDAgKzEsMjgg QEAKKyNpZm5kZWYgX19SRU5ERVJDT1BZX0JVRk1HUl9IX18KKyNkZWZpbmUgX19SRU5ERVJDT1BZ X0JVRk1HUl9IX18KKworI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgImludGVsX2J1Zm9w cy5oIgorI2luY2x1ZGUgImludGVsX2JhdGNoYnVmZmVyLmgiCisKK3N0cnVjdCByZW5kZXJjb3B5 X2J1Zm1ncjsKKworc3RydWN0IHJlbmRlcmNvcHlfYnVmbWdyICpyZW5kZXJjb3B5X2J1Zm1ncl9j cmVhdGUoaW50IGZkLAorCQkJCQkJICAgZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdyKTsKK3ZvaWQg cmVuZGVyY29weV9idWZtZ3JfZGVzdHJveShzdHJ1Y3QgcmVuZGVyY29weV9idWZtZ3IgKmJtZ3Ip OworCitib29sIHJlbmRlcmNvcHlfYnVmbWdyX3NldF9zb2Z0d2FyZV90aWxpbmcoc3RydWN0IHJl bmRlcmNvcHlfYnVmbWdyICpibWdyLAorCQkJCQkgICB1aW50MzJfdCB0aWxpbmcsCisJCQkJCSAg IGJvb2wgdXNlX3NvZnR3YXJlX3RpbGluZyk7CisKK3ZvaWQgaWd0X2J1Zl90b19saW5lYXIoc3Ry dWN0IHJlbmRlcmNvcHlfYnVmbWdyICpibWdyLCBzdHJ1Y3QgaWd0X2J1ZiAqYnVmLAorCQkgICAg ICAgdWludDMyX3QgKmxpbmVhcik7CisKK3ZvaWQgbGluZWFyX3RvX2lndF9idWYoc3RydWN0IHJl bmRlcmNvcHlfYnVmbWdyICpibWdyLCBzdHJ1Y3QgaWd0X2J1ZiAqYnVmLAorCQkgICAgICAgdWlu dDMyX3QgKmxpbmVhcik7CisKK3ZvaWQgaWd0X2J1Zl9pbml0KHN0cnVjdCByZW5kZXJjb3B5X2J1 Zm1nciAqYm1nciwgc3RydWN0IGlndF9idWYgKmJ1ZiwKKwkJICBpbnQgd2lkdGgsIGludCBoZWln aHQsIGludCBicHAsCisJCSAgdWludDMyX3QgdGlsaW5nLCBib29sIGNvbXByZXNzaW9uKTsKKwor I2VuZGlmCi0tIAoyLjIzLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRl dgo=