From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 738586E441 for ; Tue, 2 Apr 2019 16:33:54 +0000 (UTC) From: Ville Syrjala Date: Tue, 2 Apr 2019 19:33:44 +0300 Message-Id: <20190402163348.4680-2-ville.syrjala@linux.intel.com> In-Reply-To: <20190402163348.4680-1-ville.syrjala@linux.intel.com> References: <20190402163348.4680-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/6] tests/kms_color: Wrap LUTs in a gamma_lut_t struct 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: RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRv IG1ha2UgbGlmZSBlYXNpZXIgbGV0J3Mgd3JhcCB0aGUgTFVUcyBpbiBhIHNtYWxsIHN0cnVjdC4K ClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Ci0tLQogdGVzdHMva21zX2NvbG9yLmMgfCAxMTkgKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDY2IGluc2VydGlvbnMo KyksIDUzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jb2xvci5jIGIvdGVz dHMva21zX2NvbG9yLmMKaW5kZXggMWU1YTVkMzI5YmVhLi40M2U1OWRkNDJiMGIgMTAwNjQ0Ci0t LSBhL3Rlc3RzL2ttc19jb2xvci5jCisrKyBiL3Rlc3RzL2ttc19jb2xvci5jCkBAIC00Nyw2ICs0 NywxMCBAQCB0eXBlZGVmIHN0cnVjdCB7CiAJdWludDY0X3QgZ2FtbWFfbHV0X3NpemU7CiB9IGRh dGFfdDsKIAordHlwZWRlZiBzdHJ1Y3QgeworCWludCBzaXplOworCWRvdWJsZSBjb2VmZnNbXTsK K30gZ2FtbWFfbHV0X3Q7CiAKIHN0YXRpYyB2b2lkIHBhaW50X2dyYWRpZW50X3JlY3RhbmdsZXMo ZGF0YV90ICpkYXRhLAogCQkJCSAgICAgIGRybU1vZGVNb2RlSW5mbyAqbW9kZSwKQEAgLTEwNiw1 NSArMTEwLDY4IEBAIHN0YXRpYyB2b2lkIHBhaW50X3JlY3RhbmdsZXMoZGF0YV90ICpkYXRhLAog CWlndF9wdXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgZmIsIGNyKTsKIH0KIAotc3RhdGljIGRv dWJsZSAqZ2VuZXJhdGVfdGFibGUodWludDMyX3QgbHV0X3NpemUsIGRvdWJsZSBleHApCitzdGF0 aWMgZ2FtbWFfbHV0X3QgKmFsbG9jX2x1dChpbnQgbHV0X3NpemUpCiB7Ci0JZG91YmxlICpjb2Vm ZnM7Ci0JdWludDMyX3QgaTsKKwlnYW1tYV9sdXRfdCAqZ2FtbWE7CiAKIAlpZ3RfYXNzZXJ0X2x0 KDAsIGx1dF9zaXplKTsKIAotCWNvZWZmcyA9IG1hbGxvYyhzaXplb2YoZG91YmxlKSAqIGx1dF9z aXplKTsKKwlnYW1tYSA9IG1hbGxvYyhzaXplb2YoKmdhbW1hKSArIGx1dF9zaXplICogc2l6ZW9m KGdhbW1hLT5jb2VmZnNbMF0pKTsKKwlnYW1tYS0+c2l6ZSA9IGx1dF9zaXplOwogCi0JZm9yIChp ID0gMDsgaSA8IGx1dF9zaXplOyBpKyspCi0JCWNvZWZmc1tpXSA9IHBvd2YoKGRvdWJsZSkgaSAq IDEuMCAvIChkb3VibGUpIChsdXRfc2l6ZSAtIDEpLCBleHApOworCXJldHVybiBnYW1tYTsKK30K Kworc3RhdGljIHZvaWQgZnJlZV9sdXQoZ2FtbWFfbHV0X3QgKmdhbW1hKQoreworCWlmICghZ2Ft bWEpCisJCXJldHVybjsKIAotCXJldHVybiBjb2VmZnM7CisJZnJlZShnYW1tYSk7CiB9CiAKLXN0 YXRpYyBkb3VibGUgKmdlbmVyYXRlX3RhYmxlX21heCh1aW50MzJfdCBsdXRfc2l6ZSkKK3N0YXRp YyBnYW1tYV9sdXRfdCAqZ2VuZXJhdGVfdGFibGUoaW50IGx1dF9zaXplLCBkb3VibGUgZXhwKQog ewotCWRvdWJsZSAqY29lZmZzOwotCXVpbnQzMl90IGk7CisJZ2FtbWFfbHV0X3QgKmdhbW1hID0g YWxsb2NfbHV0KGx1dF9zaXplKTsKKwlpbnQgaTsKIAotCWlndF9hc3NlcnRfbHQoMCwgbHV0X3Np emUpOworCWdhbW1hLT5jb2VmZnNbMF0gPSAwLjA7CisJZm9yIChpID0gMTsgaSA8IGx1dF9zaXpl OyBpKyspCisJCWdhbW1hLT5jb2VmZnNbaV0gPSBwb3coaSAqIDEuMCAvIChsdXRfc2l6ZSAtIDEp LCBleHApOworCisJcmV0dXJuIGdhbW1hOworfQogCi0JY29lZmZzID0gbWFsbG9jKHNpemVvZihk b3VibGUpICogbHV0X3NpemUpOwotCWNvZWZmc1swXSA9IDAuMDsKK3N0YXRpYyBnYW1tYV9sdXRf dCAqZ2VuZXJhdGVfdGFibGVfbWF4KGludCBsdXRfc2l6ZSkKK3sKKwlnYW1tYV9sdXRfdCAqZ2Ft bWEgPSBhbGxvY19sdXQobHV0X3NpemUpOworCWludCBpOworCisJZ2FtbWEtPmNvZWZmc1swXSA9 IDAuMDsKIAlmb3IgKGkgPSAxOyBpIDwgbHV0X3NpemU7IGkrKykKLQkJY29lZmZzW2ldID0gMS4w OworCQlnYW1tYS0+Y29lZmZzW2ldID0gMS4wOwogCi0JcmV0dXJuIGNvZWZmczsKKwlyZXR1cm4g Z2FtbWE7CiB9CiAKLXN0YXRpYyBkb3VibGUgKmdlbmVyYXRlX3RhYmxlX3plcm8odWludDMyX3Qg bHV0X3NpemUpCitzdGF0aWMgZ2FtbWFfbHV0X3QgKmdlbmVyYXRlX3RhYmxlX3plcm8oaW50IGx1 dF9zaXplKQogewotCWRvdWJsZSAqY29lZmZzID0gbWFsbG9jKHNpemVvZihkb3VibGUpICogbHV0 X3NpemUpOwotCXVpbnQzMl90IGk7CisJZ2FtbWFfbHV0X3QgKmdhbW1hID0gYWxsb2NfbHV0KGx1 dF9zaXplKTsKKwlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBsdXRfc2l6ZTsgaSsrKQotCQlj b2VmZnNbaV0gPSAwLjA7CisJCWdhbW1hLT5jb2VmZnNbaV0gPSAwLjA7CiAKLQlyZXR1cm4gY29l ZmZzOworCXJldHVybiBnYW1tYTsKIH0KIAogc3RhdGljIHN0cnVjdCBkcm1fY29sb3JfbHV0ICpj b2VmZnNfdG9fbHV0KGRhdGFfdCAqZGF0YSwKLQkJCQkJICAgY29uc3QgZG91YmxlICpjb2VmZmlj aWVudHMsCi0JCQkJCSAgIHVpbnQzMl90IGx1dF9zaXplLAorCQkJCQkgICBjb25zdCBnYW1tYV9s dXRfdCAqZ2FtbWEsCiAJCQkJCSAgIHVpbnQzMl90IGNvbG9yX2RlcHRoLAogCQkJCQkgICBpbnQg b2ZmKQogewogCXN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQ7Ci0JdWludDMyX3QgaTsKKwlpbnQg aSwgbHV0X3NpemUgPSBnYW1tYS0+c2l6ZTsKIAl1aW50MzJfdCBtYXhfdmFsdWUgPSAoMSA8PCAx NikgLSAxOwogCXVpbnQzMl90IG1hc2s7CiAKQEAgLTE2OCw3ICsxODUsNyBAQCBzdGF0aWMgc3Ry dWN0IGRybV9jb2xvcl9sdXQgKmNvZWZmc190b19sdXQoZGF0YV90ICpkYXRhLAogCWlmIChJU19D SEVSUllWSUVXKGRhdGEtPmRldmlkKSkKIAkJbHV0X3NpemUgLT0gMTsKIAlmb3IgKGkgPSAwOyBp IDwgbHV0X3NpemU7IGkrKykgewotCQl1aW50MzJfdCB2ID0gKGNvZWZmaWNpZW50c1tpXSAqIG1h eF92YWx1ZSk7CisJCXVpbnQzMl90IHYgPSAoZ2FtbWEtPmNvZWZmc1tpXSAqIG1heF92YWx1ZSk7 CiAKIAkJLyoKIAkJICogSGFyZHdhcmUgbWlnaHQgZW5jb2RlIGNvbG9ycyBvbiBhIGRpZmZlcmVu dCBudW1iZXIgb2YgYml0cwpAQCAtMTkzLDEzICsyMTAsMTEgQEAgc3RhdGljIHN0cnVjdCBkcm1f Y29sb3JfbHV0ICpjb2VmZnNfdG9fbHV0KGRhdGFfdCAqZGF0YSwKIAogc3RhdGljIHZvaWQgc2V0 X2RlZ2FtbWEoZGF0YV90ICpkYXRhLAogCQkJaWd0X3BpcGVfdCAqcGlwZSwKLQkJCWNvbnN0IGRv dWJsZSAqY29lZmZpY2llbnRzKQorCQkJY29uc3QgZ2FtbWFfbHV0X3QgKmdhbW1hKQogewotCXNp emVfdCBzaXplID0gc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAqIGRhdGEtPmRlZ2FtbWFf bHV0X3NpemU7Ci0Jc3RydWN0IGRybV9jb2xvcl9sdXQgKmx1dCA9IGNvZWZmc190b19sdXQoZGF0 YSwKLQkJCQkJCSAgIGNvZWZmaWNpZW50cywKLQkJCQkJCSAgIGRhdGEtPmRlZ2FtbWFfbHV0X3Np emUsCi0JCQkJCQkgICBkYXRhLT5jb2xvcl9kZXB0aCwgMCk7CisJc2l6ZV90IHNpemUgPSBzaXpl b2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpICogZ2FtbWEtPnNpemU7CisJc3RydWN0IGRybV9jb2xv cl9sdXQgKmx1dCA9IGNvZWZmc190b19sdXQoZGF0YSwgZ2FtbWEsCisJCQkJCQkgIGRhdGEtPmNv bG9yX2RlcHRoLCAwKTsKIAogCWlndF9waXBlX29ial9yZXBsYWNlX3Byb3BfYmxvYihwaXBlLCBJ R1RfQ1JUQ19ERUdBTU1BX0xVVCwgbHV0LCBzaXplKTsKIApAQCAtMjA4LDE1ICsyMjMsMTMgQEAg c3RhdGljIHZvaWQgc2V0X2RlZ2FtbWEoZGF0YV90ICpkYXRhLAogCiBzdGF0aWMgdm9pZCBzZXRf Z2FtbWEoZGF0YV90ICpkYXRhLAogCQkgICAgICBpZ3RfcGlwZV90ICpwaXBlLAotCQkgICAgICBj b25zdCBkb3VibGUgKmNvZWZmaWNpZW50cykKKwkJICAgICAgY29uc3QgZ2FtbWFfbHV0X3QgKmdh bW1hKQogewotCXNpemVfdCBzaXplID0gc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAqIGRh dGEtPmdhbW1hX2x1dF9zaXplOwotCXN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQgPSBjb2VmZnNf dG9fbHV0KGRhdGEsCi0JCQkJCQkgICBjb2VmZmljaWVudHMsCi0JCQkJCQkgICBkYXRhLT5nYW1t YV9sdXRfc2l6ZSwKLQkJCQkJCSAgIGRhdGEtPmNvbG9yX2RlcHRoLCAwKTsKKwlzaXplX3Qgc2l6 ZSA9IHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2x1dCkgKiBnYW1tYS0+c2l6ZTsKKwlzdHJ1Y3Qg ZHJtX2NvbG9yX2x1dCAqbHV0ID0gY29lZmZzX3RvX2x1dChkYXRhLCBnYW1tYSwKKwkJCQkJCSAg ZGF0YS0+Y29sb3JfZGVwdGgsIDApOwogCi0JCWlndF9waXBlX29ial9yZXBsYWNlX3Byb3BfYmxv YihwaXBlLCBJR1RfQ1JUQ19HQU1NQV9MVVQsIGx1dCwgc2l6ZSk7CisJaWd0X3BpcGVfb2JqX3Jl cGxhY2VfcHJvcF9ibG9iKHBpcGUsIElHVF9DUlRDX0dBTU1BX0xVVCwgbHV0LCBzaXplKTsKIAog CWZyZWUobHV0KTsKIH0KQEAgLTI1Miw4ICsyNjUsOCBAQCBzdGF0aWMgdm9pZCB0ZXN0X3BpcGVf ZGVnYW1tYShkYXRhX3QgKmRhdGEsCiAJCQkgICAgICBpZ3RfcGxhbmVfdCAqcHJpbWFyeSkKIHsK IAlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKLQlkb3VibGUgKmRlZ2FtbWFfbGluZWFyLCAqZGVnYW1t YV9mdWxsOwotCWRvdWJsZSAqZ2FtbWFfbGluZWFyOworCWdhbW1hX2x1dF90ICpkZWdhbW1hX2xp bmVhciwgKmRlZ2FtbWFfZnVsbDsKKwlnYW1tYV9sdXRfdCAqZ2FtbWFfbGluZWFyOwogCWNvbG9y X3QgcmVkX2dyZWVuX2JsdWVbXSA9IHsKIAkJeyAxLjAsIDAuMCwgMC4wIH0sCiAJCXsgMC4wLCAx LjAsIDAuMCB9LApAQCAtMzIzLDkgKzMzNiw5IEBAIHN0YXRpYyB2b2lkIHRlc3RfcGlwZV9kZWdh bW1hKGRhdGFfdCAqZGF0YSwKIAkJaWd0X291dHB1dF9zZXRfcGlwZShvdXRwdXQsIFBJUEVfTk9O RSk7CiAJfQogCi0JZnJlZShkZWdhbW1hX2xpbmVhcik7Ci0JZnJlZShkZWdhbW1hX2Z1bGwpOwot CWZyZWUoZ2FtbWFfbGluZWFyKTsKKwlmcmVlX2x1dChkZWdhbW1hX2xpbmVhcik7CisJZnJlZV9s dXQoZGVnYW1tYV9mdWxsKTsKKwlmcmVlX2x1dChnYW1tYV9saW5lYXIpOwogfQogCiAvKgpAQCAt MzM2LDcgKzM0OSw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfcGlwZV9nYW1tYShkYXRhX3QgKmRhdGEs CiAJCQkgICAgaWd0X3BsYW5lX3QgKnByaW1hcnkpCiB7CiAJaWd0X291dHB1dF90ICpvdXRwdXQ7 Ci0JZG91YmxlICpnYW1tYV9mdWxsOworCWdhbW1hX2x1dF90ICpnYW1tYV9mdWxsOwogCWNvbG9y X3QgcmVkX2dyZWVuX2JsdWVbXSA9IHsKIAkJeyAxLjAsIDAuMCwgMC4wIH0sCiAJCXsgMC4wLCAx LjAsIDAuMCB9LApAQCAtNDAyLDcgKzQxNSw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfcGlwZV9nYW1t YShkYXRhX3QgKmRhdGEsCiAJCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBQSVBFX05PTkUp OwogCX0KIAotCWZyZWUoZ2FtbWFfZnVsbCk7CisJZnJlZV9sdXQoZ2FtbWFfZnVsbCk7CiB9CiAK IC8qCkBAIC01MzMsNyArNTQ2LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9waXBlX2xlZ2FjeV9nYW1t YV9yZXNldChkYXRhX3QgKmRhdGEsCiAJCTAuMCwgMC4wLCAxLjAKIAl9OwogCWRybU1vZGVDcnRj ICprbXNfY3J0YzsKLQlkb3VibGUgKmRlZ2FtbWFfbGluZWFyLCAqZ2FtbWFfemVybzsKKwlnYW1t YV9sdXRfdCAqZGVnYW1tYV9saW5lYXIsICpnYW1tYV96ZXJvOwogCXVpbnQzMl90IGksIGxlZ2Fj eV9sdXRfc2l6ZTsKIAl1aW50MTZfdCAqcmVkX2x1dCwgKmdyZWVuX2x1dCwgKmJsdWVfbHV0Owog CXN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQ7CkBAIC02MjIsOCArNjM1LDggQEAgc3RhdGljIHZv aWQgdGVzdF9waXBlX2xlZ2FjeV9nYW1tYV9yZXNldChkYXRhX3QgKmRhdGEsCiAJCWlndF9vdXRw dXRfc2V0X3BpcGUob3V0cHV0LCBQSVBFX05PTkUpOwogCX0KIAotCWZyZWUoZGVnYW1tYV9saW5l YXIpOwotCWZyZWUoZ2FtbWFfemVybyk7CisJZnJlZV9sdXQoZGVnYW1tYV9saW5lYXIpOworCWZy ZWVfbHV0KGdhbW1hX3plcm8pOwogfQogCiBzdGF0aWMgYm9vbCBjcmNfZXF1YWwoaWd0X2NyY190 ICphLCBpZ3RfY3JjX3QgKmIpCkBAIC02NDYsNyArNjU5LDcgQEAgc3RhdGljIGJvb2wgdGVzdF9w aXBlX2N0bShkYXRhX3QgKmRhdGEsCiAJCTAuMCwgMS4wLCAwLjAsCiAJCTAuMCwgMC4wLCAxLjAK IAl9OwotCWRvdWJsZSAqZGVnYW1tYV9saW5lYXIsICpnYW1tYV9saW5lYXI7CisJZ2FtbWFfbHV0 X3QgKmRlZ2FtbWFfbGluZWFyLCAqZ2FtbWFfbGluZWFyOwogCWlndF9vdXRwdXRfdCAqb3V0cHV0 OwogCWJvb2wgcmV0ID0gdHJ1ZTsKIApAQCAtNzA5LDggKzcyMiw4IEBAIHN0YXRpYyBib29sIHRl c3RfcGlwZV9jdG0oZGF0YV90ICpkYXRhLAogCQlpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwg UElQRV9OT05FKTsKIAl9CiAKLQlmcmVlKGRlZ2FtbWFfbGluZWFyKTsKLQlmcmVlKGdhbW1hX2xp bmVhcik7CisJZnJlZV9sdXQoZGVnYW1tYV9saW5lYXIpOworCWZyZWVfbHV0KGdhbW1hX2xpbmVh cik7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtNzQ1LDcgKzc1OCw3IEBAIHN0YXRpYyB2b2lkIHRl c3RfcGlwZV9saW1pdGVkX3JhbmdlX2N0bShkYXRhX3QgKmRhdGEsCiAJZG91YmxlIGN0bVtdID0g eyAxLjAsIDAuMCwgMC4wLAogCQkJMC4wLCAxLjAsIDAuMCwKIAkJCTAuMCwgMC4wLCAxLjAgfTsK LQlkb3VibGUgKmRlZ2FtbWFfbGluZWFyLCAqZ2FtbWFfbGluZWFyOworCWdhbW1hX2x1dF90ICpk ZWdhbW1hX2xpbmVhciwgKmdhbW1hX2xpbmVhcjsKIAlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKIAli b29sIGhhc19icm9hZGNhc3RfcmdiX291dHB1dCA9IGZhbHNlOwogCkBAIC04MTQsOCArODI3LDgg QEAgc3RhdGljIHZvaWQgdGVzdF9waXBlX2xpbWl0ZWRfcmFuZ2VfY3RtKGRhdGFfdCAqZGF0YSwK IAkJaWd0X2Fzc2VydF9jcmNfZXF1YWwoJmNyY19mdWxsLCAmY3JjX2xpbWl0ZWQpOwogCX0KIAot CWZyZWUoZ2FtbWFfbGluZWFyKTsKLQlmcmVlKGRlZ2FtbWFfbGluZWFyKTsKKwlmcmVlX2x1dChn YW1tYV9saW5lYXIpOworCWZyZWVfbHV0KGRlZ2FtbWFfbGluZWFyKTsKIAogCWlndF9yZXF1aXJl KGhhc19icm9hZGNhc3RfcmdiX291dHB1dCk7CiB9Ci0tIAoyLjE5LjIKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0Cmln dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==