From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id D1A4D6E88B for ; Wed, 3 Apr 2019 09:50:08 +0000 (UTC) From: Maarten Lankhorst Date: Wed, 3 Apr 2019 11:50:05 +0200 Message-Id: <20190403095005.676-1-maarten.lankhorst@linux.intel.com> In-Reply-To: <20190402191247.26247-1-maarten.lankhorst@linux.intel.com> References: <20190402191247.26247-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t] lib/igt_fb: Add cairo conversion to igt_fb_convert_with_stride, v2. 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: ZmJfY29udmVydCgpIGNhbm5vdCBjb252ZXJ0IHRvIHRoZSBIRFIgZm9ybWF0cywgc28gd2UgbmVl ZCBhIGZhbGxiYWNrLgpXaGVuIGNhaXJvIGlzIGF2YWlsYWJsZSBvbiBzb3VyY2UgYW5kIHRhcmdl dCBmb3JtYXQsIGNyZWF0ZSBhIHN1cmZhY2UKZm9yIHNvdXJjZSBhbmQgdGFyZ2V0LiBUaGlzIHdh eSB3ZSBjYW4gY29udmVydCBmcmFtZWJ1ZmZlcnMgZGlyZWN0bHkKd2hlbiBubyBkaXJlY3QgY29u dmVyc2lvbiB1c2luZyBmYl9jb252ZXJ0KCkgaXMgYXZhaWxhYmxlLgoKVGhpcyBpcyByZXF1aXJl ZCB0byBtYWtlIHRoZSBrbXNfY2hhbWVsaXVtLiotY21wLXBsYW5lcy1yYW5kb20gdGVzdHMKcGFz cy4KCkNoYW5nZXMgc2luY2UgdjE6Ci0gUmV0dXJuIGZiX2lkIGluIHRoZSBjYWlybyBjYXNlLgoK U2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4 LmludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2ZiLmMgfCA5MCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTYgaW5zZXJ0 aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9mYi5jIGIvbGli L2lndF9mYi5jCmluZGV4IDZhZGY0MjIyMjhlOC4uYTc5YjNmODMyYzUxIDEwMDY0NAotLS0gYS9s aWIvaWd0X2ZiLmMKKysrIGIvbGliL2lndF9mYi5jCkBAIC0yOTc2LDUzICsyOTc2LDc1IEBAIHVu c2lnbmVkIGludCBpZ3RfZmJfY29udmVydF93aXRoX3N0cmlkZShzdHJ1Y3QgaWd0X2ZiICpkc3Qs IHN0cnVjdCBpZ3RfZmIgKnNyYywKIAl2b2lkICpkc3RfcHRyLCAqc3JjX3B0cjsKIAl1aW50NjRf dCBiYXNlX21vZGlmaWVyOwogCWludCBmYl9pZDsKKwljb25zdCBzdHJ1Y3QgZm9ybWF0X2Rlc2Nf c3RydWN0ICpzcmNfZm9ybWF0ID0gbG9va3VwX2RybV9mb3JtYXQoc3JjLT5kcm1fZm9ybWF0KTsK Kwljb25zdCBzdHJ1Y3QgZm9ybWF0X2Rlc2Nfc3RydWN0ICpkc3RfZm9ybWF0ID0gbG9va3VwX2Ry bV9mb3JtYXQoZHN0X2ZvdXJjYyk7CiAKIAlpZiAoaXNfdmM0X2RldmljZShzcmMtPmZkKSkKIAkJ YmFzZV9tb2RpZmllciA9IGZvdXJjY19tb2RfYnJvYWRjb21fbW9kKGRzdF9tb2RpZmllcik7CiAJ ZWxzZQogCQliYXNlX21vZGlmaWVyID0gZHN0X21vZGlmaWVyOwogCi0JZmJfaWQgPSBpZ3RfY3Jl YXRlX2ZiX3dpdGhfYm9fc2l6ZShzcmMtPmZkLCBzcmMtPndpZHRoLCBzcmMtPmhlaWdodCwKLQkJ CQkJICAgZHN0X2ZvdXJjYywKLQkJCQkJICAgTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9ORSwgJmxp bmVhciwKLQkJCQkJICAgMCwgZHN0X3N0cmlkZSk7Ci0JaWd0X2Fzc2VydChmYl9pZCA+IDApOwor CWlmIChzcmNfZm9ybWF0LT5jYWlyb19pZCA9PSBDQUlST19GT1JNQVRfSU5WQUxJRCB8fAorCSAg ICBkc3RfZm9ybWF0LT5jYWlyb19pZCA9PSBDQUlST19GT1JNQVRfSU5WQUxJRCkgeworCQlmYl9p ZCA9IGlndF9jcmVhdGVfZmJfd2l0aF9ib19zaXplKHNyYy0+ZmQsIHNyYy0+d2lkdGgsIHNyYy0+ aGVpZ2h0LAorCQkJCQkJZHN0X2ZvdXJjYywKKwkJCQkJCUxPQ0FMX0RSTV9GT1JNQVRfTU9EX05P TkUsICZsaW5lYXIsCisJCQkJCQkwLCBkc3Rfc3RyaWRlKTsKKwkJaWd0X2Fzc2VydChmYl9pZCA+ IDApOwogCi0Jc3JjX3B0ciA9IGlndF9mYl9tYXBfYnVmZmVyKHNyYy0+ZmQsIHNyYyk7Ci0JaWd0 X2Fzc2VydChzcmNfcHRyKTsKKwkJc3JjX3B0ciA9IGlndF9mYl9tYXBfYnVmZmVyKHNyYy0+ZmQs IHNyYyk7CisJCWlndF9hc3NlcnQoc3JjX3B0cik7CiAKLQlkc3RfcHRyID0gaWd0X2ZiX21hcF9i dWZmZXIobGluZWFyLmZkLCAmbGluZWFyKTsKLQlpZ3RfYXNzZXJ0KGRzdF9wdHIpOworCQlkc3Rf cHRyID0gaWd0X2ZiX21hcF9idWZmZXIobGluZWFyLmZkLCAmbGluZWFyKTsKKwkJaWd0X2Fzc2Vy dChkc3RfcHRyKTsKIAotCWN2dC5kc3QucHRyID0gZHN0X3B0cjsKLQljdnQuZHN0LmZiID0gJmxp bmVhcjsKLQljdnQuc3JjLnB0ciA9IHNyY19wdHI7Ci0JY3Z0LnNyYy5mYiA9IHNyYzsKLQlmYl9j b252ZXJ0KCZjdnQpOworCQljdnQuZHN0LnB0ciA9IGRzdF9wdHI7CisJCWN2dC5kc3QuZmIgPSAm bGluZWFyOworCQljdnQuc3JjLnB0ciA9IHNyY19wdHI7CisJCWN2dC5zcmMuZmIgPSBzcmM7CisJ CWZiX2NvbnZlcnQoJmN2dCk7CiAKLQlpZ3RfZmJfdW5tYXBfYnVmZmVyKGRzdCwgZHN0X3B0cik7 Ci0JaWd0X2ZiX3VubWFwX2J1ZmZlcihzcmMsIHNyY19wdHIpOworCQlpZ3RfZmJfdW5tYXBfYnVm ZmVyKGRzdCwgZHN0X3B0cik7CisJCWlndF9mYl91bm1hcF9idWZmZXIoc3JjLCBzcmNfcHRyKTsK IAotCXN3aXRjaCAoYmFzZV9tb2RpZmllcikgewotCWNhc2UgRFJNX0ZPUk1BVF9NT0RfQlJPQURD T01fVkM0X1RfVElMRUQ6Ci0JCWZiX2lkID0gaWd0X3ZjNF9mYl90X3RpbGVkX2NvbnZlcnQoZHN0 LCAmbGluZWFyKTsKLQkJYnJlYWs7Ci0JY2FzZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9TQU5E MzI6Ci0JY2FzZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9TQU5ENjQ6Ci0JY2FzZSBEUk1fRk9S TUFUX01PRF9CUk9BRENPTV9TQU5EMTI4OgotCWNhc2UgRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01f U0FORDI1NjoKLQkJZmJfaWQgPSB2YzRfZmJfc2FuZF90aWxlZF9jb252ZXJ0KGRzdCwgJmxpbmVh ciwgZHN0X21vZGlmaWVyKTsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJaWd0X2Fzc2VydChkc3Rf bW9kaWZpZXIgPT0gTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9ORSk7Ci0JfQorCQlzd2l0Y2ggKGJh c2VfbW9kaWZpZXIpIHsKKwkJY2FzZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9WQzRfVF9USUxF RDoKKwkJCWZiX2lkID0gaWd0X3ZjNF9mYl90X3RpbGVkX2NvbnZlcnQoZHN0LCAmbGluZWFyKTsK KwkJCWJyZWFrOworCQljYXNlIERSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1NBTkQzMjoKKwkJY2Fz ZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9TQU5ENjQ6CisJCWNhc2UgRFJNX0ZPUk1BVF9NT0Rf QlJPQURDT01fU0FORDEyODoKKwkJY2FzZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9TQU5EMjU2 OgorCQkJZmJfaWQgPSB2YzRfZmJfc2FuZF90aWxlZF9jb252ZXJ0KGRzdCwgJmxpbmVhciwgZHN0 X21vZGlmaWVyKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJaWd0X2Fzc2VydChkc3RfbW9k aWZpZXIgPT0gTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9ORSk7CisJCX0KIAotCWlndF9hc3NlcnQo ZmJfaWQgPiAwKTsKKwkJaWd0X2Fzc2VydChmYl9pZCA+IDApOwogCi0JaWYgKGRzdF9tb2RpZmll ciA9PSBMT0NBTF9EUk1fRk9STUFUX01PRF9OT05FKQotCQkqZHN0ID0gbGluZWFyOwotCWVsc2UK LQkJaWd0X3JlbW92ZV9mYihsaW5lYXIuZmQsICZsaW5lYXIpOworCQlpZiAoZHN0X21vZGlmaWVy ID09IExPQ0FMX0RSTV9GT1JNQVRfTU9EX05PTkUpCisJCQkqZHN0ID0gbGluZWFyOworCQllbHNl CisJCQlpZ3RfcmVtb3ZlX2ZiKGxpbmVhci5mZCwgJmxpbmVhcik7CisJfSBlbHNlIHsKKwkJLyog VXNlIHRoZSBjYWlybyBhcGkgdG8gY29udmVydCAqLworCQljYWlyb19zdXJmYWNlX3QgKnN1cmYg PSBpZ3RfZ2V0X2NhaXJvX3N1cmZhY2Uoc3JjLT5mZCwgc3JjKTsKKwkJY2Fpcm9fdCAqY3I7CisK KwkJZmJfaWQgPSBpZ3RfY3JlYXRlX2ZiX3dpdGhfYm9fc2l6ZShzcmMtPmZkLCBzcmMtPndpZHRo LAorCQkJCQkJICAgc3JjLT5oZWlnaHQsIGRzdF9mb3VyY2MsCisJCQkJCQkgICBkc3RfbW9kaWZp ZXIsIGRzdCwgMCwKKwkJCQkJCSAgIGRzdF9zdHJpZGUpOworCQlpZ3RfYXNzZXJ0KGZiX2lkID4g MCk7CisKKwkJY3IgPSBpZ3RfZ2V0X2NhaXJvX2N0eChkc3QtPmZkLCBkc3QpOworCQljYWlyb19z ZXRfc291cmNlX3N1cmZhY2UoY3IsIHN1cmYsIDAsIDApOworCQljYWlyb19wYWludChjcik7CisJ CWlndF9wdXRfY2Fpcm9fY3R4KGRzdC0+ZmQsIGRzdCwgY3IpOworCisJCWNhaXJvX3N1cmZhY2Vf ZGVzdHJveShzdXJmKTsKKwl9CiAKIAlyZXR1cm4gZmJfaWQ7CiB9Ci0tIAoyLjIwLjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGlu ZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==