From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id DB2B489EA3 for ; Mon, 13 Jan 2020 09:19:15 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Mon, 13 Jan 2020 10:19:06 +0100 Message-Id: <20200113091908.11983-4-zbigniew.kempczynski@intel.com> In-Reply-To: <20200113091908.11983-1-zbigniew.kempczynski@intel.com> References: <20200113091908.11983-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v7 3/5] 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 ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uMTlkM2EwM2UKLS0tIC9kZXYvbnVsbAorKysg 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 ZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYnBwLAorCQkgIHVpbnQzMl90IHRpbGluZywgdWludDMyX3Qg Y29tcHJlc3Npb24pCit7CisJc3RydWN0IGludGVsX2J1ZiBpYnVmOworCWludCBzaXplOworCWlu dCBjY3Nfd2lkdGgsIGNjc19oZWlnaHQ7CisJdWludDMyX3QgZGV2aWQ7CisJaW50IGdlbmVyYXRp b247CisKKwlkZXZpZCA9IGludGVsX2dldF9kcm1fZGV2aWQoYm1nci0+ZmQpOworCWdlbmVyYXRp b24gPSBpbnRlbF9nZW4oZGV2aWQpOworCisJaWd0X2Fzc2VydChidWYpOworCW1lbXNldChidWYs IDAsIHNpemVvZigqYnVmKSk7CisKKwlidWYtPnN1cmZhY2VbMF0uc3RyaWRlID0gQUxJR04od2lk dGggKiAoYnBwIC8gOCksIDEyOCk7CisJYnVmLT5zdXJmYWNlWzBdLnNpemUgPSBidWYtPnN1cmZh Y2VbMF0uc3RyaWRlICogaGVpZ2h0OworCWJ1Zi0+dGlsaW5nID0gdGlsaW5nOworCWJ1Zi0+YnBw ID0gYnBwOworCWJ1Zi0+Y29tcHJlc3Npb24gPSBjb21wcmVzc2lvbjsKKworCWNjc193aWR0aCA9 IGlndF9idWZfaW50ZWxfY2NzX3dpZHRoKGdlbmVyYXRpb24sIGJ1Zik7CisJY2NzX2hlaWdodCA9 IGlndF9idWZfaW50ZWxfY2NzX2hlaWdodChnZW5lcmF0aW9uLCBidWYpOworCisJc2l6ZSA9IGJ1 Zi0+c3VyZmFjZVswXS5zdHJpZGUgKiBBTElHTihoZWlnaHQsIDMyKTsKKworCWlmIChjb21wcmVz c2lvbikgeworCQlidWYtPmNjc1swXS5vZmZzZXQgPSBidWYtPnN1cmZhY2VbMF0uc3RyaWRlICog QUxJR04oaGVpZ2h0LCAzMik7CisJCWJ1Zi0+Y2NzWzBdLnN0cmlkZSA9IGNjc193aWR0aDsKKwkJ c2l6ZSA9IGJ1Zi0+Y2NzWzBdLm9mZnNldCArIGNjc193aWR0aCAqIGNjc19oZWlnaHQ7CisJfQor CisJYnVmLT5ibyA9IGRybV9pbnRlbF9ib19hbGxvYyhibWdyLT5idWZtZ3IsICIiLCBzaXplLCA0 MDk2KTsKKworCWludGVsX2J1Zl9pbml0X3VzaW5nX2hhbmRsZShibWdyLT5ib3BzLAorCQkJCSAg ICBidWYtPmJvLT5oYW5kbGUsCisJCQkJICAgICZpYnVmLAorCQkJCSAgICB3aWR0aCwgaGVpZ2h0 LCBicHAsIHRpbGluZywKKwkJCQkgICAgY29tcHJlc3Npb24pOworCisJYnVmLT5jY3NbMF0ub2Zm c2V0ID0gaWJ1Zi5hdXgub2Zmc2V0OworCWJ1Zi0+Y2NzWzBdLnN0cmlkZSA9IGlidWYuYXV4LnN0 cmlkZTsKK30KZGlmZiAtLWdpdCBhL2xpYi9yZW5kZXJjb3B5X2J1Zm1nci5oIGIvbGliL3JlbmRl cmNvcHlfYnVmbWdyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmY0ZTUx MThjCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3JlbmRlcmNvcHlfYnVmbWdyLmgKQEAgLTAsMCAr MSwyOCBAQAorI2lmbmRlZiBfX1JFTkRFUkNPUFlfQlVGTUdSX0hfXworI2RlZmluZSBfX1JFTkRF UkNPUFlfQlVGTUdSX0hfXworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSAiaW50ZWxf YnVmb3BzLmgiCisjaW5jbHVkZSAiaW50ZWxfYmF0Y2hidWZmZXIuaCIKKworc3RydWN0IHJlbmRl cmNvcHlfYnVmbWdyOworCitzdHJ1Y3QgcmVuZGVyY29weV9idWZtZ3IgKnJlbmRlcmNvcHlfYnVm bWdyX2NyZWF0ZShpbnQgZmQsCisJCQkJCQkgICBkcm1faW50ZWxfYnVmbWdyICpidWZtZ3IpOwor dm9pZCByZW5kZXJjb3B5X2J1Zm1ncl9kZXN0cm95KHN0cnVjdCByZW5kZXJjb3B5X2J1Zm1nciAq Ym1ncik7CisKK2Jvb2wgcmVuZGVyY29weV9idWZtZ3Jfc2V0X3NvZnR3YXJlX3RpbGluZyhzdHJ1 Y3QgcmVuZGVyY29weV9idWZtZ3IgKmJtZ3IsCisJCQkJCSAgIHVpbnQzMl90IHRpbGluZywKKwkJ CQkJICAgYm9vbCB1c2Vfc29mdHdhcmVfdGlsaW5nKTsKKwordm9pZCBpZ3RfYnVmX3RvX2xpbmVh cihzdHJ1Y3QgcmVuZGVyY29weV9idWZtZ3IgKmJtZ3IsIHN0cnVjdCBpZ3RfYnVmICpidWYsCisJ CSAgICAgICB1aW50MzJfdCAqbGluZWFyKTsKKwordm9pZCBsaW5lYXJfdG9faWd0X2J1ZihzdHJ1 Y3QgcmVuZGVyY29weV9idWZtZ3IgKmJtZ3IsIHN0cnVjdCBpZ3RfYnVmICpidWYsCisJCSAgICAg ICB1aW50MzJfdCAqbGluZWFyKTsKKwordm9pZCBpZ3RfYnVmX2luaXQoc3RydWN0IHJlbmRlcmNv cHlfYnVmbWdyICpibWdyLCBzdHJ1Y3QgaWd0X2J1ZiAqYnVmLAorCQkgIGludCB3aWR0aCwgaW50 IGhlaWdodCwgaW50IGJwcCwKKwkJICB1aW50MzJfdCB0aWxpbmcsIHVpbnQzMl90IGNvbXByZXNz aW9uKTsKKworI2VuZGlmCi0tIAoyLjIzLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaWd0LWRldgo=