From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id C101A6E183 for ; Wed, 8 Jan 2020 07:54:36 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Wed, 8 Jan 2020 08:54:10 +0100 Message-Id: <20200108075411.8943-3-zbigniew.kempczynski@intel.com> In-Reply-To: <20200108075411.8943-1-zbigniew.kempczynski@intel.com> References: <20200108075411.8943-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v5 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+Ci0tLQogbGliL01ha2VmaWxl LnNvdXJjZXMgICAgfCAgIDIgKwogbGliL21lc29uLmJ1aWxkICAgICAgICAgfCAgIDEgKwogbGli L3JlbmRlcmNvcHlfYnVmbWdyLmMgfCAxNzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogbGliL3JlbmRlcmNvcHlfYnVmbWdyLmggfCAgMjggKysrKysrKwogNCBmaWxl cyBjaGFuZ2VkLCAyMDYgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9yZW5k ZXJjb3B5X2J1Zm1nci5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3JlbmRlcmNvcHlfYnVmbWdy LmgKCmRpZmYgLS1naXQgYS9saWIvTWFrZWZpbGUuc291cmNlcyBiL2xpYi9NYWtlZmlsZS5zb3Vy Y2VzCmluZGV4IGRhMzRlYWU3Li5mZWI4YzIwZCAxMDA2NDQKLS0tIGEvbGliL01ha2VmaWxlLnNv dXJjZXMKKysrIGIvbGliL01ha2VmaWxlLnNvdXJjZXMKQEAgLTk1LDYgKzk1LDggQEAgbGliX3Nv dXJjZV9saXN0ID0JIAlcCiAJZ2VuN19yZW5kZXIuaAkJXAogCWdlbjhfcmVuZGVyLmgJCVwKIAln ZW45X3JlbmRlci5oCQlcCisJcmVuZGVyY29weV9idWZtZ3IuYwlcCisJcmVuZGVyY29weV9idWZt Z3IuaAlcCiAJcmVuZGVyY29weV9nZW40LmMJXAogCXJlbmRlcmNvcHlfZ2VuNi5jCVwKIAlyZW5k ZXJjb3B5X2dlbjcuYwlcCmRpZmYgLS1naXQgYS9saWIvbWVzb24uYnVpbGQgYi9saWIvbWVzb24u YnVpbGQKaW5kZXggY2YzZTM1ZGEuLjNiZjM5OTE1IDEwMDY0NAotLS0gYS9saWIvbWVzb24uYnVp bGQKKysrIGIvbGliL21lc29uLmJ1aWxkCkBAIC0zOSw2ICszOSw3IEBAIGxpYl9zb3VyY2VzID0g WwogCSdncHVfY21kcy5jJywKIAkncmVuZGVyY29weV9pOTE1LmMnLAogCSdyZW5kZXJjb3B5X2k4 MzAuYycsCisJJ3JlbmRlcmNvcHlfYnVmbWdyLmMnLAogCSdyZW5kZXJjb3B5X2dlbjQuYycsCiAJ J3JlbmRlcmNvcHlfZ2VuNi5jJywKIAkncmVuZGVyY29weV9nZW43LmMnLApkaWZmIC0tZ2l0IGEv bGliL3JlbmRlcmNvcHlfYnVmbWdyLmMgYi9saWIvcmVuZGVyY29weV9idWZtZ3IuYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYmI4MGY2MmMKLS0tIC9kZXYvbnVsbAorKysg Yi9saWIvcmVuZGVyY29weV9idWZtZ3IuYwpAQCAtMCwwICsxLDE3NSBAQAorLyoKKyAqIENvcHly aWdodCDCqSAyMDIwIEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJl YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAq IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz ICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJl c3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRv IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5z ZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQg cGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBz dWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29w eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBu ZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vi c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdB UkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQ UkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBB VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1B R0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS QUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENP Tk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwor ICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqLworCisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+Cisj aW5jbHVkZSAiaWd0LmgiCisjaW5jbHVkZSAiaWd0X3g4Ni5oIgorI2luY2x1ZGUgInJlbmRlcmNv cHlfYnVmbWdyLmgiCisKKy8qKgorICogU0VDVElPTjpyZW5kZXJjb3B5X2J1Zm1ncgorICogQHNo b3J0X2Rlc2NyaXB0aW9uOiBSZW5kZXIgY29weSBidWZmZXIgbWFuYWdlcgorICogQHRpdGxlOiBS ZW5kZXIgY29weSBidWZtZ3IKKyAqIEBpbmNsdWRlOiBpZ3QuaAorICoKKyAqICMgUmVuZGVyY29w eSBidWZmZXIgbWFuYWdlcgorICoKKyAqIFJlbmRlcmNvcHkgZGVwZW5kcyBvbiBsaWJkcm0gYW5k IGlndF9idWYsIHNvIHNvbWUgbWlkZGxlIGxheWVyIHRvIGludGVsX2J1ZgorICogYW5kIGJ1Zl9v cHMgaXMgcmVxdWlyZWQuCisgKgorICogfFs8IS0tIGxhbmd1YWdlPSJjIiAtLT4KKyAqIHN0cnVj dCByZW5kZXJjb3B5X2J1Zm1nciAqYm1ncjsKKyAqIC4uLgorICogYm1nciA9IHJlbmRlcmNvcHlf YnVmbWdyX2NyZWF0ZShmZCwgYnVmbWdyKTsKKyAqIC4uLgorICogaWd0X2J1Zl9pbml0KGJtZ3Is ICZidWYsIDUxMiwgNTEyLCAzMiwgSTkxNV9USUxJTkdfWCwgZmFsc2UpOworICogLi4uCisgKiBs aW5lYXJfdG9faWd0X2J1ZihibWdyLCAmYnVmLCBsaW5lYXIpOworICogLi4uCisgKiBpZ3RfYnVm X3RvX2xpbmVhcihibWdyLCAmYnVmLCBsaW5lYXIpOworICogLi4uCisgKiByZW5kZXJjb3B5X2J1 Zm1ncl9kZXN0cm95KGJtZ3IpOworICogXXwKKyAqLworCitzdHJ1Y3QgcmVuZGVyY29weV9idWZt Z3IgeworCWludCBmZDsKKwlkcm1faW50ZWxfYnVmbWdyICpidWZtZ3I7CisJc3RydWN0IGJ1Zl9v cHMgKmJvcHM7Cit9OworCitzdGF0aWMgdm9pZCBfX2lndF9idWZfdG9faW50ZWxfYnVmKHN0cnVj dCBpZ3RfYnVmICpidWYsIHN0cnVjdCBpbnRlbF9idWYgKmlidWYpCit7CisJaWJ1Zi0+aGFuZGxl ID0gYnVmLT5iby0+aGFuZGxlOworCWlidWYtPnN0cmlkZSA9IGJ1Zi0+c3VyZmFjZVswXS5zdHJp ZGU7CisJaWJ1Zi0+dGlsaW5nID0gYnVmLT50aWxpbmc7CisJaWJ1Zi0+YnBwID0gYnVmLT5icHA7 CisJaWJ1Zi0+c2l6ZSA9IGJ1Zi0+c3VyZmFjZVswXS5zaXplOworCWlidWYtPmNvbXByZXNzaW9u ID0gYnVmLT5jb21wcmVzc2lvbjsKKwlpYnVmLT5hdXgub2Zmc2V0ID0gYnVmLT5jY3NbMF0ub2Zm c2V0OworCWlidWYtPmF1eC5zdHJpZGUgPSBidWYtPmNjc1swXS5zdHJpZGU7Cit9CisKK3ZvaWQg aWd0X2J1Zl90b19saW5lYXIoc3RydWN0IHJlbmRlcmNvcHlfYnVmbWdyICpibWdyLCBzdHJ1Y3Qg aWd0X2J1ZiAqYnVmLAorCQkgICAgICAgdWludDMyX3QgKmxpbmVhcikKK3sKKwlzdHJ1Y3QgaW50 ZWxfYnVmIGlidWY7CisKKwlfX2lndF9idWZfdG9faW50ZWxfYnVmKGJ1ZiwgJmlidWYpOworCisJ aW50ZWxfYnVmX3RvX2xpbmVhcihibWdyLT5ib3BzLCAmaWJ1ZiwgbGluZWFyKTsKK30KKwordm9p ZCBsaW5lYXJfdG9faWd0X2J1ZihzdHJ1Y3QgcmVuZGVyY29weV9idWZtZ3IgKmJtZ3IsIHN0cnVj dCBpZ3RfYnVmICpidWYsCisJCSAgICAgICB1aW50MzJfdCAqbGluZWFyKQoreworCXN0cnVjdCBp bnRlbF9idWYgaWJ1ZjsKKworCV9faWd0X2J1Zl90b19pbnRlbF9idWYoYnVmLCAmaWJ1Zik7CisK KwlsaW5lYXJfdG9faW50ZWxfYnVmKGJtZ3ItPmJvcHMsICZpYnVmLCBsaW5lYXIpOworfQorCitz dHJ1Y3QgcmVuZGVyY29weV9idWZtZ3IgKnJlbmRlcmNvcHlfYnVmbWdyX2NyZWF0ZShpbnQgZmQs CisJCQkJCQkgICBkcm1faW50ZWxfYnVmbWdyICpidWZtZ3IpCit7CisJc3RydWN0IGJ1Zl9vcHMg KmJvcHM7CisJc3RydWN0IHJlbmRlcmNvcHlfYnVmbWdyICpibWdyOworCisJaWd0X2Fzc2VydChi dWZtZ3IpOworCisJYm9wcyA9IGJ1Zl9vcHNfY3JlYXRlKGZkKTsKKwlpZ3RfYXNzZXJ0KGJvcHMp OworCisJYm1nciA9IGNhbGxvYygxLCBzaXplb2YoKmJtZ3IpKTsKKwlpZ3RfYXNzZXJ0KGJtZ3Ip OworCisJYm1nci0+ZmQgPSBmZDsKKwlibWdyLT5idWZtZ3IgPSBidWZtZ3I7CisJYm1nci0+Ym9w cyA9IGJvcHM7CisKKwlyZXR1cm4gYm1ncjsKK30KKwordm9pZCByZW5kZXJjb3B5X2J1Zm1ncl9k ZXN0cm95KHN0cnVjdCByZW5kZXJjb3B5X2J1Zm1nciAqYm1ncikKK3sKKwlpZ3RfYXNzZXJ0KGJt Z3IpOworCWlndF9hc3NlcnQoYm1nci0+Ym9wcyk7CisKKwlidWZfb3BzX2Rlc3Ryb3koYm1nci0+ Ym9wcyk7CisJZnJlZShibWdyKTsKK30KKworYm9vbCByZW5kZXJjb3B5X2J1Zm1ncl9zZXRfc29m dHdhcmVfdGlsaW5nKHN0cnVjdCByZW5kZXJjb3B5X2J1Zm1nciAqYm1nciwKKwkJCQkJICAgdWlu dDMyX3QgdGlsaW5nLAorCQkJCQkgICBib29sIHVzZV9zb2Z0d2FyZV90aWxpbmcpCit7CisJcmV0 dXJuIGJ1Zl9vcHNfc2V0X3NvZnR3YXJlX3RpbGluZyhibWdyLT5ib3BzLCB0aWxpbmcsCisJCQkJ CSAgIHVzZV9zb2Z0d2FyZV90aWxpbmcpOworfQorCit2b2lkIGlndF9idWZfaW5pdChzdHJ1Y3Qg cmVuZGVyY29weV9idWZtZ3IgKmJtZ3IsIHN0cnVjdCBpZ3RfYnVmICpidWYsCisJCSAgaW50IHdp ZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYnBwLAorCQkgIHVpbnQzMl90IHRpbGluZywgYm9vbCBjb21w cmVzc2lvbikKK3sKKwlzdHJ1Y3QgaW50ZWxfYnVmIGlidWY7CisJaW50IHNpemU7CisJaW50IGNj c193aWR0aCwgY2NzX2hlaWdodDsKKwl1aW50MzJfdCBkZXZpZDsKKwlpbnQgZ2VuZXJhdGlvbjsK KworCWRldmlkID0gaW50ZWxfZ2V0X2RybV9kZXZpZChibWdyLT5mZCk7CisJZ2VuZXJhdGlvbiA9 IGludGVsX2dlbihkZXZpZCk7CisKKwlpZ3RfYXNzZXJ0KGJ1Zik7CisJbWVtc2V0KGJ1ZiwgMCwg c2l6ZW9mKCpidWYpKTsKKworCWJ1Zi0+c3VyZmFjZVswXS5zdHJpZGUgPSBBTElHTih3aWR0aCAq IChicHAgLyA4KSwgMTI4KTsKKwlidWYtPnN1cmZhY2VbMF0uc2l6ZSA9IGJ1Zi0+c3VyZmFjZVsw XS5zdHJpZGUgKiBoZWlnaHQ7CisJYnVmLT50aWxpbmcgPSB0aWxpbmc7CisJYnVmLT5icHAgPSBi cHA7CisJYnVmLT5jb21wcmVzc2lvbiA9IGNvbXByZXNzaW9uOworCisJY2NzX3dpZHRoID0gaWd0 X2J1Zl9jY3Nfd2lkdGgoZ2VuZXJhdGlvbiwgYnVmKTsKKwljY3NfaGVpZ2h0ID0gaWd0X2J1Zl9j Y3NfaGVpZ2h0KGdlbmVyYXRpb24sIGJ1Zik7CisKKwlzaXplID0gYnVmLT5zdXJmYWNlWzBdLnN0 cmlkZSAqIEFMSUdOKGhlaWdodCwgMzIpOworCisJaWYgKGNvbXByZXNzaW9uKSB7CisJCWJ1Zi0+ Y2NzWzBdLm9mZnNldCA9IGJ1Zi0+c3VyZmFjZVswXS5zdHJpZGUgKiBBTElHTihoZWlnaHQsIDMy KTsKKwkJYnVmLT5jY3NbMF0uc3RyaWRlID0gY2NzX3dpZHRoOworCQlzaXplID0gYnVmLT5jY3Nb MF0ub2Zmc2V0ICsgY2NzX3dpZHRoICogY2NzX2hlaWdodDsKKwl9CisKKwlidWYtPmJvID0gZHJt X2ludGVsX2JvX2FsbG9jKGJtZ3ItPmJ1Zm1nciwgIiIsIHNpemUsIDQwOTYpOworCisJaW50ZWxf YnVmX2luaXRfdXNpbmdfaGFuZGxlKGJtZ3ItPmJvcHMsCisJCQkJICAgIGJ1Zi0+Ym8tPmhhbmRs ZSwKKwkJCQkgICAgJmlidWYsCisJCQkJICAgIHdpZHRoLCBoZWlnaHQsIGJwcCwgdGlsaW5nLAor CQkJCSAgICBjb21wcmVzc2lvbik7CisKKwlidWYtPmNjc1swXS5vZmZzZXQgPSBpYnVmLmF1eC5v ZmZzZXQ7CisJYnVmLT5jY3NbMF0uc3RyaWRlID0gaWJ1Zi5hdXguc3RyaWRlOworfQpkaWZmIC0t Z2l0IGEvbGliL3JlbmRlcmNvcHlfYnVmbWdyLmggYi9saWIvcmVuZGVyY29weV9idWZtZ3IuaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uOGQ4YTFhMDQKLS0tIC9kZXYvbnVs bAorKysgYi9saWIvcmVuZGVyY29weV9idWZtZ3IuaApAQCAtMCwwICsxLDI4IEBACisjaWZuZGVm IF9fUkVOREVSQ09QWV9CVUZNR1JfSF9fCisjZGVmaW5lIF9fUkVOREVSQ09QWV9CVUZNR1JfSF9f CisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlICJpbnRlbF9idWZvcHMuaCIKKyNpbmNs dWRlICJpbnRlbF9iYXRjaGJ1ZmZlci5oIgorCitzdHJ1Y3QgcmVuZGVyY29weV9idWZtZ3I7CisK K3N0cnVjdCByZW5kZXJjb3B5X2J1Zm1nciAqcmVuZGVyY29weV9idWZtZ3JfY3JlYXRlKGludCBm ZCwKKwkJCQkJCSAgIGRybV9pbnRlbF9idWZtZ3IgKmJ1Zm1ncik7Cit2b2lkIHJlbmRlcmNvcHlf YnVmbWdyX2Rlc3Ryb3koc3RydWN0IHJlbmRlcmNvcHlfYnVmbWdyICpibWdyKTsKKworYm9vbCBy ZW5kZXJjb3B5X2J1Zm1ncl9zZXRfc29mdHdhcmVfdGlsaW5nKHN0cnVjdCByZW5kZXJjb3B5X2J1 Zm1nciAqYm1nciwKKwkJCQkJICAgdWludDMyX3QgdGlsaW5nLAorCQkJCQkgICBib29sIHVzZV9z b2Z0d2FyZV90aWxpbmcpOworCit2b2lkIGlndF9idWZfdG9fbGluZWFyKHN0cnVjdCByZW5kZXJj b3B5X2J1Zm1nciAqYm1nciwgc3RydWN0IGlndF9idWYgKmJ1ZiwKKwkJICAgICAgIHVpbnQzMl90 ICpsaW5lYXIpOworCit2b2lkIGxpbmVhcl90b19pZ3RfYnVmKHN0cnVjdCByZW5kZXJjb3B5X2J1 Zm1nciAqYm1nciwgc3RydWN0IGlndF9idWYgKmJ1ZiwKKwkJICAgICAgIHVpbnQzMl90ICpsaW5l YXIpOworCit2b2lkIGlndF9idWZfaW5pdChzdHJ1Y3QgcmVuZGVyY29weV9idWZtZ3IgKmJtZ3Is IHN0cnVjdCBpZ3RfYnVmICpidWYsCisJCSAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYnBw LAorCQkgIHVpbnQzMl90IHRpbGluZywgYm9vbCBjb21wcmVzc2lvbik7CisKKyNlbmRpZgotLSAK Mi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpp Z3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK