From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Foss Subject: [PATCH i-g-t v2 10/33] tests/kms_cursor_legacy: Add support for dynamic number of planes Date: Tue, 24 Jan 2017 18:33:37 -0500 Message-ID: <20170124233400.5053-11-robert.foss@collabora.com> References: <20170124233400.5053-1-robert.foss@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8D9686E8A5 for ; Tue, 24 Jan 2017 23:34:42 +0000 (UTC) In-Reply-To: <20170124233400.5053-1-robert.foss@collabora.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, Tomeu Vizoso , Maarten Lankhorst , Gustavo Padovan , Daniel Stone , Mika Kahola , Petri Latvala List-Id: intel-gfx@lists.freedesktop.org QWRkIGNoYW5nZXMgcmVmbGVjdGluZyB0aGUgbmV3IHN1cHBvcnQgZm9yIGR5bmFtaWMgbnVtYmVy IG9mIHBsYW5lcyBwZXIgcGlwZS4KClNpZ25lZC1vZmYtYnk6IFJvYmVydCBGb3NzIDxyb2JlcnQu Zm9zc0Bjb2xsYWJvcmEuY29tPgotLS0KIHRlc3RzL2ttc19jdXJzb3JfbGVnYWN5LmMgfCAzMiAr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2Vy dGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jdXJzb3Jf bGVnYWN5LmMgYi90ZXN0cy9rbXNfY3Vyc29yX2xlZ2FjeS5jCmluZGV4IDcwNzU0NmNkLi5jNzA4 M2EwNyAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2N1cnNvcl9sZWdhY3kuYworKysgYi90ZXN0cy9r bXNfY3Vyc29yX2xlZ2FjeS5jCkBAIC0xNjYsNyArMTY2LDcgQEAgc3RhdGljIGlndF9vdXRwdXRf dCAqc2V0X2ZiX29uX2NydGMoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgaW50IHBpcGUsIHN0cnVj dCBpZ3QKIAkJCSAgICAgIG1vZGUtPmhkaXNwbGF5LCBtb2RlLT52ZGlzcGxheSwKIAkJCSAgICAg IERSTV9GT1JNQVRfWFJHQjg4ODgsIEk5MTVfVElMSU5HX05PTkUsIGZiX2luZm8pOwogCi0JCXBy aW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZShvdXRwdXQsIElHVF9QTEFORV9QUklNQVJZKTsK KwkJcHJpbWFyeSA9IGlndF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUob3V0cHV0LCBEUk1fUExBTkVf VFlQRV9QUklNQVJZKTsKIAkJaWd0X3BsYW5lX3NldF9mYihwcmltYXJ5LCBmYl9pbmZvKTsKIAog CQlyZXR1cm4gb3V0cHV0OwpAQCAtMTgwLDcgKzE4MCw3IEBAIHN0YXRpYyB2b2lkIHNldF9jdXJz b3Jfb25fcGlwZShpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIHBpcGUgcGlwZSwgc3RydWN0 IGlnCiAJaWd0X3BsYW5lX3QgKnBsYW5lLCAqY3Vyc29yID0gTlVMTDsKIAogCWZvcl9lYWNoX3Bs YW5lX29uX3BpcGUoZGlzcGxheSwgcGlwZSwgcGxhbmUpIHsKLQkJaWYgKCFwbGFuZS0+aXNfY3Vy c29yKQorCQlpZiAocGxhbmUtPnR5cGUgIT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKQogCQkJY29u dGludWU7CiAKIAkJY3Vyc29yID0gcGxhbmU7CkBAIC0yNTAsMTMgKzI1MCwxNCBAQCBzdGF0aWMg ZW51bSBwaXBlIGZpbmRfY29ubmVjdGVkX3BpcGUoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgYm9v bCBzZWNvbmQpCiAJcmV0dXJuIHBpcGU7CiB9CiAKLXN0YXRpYyB2b2lkIGZsaXBfbm9uYmxvY2tp bmcoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGUsIGJvb2wgYXRvbWljLCBz dHJ1Y3QgaWd0X2ZiICpmYikKK3N0YXRpYyB2b2lkIGZsaXBfbm9uYmxvY2tpbmcoaWd0X2Rpc3Bs YXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGVfaWQsIGJvb2wgYXRvbWljLCBzdHJ1Y3QgaWd0 X2ZiICpmYikKIHsKLQlpZ3RfcGxhbmVfdCAqcHJpbWFyeSA9ICZkaXNwbGF5LT5waXBlc1twaXBl XS5wbGFuZXNbSUdUX1BMQU5FX1BSSU1BUlldOworCWlndF9waXBlX3QgKnBpcGUgPSAmZGlzcGxh eS0+cGlwZXNbcGlwZV9pZF07CisJaWd0X3BsYW5lX3QgKnByaW1hcnkgPSBpZ3RfcGlwZV9nZXRf cGxhbmVfdHlwZShwaXBlLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKIAogCWlmICghYXRvbWlj KSB7CiAJCS8qIFNjaGVkdWxlIGEgbm9uYmxvY2tpbmcgZmxpcCBmb3IgdGhlIG5leHQgdmJsYW5r ICovCi0JCWRvX29yX2RpZShkcm1Nb2RlUGFnZUZsaXAoZGlzcGxheS0+ZHJtX2ZkLCBkaXNwbGF5 LT5waXBlc1twaXBlXS5jcnRjX2lkLCBmYi0+ZmJfaWQsCisJCWRvX29yX2RpZShkcm1Nb2RlUGFn ZUZsaXAoZGlzcGxheS0+ZHJtX2ZkLCBwaXBlLT5jcnRjX2lkLCBmYi0+ZmJfaWQsCiAJCQkJCURS TV9NT0RFX1BBR0VfRkxJUF9FVkVOVCwgZmIpKTsKIAl9IGVsc2UgewogCQlpZ3RfcGxhbmVfc2V0 X2ZiKHByaW1hcnksIGZiKTsKQEAgLTI5OCwxMiArMjk5LDEzIEBAIHN0YXRpYyBib29sIG1vZGVf cmVxdWlyZXNfZXh0cmFfdmJsYW5rKGVudW0gZmxpcF90ZXN0IG1vZGUpCiAJcmV0dXJuIGZhbHNl OwogfQogCi1zdGF0aWMgdm9pZCB0cmFuc2l0aW9uX25vbmJsb2NraW5nKGlndF9kaXNwbGF5X3Qg KmRpc3BsYXksIGVudW0gcGlwZSBwaXBlLAorc3RhdGljIHZvaWQgdHJhbnNpdGlvbl9ub25ibG9j a2luZyhpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIHBpcGUgcGlwZV9pZCwKIAkJCQkgICBz dHJ1Y3QgaWd0X2ZiICpwcmltX2ZiLCBzdHJ1Y3QgaWd0X2ZiICphcmdiX2ZiLAogCQkJCSAgIGJv b2wgaGlkZV9zcHJpdGUpCiB7Ci0JaWd0X3BsYW5lX3QgKnByaW1hcnkgPSAmZGlzcGxheS0+cGlw ZXNbcGlwZV0ucGxhbmVzW0lHVF9QTEFORV9QUklNQVJZXTsKLQlpZ3RfcGxhbmVfdCAqc3ByaXRl ID0gJmRpc3BsYXktPnBpcGVzW3BpcGVdLnBsYW5lc1tJR1RfUExBTkVfMl07CisJaWd0X3BpcGVf dCAqcGlwZSA9ICZkaXNwbGF5LT5waXBlc1twaXBlX2lkXTsKKwlpZ3RfcGxhbmVfdCAqcHJpbWFy eSA9IGlndF9waXBlX2dldF9wbGFuZV90eXBlKHBpcGUsIERSTV9QTEFORV9UWVBFX1BSSU1BUlkp OworCWlndF9wbGFuZV90ICpzcHJpdGUgPSBpZ3RfcGlwZV9nZXRfcGxhbmVfdHlwZShwaXBlLCBE Uk1fUExBTkVfVFlQRV9PVkVSTEFZKTsKIAogCWlmIChoaWRlX3Nwcml0ZSkgewogCQlpZ3RfcGxh bmVfc2V0X2ZiKHByaW1hcnksIHByaW1fZmIpOwpAQCAtMzY5LDcgKzM3MSw3IEBAIHN0YXRpYyB2 b2lkIHByZXBhcmVfZmxpcF90ZXN0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXksCiAJaWYgKG1vZGUg PT0gZmxpcF90ZXN0X2F0b21pY190cmFuc2l0aW9ucyB8fAogCSAgICBtb2RlID09IGZsaXBfdGVz dF9hdG9taWNfdHJhbnNpdGlvbnNfdmFyeWluZ19zaXplKSB7CiAJCWlndF9yZXF1aXJlKGRpc3Bs YXktPnBpcGVzW2ZsaXBfcGlwZV0ubl9wbGFuZXMgPiAxICYmCi0JCQkgICAgIWRpc3BsYXktPnBp cGVzW2ZsaXBfcGlwZV0ucGxhbmVzW0lHVF9QTEFORV8yXS5pc19jdXJzb3IpOworCQkgICAgICAg ICAgICBkaXNwbGF5LT5waXBlc1tmbGlwX3BpcGVdLnBsYW5lc1sxXS50eXBlICE9IERSTV9QTEFO RV9UWVBFX0NVUlNPUik7CiAKIAkJaWd0X2NyZWF0ZV9jb2xvcl9wYXR0ZXJuX2ZiKGRpc3BsYXkt PmRybV9mZCwgcHJpbV9mYi0+d2lkdGgsIHByaW1fZmItPmhlaWdodCwKIAkJCQkJICAgIERSTV9G T1JNQVRfQVJHQjg4ODgsIDAsIC4xLCAuMSwgLjEsIGFyZ2JfZmIpOwpAQCAtODY4LDcgKzg3MCw3 IEBAIHN0YXRpYyB2b2lkIG5vbmJsb2NraW5nX21vZGVzZXRfdnNfY3Vyc29yKGlndF9kaXNwbGF5 X3QgKmRpc3BsYXksIGludCBsb29wcykKIAlhcmdbMF0uZmxhZ3MgfD0gRFJNX01PREVfQ1VSU09S X0JPOwogCiAJZm9yX2VhY2hfcGxhbmVfb25fcGlwZShkaXNwbGF5LCBwaXBlLCBwbGFuZSkgewot CQlpZiAoIXBsYW5lLT5pc19jdXJzb3IpCisJCWlmIChwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVf VFlQRV9DVVJTT1IpCiAJCQljb250aW51ZTsKIAogCQljdXJzb3IgPSBwbGFuZTsKQEAgLTEwMDgs NyArMTAxMCw3IEBAIHN0YXRpYyB2b2lkIHR3b19zY3JlZW5zX2ZsaXBfdnNfY3Vyc29yKGlndF9k aXNwbGF5X3QgKmRpc3BsYXksIGludCBubG9vcHMsIGJvb2wKIAkJCSAqIGluIHRoZSBzYW1lIGNv bW1pdC4KIAkJCSAqLwogCi0JCQlpZ3RfcGxhbmVfc2V0X2ZiKGlndF9vdXRwdXRfZ2V0X3BsYW5l KG91dHB1dCwgSUdUX1BMQU5FX1BSSU1BUlkpLCAmZmJfaW5mbyk7CisJCQlpZ3RfcGxhbmVfc2V0 X2ZiKGlndF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUob3V0cHV0LCBEUk1fUExBTkVfVFlQRV9QUklN QVJZKSwgJmZiX2luZm8pOwogCQkJaWd0X291dHB1dF9zZXRfcGlwZShvdXRwdXQyLCAobmxvb3Bz ICYgMSkgPyBQSVBFX05PTkUgOiBwaXBlMik7CiAJCQlpZ3RfZGlzcGxheV9jb21taXRfYXRvbWlj KGRpc3BsYXksIERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VUIHwgRFJNX01PREVfQVRPTUlD X05PTkJMT0NLLCBOVUxMKTsKIAkJfQpAQCAtMTMwOCw2ICsxMzEwLDggQEAgc3RhdGljIHZvaWQg ZmxpcF92c19jdXJzb3JfYnVzeV9jcmMoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgYm9vbCBhdG9t aWMpCiAJdW5zaWduZWQgdmJsYW5rX3N0YXJ0OwogCWVudW0gcGlwZSBwaXBlID0gZmluZF9jb25u ZWN0ZWRfcGlwZShkaXNwbGF5LCBmYWxzZSk7CiAJaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjOwor CWlndF9waXBlX3QgKnBpcGVfY29ubmVjdGVkID0gJmRpc3BsYXktPnBpcGVzW3BpcGVdOworCWln dF9wbGFuZV90ICpwbGFuZV9wcmltYXJ5ID0gaWd0X3BpcGVfZ2V0X3BsYW5lX3R5cGUocGlwZV9j b25uZWN0ZWQsIERSTV9QTEFORV9UWVBFX1BSSU1BUlkpOwogCWlndF9jcmNfdCBjcmNzWzNdOwog CiAJaWYgKGF0b21pYykKQEAgLTEzMzksMTAgKzEzNDMsMTAgQEAgc3RhdGljIHZvaWQgZmxpcF92 c19jdXJzb3JfYnVzeV9jcmMoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgYm9vbCBhdG9taWMpCiAJ ICAqIHNldHRpbmcgdGhlIGNvcnJlY3QgY2FjaGUgbGV2ZWwsIGVsc2Ugd2UgZ2V0IGEgc3RhbGwg aW4gdGhlCiAJICAqIHBhZ2UgZmxpcCBoYW5kbGVyLgogCSAgKi8KLQlpZ3RfcGxhbmVfc2V0X2Zi KCZkaXNwbGF5LT5waXBlc1twaXBlXS5wbGFuZXNbSUdUX1BMQU5FX1BSSU1BUlldLCAmZmJfaW5m b1sxXSk7CisJaWd0X3BsYW5lX3NldF9mYihwbGFuZV9wcmltYXJ5LCAmZmJfaW5mb1sxXSk7CiAJ aWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRfVU5JVkVSU0FMKTsKIAotCWlndF9w bGFuZV9zZXRfZmIoJmRpc3BsYXktPnBpcGVzW3BpcGVdLnBsYW5lc1tJR1RfUExBTkVfUFJJTUFS WV0sICZmYl9pbmZvWzBdKTsKKwlpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lX3ByaW1hcnksICZmYl9p bmZvWzBdKTsKIAlpZ3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXksIENPTU1JVF9VTklWRVJTQUwp OwogCiAJLyogRGlzYWJsZSBjdXJzb3IsIGFuZCBpbW1lZGlhdGVseSBxdWV1ZSBhIGZsaXAuIENo ZWNrIGlmIHJlc3VsdGluZyBjcmMgaXMgY29ycmVjdC4gKi8KQEAgLTEzNjgsNyArMTM3Miw3IEBA IHN0YXRpYyB2b2lkIGZsaXBfdnNfY3Vyc29yX2J1c3lfY3JjKGlndF9kaXNwbGF5X3QgKmRpc3Bs YXksIGJvb2wgYXRvbWljKQogCiAJCWlndF9hc3NlcnRfbHRlKHZibGFua19zdGFydCArIDEsIGdl dF92YmxhbmsoZGlzcGxheS0+ZHJtX2ZkLCBwaXBlLCAwKSk7CiAKLQkJaWd0X3BsYW5lX3NldF9m YigmZGlzcGxheS0+cGlwZXNbcGlwZV0ucGxhbmVzW0lHVF9QTEFORV9QUklNQVJZXSwgJmZiX2lu Zm9bMF0pOworCQlpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lX3ByaW1hcnksICZmYl9pbmZvWzBdKTsK IAkJaWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRfVU5JVkVSU0FMKTsKIAogCQlp Z3RfYXNzZXJ0X2NyY19lcXVhbCgmY3Jjc1tpXSwgJmNyY3NbMl0pOwotLSAKMi4xMS4wLjQ1My5n Nzg3Zjc1ZjA1CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK