From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH xf86-video-amdgpu 07/13] Also compose LUT when setting legacy gamma. Date: Thu, 3 May 2018 14:31:49 -0400 Message-ID: <1525372315-28462-8-git-send-email-sunpeng.li@amd.com> References: <1525372315-28462-1-git-send-email-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1525372315-28462-1-git-send-email-sunpeng.li-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: "Leo (Sunpeng) Li" , michel-otUistvHUpPR7s880joybQ@public.gmane.org, harry.wentland-5C7GfCeVMHo@public.gmane.org RnJvbTogIkxlbyAoU3VucGVuZykgTGkiIDxzdW5wZW5nLmxpQGFtZC5jb20+CgpXZSBjb21wb3Nl IHRoZSB0d28gTFVUcyB3aGVuIHB1c2hpbmcgbm9uLWxlZ2FjeSBnYW1tYSBjaGFuZ2VzLCBhbmQg dGhlCnNhbWUgbmVlZHMgdG8gYmUgZG9uZSB3aGVuIHNldHRpbmcgbGVnYWN5IGdhbW1hLgoKSWYg YSBub24tbGVnYWN5IExVVCBoYXMgbm90IGJlZW4gc2V0IChpLmUuIHVzaW5nIHRoZSBkZWZhdWx0 IHZhbHVlKSwKdGhlIGxlZ2FjeSBMVVQgd2lsbCBhY3QgaW5kZXBlbmRhbnRseS4gSG93ZXZlciwg aW5zdGVhZCBvZiB1c2luZyBEUk0ncwpsZWdhY3kgZ2FtbWEgY29kZS1wYXRoLCB3ZSBhZGFwdCB0 byB0aGUgbm9uLWxlZ2FjeSBwYXRoIGJ5IHVwc2NhbGluZyB0aGUKTFVUIHRvIG5vbi1sZWdhY3kg c2l6ZS4KCkl0J3MgYWxzbyBwb3NzaWJsZSB0aGF0IHRoZSBrZXJuZWwgZHJpdmVyIGRvZXNuJ3Qg c3VwcG9ydCBub24tbGVnYWN5CmNvbG9yIG1hbmFnZW1lbnQuIEluIHdoaWNoIGNhc2UsIHdlIGZh bGwgYmFjayB0byBsZWdhY3kgZ2FtbWEuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gKFN1bnBlbmcpIExp IDxzdW5wZW5nLmxpQGFtZC5jb20+Ci0tLQogc3JjL2RybW1vZGVfZGlzcGxheS5jIHwgMTExICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUg Y2hhbmdlZCwgMTA5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2RybW1vZGVfZGlzcGxheS5jIGIvc3JjL2RybW1vZGVfZGlzcGxheS5jCmluZGV4IDljOGMz NDQuLjJiMzhhNzEgMTAwNjQ0Ci0tLSBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYworKysgYi9zcmMv ZHJtbW9kZV9kaXNwbGF5LmMKQEAgLTk1OCw2ICs5NTgsNjMgQEAgc3RhdGljIHZvaWQgZHJtbW9k ZV9sdXRfY29tcG9zZSh1aW50MTZfdCAqYV9yZWQsCiB9CiAKIC8qKgorICogUmVzaXplIGEgTFVU LCB1c2luZyBsaW5lYXIgaW50ZXJwb2xhdGlvbi4KKyAqCisgKiBAaW5fKHJlZHxncmVlbnxibHVl KTogTGVnYWN5IExVVCBjb21wb25lbnRzCisgKiBAb3V0X2x1dDogVGhlIHJlc2l6ZWQgTFVUIGlz IHJldHVybmVkIGhlcmUsIGluIERSTSBjb2xvciBMVVQgZm9ybWF0LgorICogQGxlbl9pbjogTGVu Z3RoIG9mIGxlZ2FjeSBMVVQuCisgKiBAbGVuX291dDogTGVuZ3RoIG9mIG91dF9sdXQsIGkuZS4g dGhlIHRhcmdldCBzaXplLgorICovCitzdGF0aWMgdm9pZCBkcm1tb2RlX2x1dF9pbnRlcnBvbGF0 ZSh1aW50MTZfdCAqaW5fcmVkLAorCQkJCSAgICB1aW50MTZfdCAqaW5fZ3JlZW4sCisJCQkJICAg IHVpbnQxNl90ICppbl9ibHVlLAorCQkJCSAgICBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqb3V0X2x1 dCwKKwkJCQkgICAgdWludDMyX3QgbGVuX2luLCB1aW50MzJfdCBsZW5fb3V0KQoreworCXVpbnQz Ml90IGlfbCwgaV9yLCBpOworCXVpbnQzMl90IGlfYW1heCwgaV9ibWF4OworCXVpbnQzMl90IGNv ZWZmX2libWF4OworCXVpbnQ2NF90IG91dF9pYm1heDsKKwlpbnQgY29sb3I7CisJc2l6ZV90IHN0 cnVjdF9zaXplID0gc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KTsKKworCWlfYW1heCA9IGxl bl9pbiAtIDE7CisJaV9ibWF4ID0gbGVuX291dCAtIDE7CisKKwkvKiBTZWUgQGRybW1vZGVfbHV0 X2NvbXBvc2UgZm9yIGRldGFpbHMgKi8KKwlmb3IgKGNvbG9yID0gMDsgY29sb3IgPCAzOyBjb2xv cisrKSB7CisJCXVpbnQxNl90ICppbiwgKm91dDsKKworCQlpZiAoY29sb3IgPT0gMCkgeworCQkJ aW4gPSBpbl9yZWQ7CisJCQlvdXQgPSAmb3V0X2x1dFswXS5yZWQ7CisJCX0gZWxzZSBpZiAoY29s b3IgPT0gMSkgeworCQkJaW4gPSBpbl9ncmVlbjsKKwkJCW91dCA9ICZvdXRfbHV0WzBdLmdyZWVu OworCQl9IGVsc2UgeworCQkJaW4gPSBpbl9ibHVlOworCQkJb3V0ID0gJm91dF9sdXRbMF0uYmx1 ZTsKKwkJfQorCisJCWZvciAoaSA9IDA7IGkgPCBsZW5fb3V0OyBpKyspIHsKKworCQkJaV9sID0g aSAqIGlfYW1heCAvIGlfYm1heDsKKwkJCWlfciA9IGlfbCArICEhKGlfYW1heCAtIGlfbCk7CisK KwkJCWNvZWZmX2libWF4ID0gKGkgKiBpX2FtYXgpIC0gKGlfbCAqIGlfYm1heCk7CisJCQlvdXRf aWJtYXggPSBpX2JtYXggKiBpbltpX2xdICsKKwkJCQkgICAgICBjb2VmZl9pYm1heCAqIChpbltp X3JdIC0gaW5baV9sXSk7CisKKwkJCSoodWludDE2X3QqKSgodm9pZCopb3V0ICsgKGkqc3RydWN0 X3NpemUpKSA9CisJCQkJb3V0X2libWF4IC8gaV9ibWF4OworCQl9CisJfQorCisJZm9yIChpID0g MDsgaSA8IGxlbl9vdXQ7IGkrKykKKwkJb3V0X2x1dFtpXS5yZXNlcnZlZCA9IDA7Cit9CisKKy8q KgogICogQ29uZmlndXJlIGFuZCBjaGFuZ2UgYSBjb2xvciBwcm9wZXJ0eSBvbiBhIENSVEMsIHRo cm91Z2ggUmFuZFIuIE9ubHkgdGhlCiAgKiBzcGVjaWZpZWQgb3V0cHV0IHdpbGwgYmUgYWZmZWN0 ZWQsIGV2ZW4gaWYgdGhlIENSVEMgaXMgYXR0YWNoZWQgdG8gbXVsdGlwbGUKICAqIG91dHB1dHMu IElmIHRoZSByZXF1ZXN0IGlzIHBlbmRpbmcsIHRoZW4gdGhlIGNoYW5nZSB3aWxsIG1ha2UgaXQn cyB3YXkgaW50bwpAQCAtMTI5Myw5ICsxMzUwLDU5IEBAIGRybW1vZGVfY3J0Y19nYW1tYV9kb19z ZXQoeGY4NkNydGNQdHIgY3J0YywgdWludDE2X3QgKnJlZCwgdWludDE2X3QgKmdyZWVuLAogewog CWRybW1vZGVfY3J0Y19wcml2YXRlX3B0ciBkcm1tb2RlX2NydGMgPSBjcnRjLT5kcml2ZXJfcHJp dmF0ZTsKIAlBTURHUFVFbnRQdHIgcEFNREdQVUVudCA9IEFNREdQVUVudFByaXYoY3J0Yy0+c2Ny bik7CisJc3RydWN0IGRybV9jb2xvcl9sdXQgKmNvbXBvc2VkOworCXVpbnQzMl90IGRybV9wcm9w X2lkLCBjcmVhdGVkX2Jsb2JfaWQ7CisJc2l6ZV90IGJ5dGVzOworCWludCByZXQ7CisKKwlkcm1f cHJvcF9pZCA9IGdldF9kcm1fY21fcHJvcF9pZChjcnRjLCBDTV9HQU1NQV9MVVQpOworCS8qIFVz ZSBsZWdhY3kgaWYga2VybmVsIGRvZXMgbm90IHN1cHBvcnQgbm9uLWxlZ2FjeSBnYW1tYSAqLwor CWlmICghZHJtX3Byb3BfaWQpIHsKKwkJZHJtTW9kZUNydGNTZXRHYW1tYShwQU1ER1BVRW50LT5m ZCwKKwkJCQkgICAgZHJtbW9kZV9jcnRjLT5tb2RlX2NydGMtPmNydGNfaWQsCisJCQkJICAgIHNp emUsIHJlZCwgZ3JlZW4sIGJsdWUpOworCQlyZXR1cm47CisJfQorCisJYnl0ZXMgPSBzaXplb2Yo KmNvbXBvc2VkKSAqIGRybW1vZGVfY3J0Yy0+Z2FtbWFfbHV0X3NpemU7CisKKwljb21wb3NlZCA9 IG1hbGxvYyhieXRlcyk7CisJaWYgKCFjb21wb3NlZCkgeworCQl4Zjg2RHJ2TXNnKGNydGMtPnNj cm4tPnNjcm5JbmRleCwgWF9FUlJPUiwKKwkJCSAgICJNZW1vcnkgZXJyb3IgYWxsb2NhdGluZyBs ZWdhY3kgTFVULiIpOworCQlyZXR1cm47CisJfQorCisJaWYgKGRybW1vZGVfY3J0Yy0+Z2FtbWFf bHV0KQorCQlkcm1tb2RlX2x1dF9jb21wb3NlKHJlZCwgZ3JlZW4sIGJsdWUsIGRybW1vZGVfY3J0 Yy0+Z2FtbWFfbHV0LAorCQkJCSAgICBjb21wb3NlZCwgc2l6ZSwKKwkJCQkgICAgZHJtbW9kZV9j cnRjLT5nYW1tYV9sdXRfc2l6ZSk7CisJZWxzZQorCQlkcm1tb2RlX2x1dF9pbnRlcnBvbGF0ZShy ZWQsIGdyZWVuLCBibHVlLCBjb21wb3NlZCwKKwkJCQkJc2l6ZSwgZHJtbW9kZV9jcnRjLT5nYW1t YV9sdXRfc2l6ZSk7CisKKwlyZXQgPSBkcm1Nb2RlQ3JlYXRlUHJvcGVydHlCbG9iKHBBTURHUFVF bnQtPmZkLCBjb21wb3NlZCwgYnl0ZXMsCisJCQkJCSZjcmVhdGVkX2Jsb2JfaWQpOworCWlmIChy ZXQpIHsKKwkJeGY4NkRydk1zZyhjcnRjLT5zY3JuLT5zY3JuSW5kZXgsIFhfRVJST1IsCisJCQkg ICAiQ3JlYXRpbmcgR2FtbWEgTFVUIGZhaWxlZCB3aXRoIGVycm5vICVkXG4iLAorCQkJICAgcmV0 KTsKKwkJZnJlZShjb21wb3NlZCk7CisJCXJldHVybjsKKwl9CisKKwlyZXQgPSBkcm1Nb2RlT2Jq ZWN0U2V0UHJvcGVydHkocEFNREdQVUVudC0+ZmQsCisJCQkJICAgICAgIGRybW1vZGVfY3J0Yy0+ bW9kZV9jcnRjLT5jcnRjX2lkLAorCQkJCSAgICAgICBEUk1fTU9ERV9PQkpFQ1RfQ1JUQywKKwkJ CQkgICAgICAgZHJtX3Byb3BfaWQsCisJCQkJICAgICAgICh1aW50NjRfdCljcmVhdGVkX2Jsb2Jf aWQpOworCisJaWYgKHJldCkKKwkJeGY4NkRydk1zZyhjcnRjLT5zY3JuLT5zY3JuSW5kZXgsIFhf RVJST1IsCisJCQkgICAiU2V0dGluZyBHYW1tYSBMVVQgZmFpbGVkIHdpdGggZXJybm8gJWRcbiIs CisJCQkgICByZXQpOwogCi0JZHJtTW9kZUNydGNTZXRHYW1tYShwQU1ER1BVRW50LT5mZCwgZHJt bW9kZV9jcnRjLT5tb2RlX2NydGMtPmNydGNfaWQsCi0JCQkgICAgc2l6ZSwgcmVkLCBncmVlbiwg Ymx1ZSk7CisJZnJlZShjb21wb3NlZCk7CiB9CiAKIEJvb2wKLS0gCjIuNy40CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlz dAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK