From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH xf86-video-amdgpu 3/7] Configure color properties when creating output resources Date: Fri, 1 Jun 2018 12:03:33 -0400 Message-ID: <1527869017-9209-4-git-send-email-sunpeng.li@amd.com> References: <1527869017-9209-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: <1527869017-9209-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+CgpMaXN0IGNvbG9y IG1hbmFnZW1lbnQgcHJvcGVydGllcyBvbiBvdXRwdXRzIGlmIHRoZXJlJ3MgYXQgbGVhc3Qgb25l CkNSVEMgdGhhdCBzdXBwb3J0cyBjb2xvciBtYW5hZ2VtZW50LiBPdGhlcndpc2UsIGRvbid0IGxp c3QgdGhlbSBhdAphbGwuCgpJZiB0aGVyZSdzIG5vIENSVEMgYXR0YWNoZWQgdG8gdGhlIG91dHB1 dCwgYW5kIHRoZXJlIGV4aXN0cyBhIENSVEMKdGhhdCBzdXBwb3J0cyBjb2xvciBtYW5hZ2VtZW50 LCB0aGVuIGxpc3QgImRpc2FibGVkIiBwcm9wZXJ0aWVzCihpbW11dGFibGUgYW5kIE5VTEwtdmFs dWVkKS4KClNpZ25lZC1vZmYtYnk6IExlbyAoU3VucGVuZykgTGkgPHN1bnBlbmcubGlAYW1kLmNv bT4KLS0tCiBzcmMvZHJtbW9kZV9kaXNwbGF5LmMgfCAxNDggKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxNDggaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYyBiL3NyYy9kcm1tb2Rl X2Rpc3BsYXkuYwppbmRleCBkZTA5MzYxLi4zMmFjNDQxIDEwMDY0NAotLS0gYS9zcmMvZHJtbW9k ZV9kaXNwbGF5LmMKKysrIGIvc3JjL2RybW1vZGVfZGlzcGxheS5jCkBAIC03NjksNiArNzY5LDE1 IEBAIHN0YXRpYyBlbnVtIGRybW1vZGVfY21fcHJvcCBnZXRfY21fZW51bV9mcm9tX3N0cihjb25z dCBjaGFyICpwcm9wX25hbWUpCiB9CiAKIC8qKgorICogUmV0dXJuIFRSVUUgaWYgdGhlcmUncyBh dCBsZWFzdCBvbmUgQ1JUQyB0aGF0IHN1cHBvcnRzIG5vbi1sZWdhY3kgY29sb3IKKyAqIG1hbmFn ZW1lbnQuIEZhbHNlIG90aGVyd2lzZS4KKyAqLworc3RhdGljIEJvb2wgZHJtbW9kZV9jbV9lbmFi bGVkKGRybW1vZGVfcHRyIGRybW1vZGUpCit7CisJcmV0dXJuIGRybW1vZGUtPmNtX3Byb3BfaWRz W0NNX0dBTU1BX0xVVF9TSVpFXSAhPSAwOworfQorCisvKioKICAqIFJldHVybiBUUlVFIGlmIHRo ZSBnaXZlbiBDUlRDIHN1cHBvcnRzIG5vbi1sZWdhY3kgY29sb3IgbWFuYWdlbWVudC4gRmFsc2UK ICAqIG90aGVyd2lzZS4KICAqLwpAQCAtNzc5LDYgKzc4OCwxMjMgQEAgc3RhdGljIEJvb2wgZHJt bW9kZV9jcnRjX2NtX2VuYWJsZWQoZHJtbW9kZV9jcnRjX3ByaXZhdGVfcHRyIGRybW1vZGVfY3J0 YykKIH0KIAogLyoqCisgKiBDb25maWd1cmUgYW5kIGNoYW5nZSBhIGNvbG9yIHByb3BlcnR5IG9u IGEgQ1JUQywgdGhyb3VnaCBSYW5kUi4gT25seSB0aGUKKyAqIHNwZWNpZmllZCBvdXRwdXQgd2ls bCBiZSBhZmZlY3RlZCwgZXZlbiBpZiB0aGUgQ1JUQyBpcyBhdHRhY2hlZCB0byBtdWx0aXBsZQor ICogb3V0cHV0cy4gTm90ZSB0aGF0IGNoYW5nZXMgd2lsbCBiZSBub24tcGVuZGluZzogdGhlIGNo YW5nZXMgd29uJ3QgYmUgcHVzaGVkCisgKiB0byBrZXJuZWwgZHJpdmVyLgorICoKKyAqIEBvdXRw dXQ6IFJhbmRSIG91dHB1dCB0byBzZXQgdGhlIHByb3BlcnR5IG9uLgorICogQGNydGM6IFRoZSBk cml2ZXItcHJpdmF0ZSBDUlRDIG9iamVjdCBjb250YWluaW5nIHRoZSBjb2xvciBwcm9wZXJ0aWVz LgorICogICAgICAgIElmIHRoaXMgaXMgTlVMTCwgImRpc2FibGVkIiB2YWx1ZXMgb2YgMCB3aWxs IGJlIHVzZWQuCisgKiBAY21fcHJvcF9pbmRleDogQ29sb3IgbWFuYWdlbWVudCBwcm9wZXJ0eSB0 byBjb25maWd1cmUgYW5kIGNoYW5nZS4KKyAqCisgKiBSZXR1cm4gMCBvbiBzdWNjZXNzLCBYLWRl ZmluZWQgZXJyb3IgY29kZSBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQgcnJfY29uZmlndXJl X2FuZF9jaGFuZ2VfY21fcHJvcGVydHkoeGY4Nk91dHB1dFB0ciBvdXRwdXQsCisJCQkJCSAgICAg ICBkcm1tb2RlX2NydGNfcHJpdmF0ZV9wdHIgY3J0YywKKwkJCQkJICAgICAgIGVudW0gZHJtbW9k ZV9jbV9wcm9wIGNtX3Byb3BfaW5kZXgpCit7CisJQm9vbCBuZWVkX2NvbmZpZ3VyZSA9IFRSVUU7 CisJdW5zaWduZWQgbG9uZyBsZW5ndGggPSAwOworCXZvaWQgKmRhdGEgPSBOVUxMOworCWludCBm b3JtYXQgPSAwOworCXVpbnQzMl90IHplcm8gPSAwOworCUlOVDMyIHJhbmdlWzJdOworCUF0b20g YXRvbTsKKwlpbnQgZXJyOworCisJaWYgKGNtX3Byb3BfaW5kZXggPT0gQ01fSU5WQUxJRF9QUk9Q KQorCQlyZXR1cm4gQmFkTmFtZTsKKworCWF0b20gPSBNYWtlQXRvbShjbV9wcm9wX25hbWVzW2Nt X3Byb3BfaW5kZXhdLAorCQkJc3RybGVuKGNtX3Byb3BfbmFtZXNbY21fcHJvcF9pbmRleF0pLAor CQkJVFJVRSk7CisJaWYgKCFhdG9tKQorCQlyZXR1cm4gQmFkQWxsb2M7CisKKwlpZiAoY21fcHJv cF9pbmRleCA9PSBDTV9HQU1NQV9MVVRfU0laRSkgeworCQlmb3JtYXQgPSAzMjsKKwkJbGVuZ3Ro ID0gMTsKKwkJZGF0YSA9IGNydGMgPyAmY3J0Yy0+Z2FtbWFfbHV0X3NpemUgOiAmemVybzsKKwkJ cmFuZ2VbMF0gPSAwOworCQlyYW5nZVsxXSA9IC0xOworCisJfSBlbHNlIGlmIChjbV9wcm9wX2lu ZGV4ID09IENNX0RFR0FNTUFfTFVUX1NJWkUpIHsKKwkJZm9ybWF0ID0gMzI7CisJCWxlbmd0aCA9 IDE7CisJCWRhdGEgPSBjcnRjID8gJmNydGMtPmRlZ2FtbWFfbHV0X3NpemUgOiAmemVybzsKKwkJ cmFuZ2VbMF0gPSAwOworCQlyYW5nZVsxXSA9IC0xOworCisJfSBlbHNlIGlmIChjbV9wcm9wX2lu ZGV4ID09IENNX0dBTU1BX0xVVCkgeworCQlmb3JtYXQgPSAxNjsKKwkJcmFuZ2VbMF0gPSAwOwor CQlyYW5nZVsxXSA9ICgxIDw8IDE2KSAtIDE7IC8vIE1heCAxNiBiaXQgdW5zaWduZWQgaW50Lgor CQlpZiAoY3J0YyAmJiBjcnRjLT5nYW1tYV9sdXQpIHsKKwkJCS8qIENvbnZlcnQgZnJvbSA4Yml0 IHNpemUgdG8gMTZiaXQgc2l6ZSAqLworCQkJbGVuZ3RoID0gc2l6ZW9mKCpjcnRjLT5nYW1tYV9s dXQpID4+IDE7CisJCQlsZW5ndGggKj0gY3J0Yy0+Z2FtbWFfbHV0X3NpemU7CisJCQlkYXRhID0g Y3J0Yy0+Z2FtbWFfbHV0OworCQl9IGVsc2UgeworCQkJbGVuZ3RoID0gMTsKKwkJCWRhdGEgPSAm emVybzsKKwkJfQorCX0gZWxzZSBpZiAoY21fcHJvcF9pbmRleCA9PSBDTV9ERUdBTU1BX0xVVCkg eworCQlmb3JtYXQgPSAxNjsKKwkJcmFuZ2VbMF0gPSAwOworCQlyYW5nZVsxXSA9ICgxIDw8IDE2 KSAtIDE7IC8vIE1heCAxNiBiaXQgdW5zaWduZWQgaW50LgorCQlpZiAoY3J0YyAmJiBjcnRjLT5k ZWdhbW1hX2x1dCkgeworCQkJLyogQ29udmVydCBmcm9tIDhiaXQgc2l6ZSB0byAxNmJpdCBzaXpl ICovCisJCQlsZW5ndGggPSBzaXplb2YoKmNydGMtPmRlZ2FtbWFfbHV0KSA+PiAxOworCQkJbGVu Z3RoICo9IGNydGMtPmRlZ2FtbWFfbHV0X3NpemU7CisJCQlkYXRhID0gY3J0Yy0+ZGVnYW1tYV9s dXQ7CisJCX0gZWxzZSB7CisJCQlsZW5ndGggPSAxOworCQkJZGF0YSA9ICZ6ZXJvOworCQl9CisJ fSBlbHNlIHsKKwkJLyogQ1RNIGlzIGZpeGVkLXBvaW50IFMzMS4zMiBmb3JtYXQuICovCisJCWZv cm1hdCA9IDMyOworCQluZWVkX2NvbmZpZ3VyZSA9IEZBTFNFOworCQlpZiAoY3J0YyAmJiBjcnRj LT5jdG0pIHsKKwkJCS8qIENvbnZlcnQgZnJvbSA4Yml0IHNpemUgdG8gMzJiaXQgc2l6ZSAqLwor CQkJbGVuZ3RoID0gc2l6ZW9mKCpjcnRjLT5jdG0pID4+IDI7CisJCQlkYXRhID0gY3J0Yy0+Y3Rt OworCQl9IGVsc2UgeworCQkJbGVuZ3RoID0gMTsKKwkJCWRhdGEgPSAmemVybzsKKwkJfQorCX0K KworCWlmIChuZWVkX2NvbmZpZ3VyZSkgeworCQllcnIgPSBSUkNvbmZpZ3VyZU91dHB1dFByb3Bl cnR5KG91dHB1dC0+cmFuZHJfb3V0cHV0LCBhdG9tLAorCQkJCQkJRkFMU0UsIFRSVUUsIEZBTFNF LCAyLCByYW5nZSk7CisJCWlmIChlcnIpIHsKKwkJCXhmODZEcnZNc2cob3V0cHV0LT5zY3JuLT5z Y3JuSW5kZXgsIFhfRVJST1IsCisJCQkJICAgIkNvbmZpZ3VyaW5nIGNvbG9yIG1hbmFnZW1lbnQg cHJvcGVydHkgJXMgZmFpbGVkIHdpdGggJWRcbiIsCisJCQkJICAgY21fcHJvcF9uYW1lc1tjbV9w cm9wX2luZGV4XSwgZXJyKTsKKwkJCXJldHVybiBlcnI7CisJCX0KKwl9CisKKwkvKiBBbHdheXMg aXNzdWUgYSBub24tcGVuZGluZyBjaGFuZ2UuIFdlJ2xsIHB1c2ggY20gcHJvcGVydGllcworCSAq IG91cnNlbHZlcy4KKwkgKi8KKwllcnIgPSBSUkNoYW5nZU91dHB1dFByb3BlcnR5KG91dHB1dC0+ cmFuZHJfb3V0cHV0LCBhdG9tLAorCQkJCSAgICAgWEFfSU5URUdFUiwgZm9ybWF0LAorCQkJCSAg ICAgUHJvcE1vZGVSZXBsYWNlLAorCQkJCSAgICAgbGVuZ3RoLCBkYXRhLCBGQUxTRSwgRkFMU0Up OworCWlmIChlcnIpIHsKKwkJeGY4NkRydk1zZyhvdXRwdXQtPnNjcm4tPnNjcm5JbmRleCwgWF9F UlJPUiwKKwkJCSAgICJDaGFuZ2luZyBjb2xvciBtYW5hZ2VtZW50IHByb3BlcnR5ICVzIGZhaWxl ZCB3aXRoICVkXG4iLAorCQkJICAgY21fcHJvcF9uYW1lc1tjbV9wcm9wX2luZGV4XSwgZXJyKTsK KwkJcmV0dXJuIGVycjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoqCiAgKiBQdXNoIHN0YWdl ZCBjb2xvciBtYW5hZ2VtZW50IHByb3BlcnRpZXMgb24gdGhlIENSVEMgdG8gRFJNLgogICoKICAq IEBjcnRjOiBUaGUgQ1JUQyBjb250YWluaW5nIHN0YWdlZCBwcm9wZXJ0aWVzCkBAIC0xODIyLDYg KzE5NDgsNyBAQCBzdGF0aWMgdm9pZCBkcm1tb2RlX291dHB1dF9jcmVhdGVfcmVzb3VyY2VzKHhm ODZPdXRwdXRQdHIgb3V0cHV0KQogewogCUFNREdQVUluZm9QdHIgaW5mbyA9IEFNREdQVVBUUihv dXRwdXQtPnNjcm4pOwogCWRybW1vZGVfb3V0cHV0X3ByaXZhdGVfcHRyIGRybW1vZGVfb3V0cHV0 ID0gb3V0cHV0LT5kcml2ZXJfcHJpdmF0ZTsKKwlkcm1tb2RlX2NydGNfcHJpdmF0ZV9wdHIgZHJt bW9kZV9jcnRjOwogCWRybU1vZGVDb25uZWN0b3JQdHIgbW9kZV9vdXRwdXQgPSBkcm1tb2RlX291 dHB1dC0+bW9kZV9vdXRwdXQ7CiAJQU1ER1BVRW50UHRyIHBBTURHUFVFbnQgPSBBTURHUFVFbnRQ cml2KG91dHB1dC0+c2Nybik7CiAJZHJtTW9kZVByb3BlcnR5UHRyIGRybW1vZGVfcHJvcCwgdGVh cmZyZWVfcHJvcDsKQEAgLTE5NDUsNiArMjA3MiwyNyBAQCBzdGF0aWMgdm9pZCBkcm1tb2RlX291 dHB1dF9jcmVhdGVfcmVzb3VyY2VzKHhmODZPdXRwdXRQdHIgb3V0cHV0KQogCQkJfQogCQl9CiAJ fQorCisJLyoKKwkgKiBOb3RlIHRoYXQgd2UgdXN1YWxseSBjaGVjayBmb3IgY20gc3VwcG9ydCBw ZXIgQ1JUQy4gSG93ZXZlciwgc2luY2UKKwkgKiBvbmUgbWF5IG5vdCBiZSBhdHRhY2hlZCB0byB0 aGUgb3V0cHV0IGF0IHRoZSBtb21lbnQsIHdlIHdpbGwgY2hlY2sKKwkgKiBpZiB0aGVyZSdzIGF0 IGxlYXN0IG9uZSBDUlRDIHRoYXQgc3VwcG9ydHMgY20uCisJICoKKwkgKiBUaGlzIG1lYW5zIHRo YXQgaWYgbm8gQ1JUQ3MgaGF2ZSBjbSBzdXBwb3J0LCB0aGVuIHdlIHdvbid0IGxpc3QgdGhlCisJ ICogY20gcHJvcGVydGllcyBvbiBhbnkgb2YgdGhlIG91dHB1dHMuCisJICoKKwkgKiBCdXQgaWYg ZXZlbiBvbmUgQ1JUQyBoYXMgY20gc3VwcG9ydCwgdGhlbiB3ZSB3aWxsIGxpc3QgdGhlCisJICog cHJvcGVydGllcyBvbiBhbGwgb3V0cHV0cy4gT3V0cHV0cyB3aXRoIG5vIENSVEMsIG9yIHdpdGgg b25lIHRoYXQKKwkgKiBkb2Vzbid0IHN1cHBvcnQgY20sIHdpbGwgdGhlbiBoYXZlICJkaXNhYmxl ZCIgY20gcHJvcGVydGllcyAobnVsbC0KKwkgKiB2YWx1ZWQsIGFuZCBjYW5ub3QgYmUgbW9kaWZp ZWQpLgorCSAqLworCWlmICghZHJtbW9kZV9jbV9lbmFibGVkKGRybW1vZGVfb3V0cHV0LT5kcm1t b2RlKSkKKwkJcmV0dXJuOworCisJZHJtbW9kZV9jcnRjID0gb3V0cHV0LT5jcnRjID8gb3V0cHV0 LT5jcnRjLT5kcml2ZXJfcHJpdmF0ZSA6IE5VTEw7CisKKwlmb3IgKGkgPSAwOyBpIDwgQ01fTlVN X1BST1BTOyBpKyspCisJCXJyX2NvbmZpZ3VyZV9hbmRfY2hhbmdlX2NtX3Byb3BlcnR5KG91dHB1 dCwgZHJtbW9kZV9jcnRjLCBpKTsKIH0KIAogc3RhdGljIHZvaWQKLS0gCjIuNy40CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcg bGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK