From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Kleiner Subject: [PATCH 2/3] exa: Accelerate ARGB2101010 pictures (v2) Date: Sat, 23 Dec 2017 07:07:36 +0100 Message-ID: <20171223060737.12271-3-mario.kleiner.de@gmail.com> References: <20171223060737.12271-1-mario.kleiner.de@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171223060737.12271-1-mario.kleiner.de-Re5JQEeQqe8AvxtiuMwx3w@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: mario.kleiner.de-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, =?UTF-8?q?Fredrik=20H=C3=B6glund?= RnJvbTogRnJlZHJpayBIw7ZnbHVuZCA8ZnJlZHJpa0BrZGUub3JnPgoKVGVzdGVkIGJ5IE1hcmlv IG9uIGEgUmFkZW9uIEhEIDQwMDAgc2VyaWVzIGZvciB0aGUgcjYwMApleGEgcGF0aCwgYW5kIG9u IFJhZGVvbiBIRCA1NzcwIGZvciB0aGUgZXZlcmdyZWVuIGV4YQpwYXRoLgoKU2lnbmVkLW9mZi1i eTogRnJlZHJpayBIw7ZnbHVuZCA8ZnJlZHJpa0BrZGUub3JnPgpSZXZpZXdlZC1hbmQtVGVzdGVk LWJ5OiBNYXJpbyBLbGVpbmVyIDxtYXJpby5rbGVpbmVyLmRlQGdtYWlsLmNvbT4KCnYyOiBBZGQg Zm9ybWF0IGhhbmRsaW5nIGluIFhYWFNldFNvbGlkQ29uc3RzKCkgYXMgd2VsbCwKICAgIGFzIHN1 Z2dlc3RlZCBieSBGcmVkcmlrLgoKU2lnbmVkLW9mZi1ieTogTWFyaW8gS2xlaW5lciA8bWFyaW8u a2xlaW5lci5kZUBnbWFpbC5jb20+Ci0tLQogc3JjL2V2ZXJncmVlbl9leGEuYyB8IDIyICsrKysr KysrKysrKysrKysrKysrKysKIHNyYy9yNjAwX2V4YS5jICAgICAgfCAyMiArKysrKysrKysrKysr KysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9zcmMvZXZlcmdyZWVuX2V4YS5jIGIvc3JjL2V2ZXJncmVlbl9leGEuYwppbmRleCA5MGM5YjZk Li5lZWQyYWU1IDEwMDY0NAotLS0gYS9zcmMvZXZlcmdyZWVuX2V4YS5jCisrKyBiL3NyYy9ldmVy Z3JlZW5fZXhhLmMKQEAgLTY2OCw2ICs2NjgsMTAgQEAgc3RydWN0IGZvcm1hdGluZm8gewogfTsK IAogc3RhdGljIHN0cnVjdCBmb3JtYXRpbmZvIEVWRVJHUkVFTlRleEZvcm1hdHNbXSA9IHsKKyAg ICB7UElDVF9hMnIxMGcxMGIxMCwJRk1UXzJfMTBfMTBfMTB9LAorICAgIHtQSUNUX3gycjEwZzEw YjEwLAlGTVRfMl8xMF8xMF8xMH0sCisgICAge1BJQ1RfYTJiMTBnMTByMTAsCUZNVF8yXzEwXzEw XzEwfSwKKyAgICB7UElDVF94MmIxMGcxMHIxMCwJRk1UXzJfMTBfMTBfMTB9LAogICAgIHtQSUNU X2E4cjhnOGI4LAlGTVRfOF84XzhfOH0sCiAgICAge1BJQ1RfeDhyOGc4YjgsCUZNVF84XzhfOF84 fSwKICAgICB7UElDVF9hOGI4ZzhyOCwJRk1UXzhfOF84Xzh9LApAQCAtNzIzLDYgKzcyNywxMiBA QCBzdGF0aWMgdWludDMyX3QgRVZFUkdSRUVOR2V0QmxlbmRDbnRsKGludCBvcCwgUGljdHVyZVB0 ciBwTWFzaywgdWludDMyX3QgZHN0X2Zvcgogc3RhdGljIEJvb2wgRVZFUkdSRUVOR2V0RGVzdEZv cm1hdChQaWN0dXJlUHRyIHBEc3RQaWN0dXJlLCB1aW50MzJfdCAqZHN0X2Zvcm1hdCkKIHsKICAg ICBzd2l0Y2ggKHBEc3RQaWN0dXJlLT5mb3JtYXQpIHsKKyAgICBjYXNlIFBJQ1RfYTJyMTBnMTBi MTA6CisgICAgY2FzZSBQSUNUX3gycjEwZzEwYjEwOgorICAgIGNhc2UgUElDVF9hMmIxMGcxMHIx MDoKKyAgICBjYXNlIFBJQ1RfeDJiMTBnMTByMTA6CisJKmRzdF9mb3JtYXQgPSBDT0xPUl8yXzEw XzEwXzEwOworCWJyZWFrOwogICAgIGNhc2UgUElDVF9hOHI4ZzhiODoKICAgICBjYXNlIFBJQ1Rf eDhyOGc4Yjg6CiAgICAgY2FzZSBQSUNUX2E4YjhnOHI4OgpAQCAtODkxLDYgKzkwMSw3IEBAIHN0 YXRpYyBCb29sIEVWRVJHUkVFTlRleHR1cmVTZXR1cChQaWN0dXJlUHRyIHBQaWN0LCBQaXhtYXBQ dHIgcFBpeCwKIAogICAgIC8qIGNvbXBvbmVudCBzd2l6emxlcyAqLwogICAgIHN3aXRjaCAocFBp Y3QtPmZvcm1hdCkgeworICAgIGNhc2UgUElDVF9hMnIxMGcxMGIxMDoKICAgICBjYXNlIFBJQ1Rf YTFyNWc1YjU6CiAgICAgY2FzZSBQSUNUX2E4cjhnOGI4OgogCXBpeF9yID0gU1FfU0VMX1o7IC8q IFIgKi8KQEAgLTg5OCwxMiArOTA5LDE0IEBAIHN0YXRpYyBCb29sIEVWRVJHUkVFTlRleHR1cmVT ZXR1cChQaWN0dXJlUHRyIHBQaWN0LCBQaXhtYXBQdHIgcFBpeCwKIAlwaXhfYiA9IFNRX1NFTF9Y OyAvKiBCICovCiAJcGl4X2EgPSBTUV9TRUxfVzsgLyogQSAqLwogCWJyZWFrOworICAgIGNhc2Ug UElDVF9hMmIxMGcxMHIxMDoKICAgICBjYXNlIFBJQ1RfYThiOGc4cjg6CiAJcGl4X3IgPSBTUV9T RUxfWDsgLyogUiAqLwogCXBpeF9nID0gU1FfU0VMX1k7IC8qIEcgKi8KIAlwaXhfYiA9IFNRX1NF TF9aOyAvKiBCICovCiAJcGl4X2EgPSBTUV9TRUxfVzsgLyogQSAqLwogCWJyZWFrOworICAgIGNh c2UgUElDVF94MmIxMGcxMHIxMDoKICAgICBjYXNlIFBJQ1RfeDhiOGc4cjg6CiAJcGl4X3IgPSBT UV9TRUxfWDsgLyogUiAqLwogCXBpeF9nID0gU1FfU0VMX1k7IC8qIEcgKi8KQEAgLTkyMiw2ICs5 MzUsNyBAQCBzdGF0aWMgQm9vbCBFVkVSR1JFRU5UZXh0dXJlU2V0dXAoUGljdHVyZVB0ciBwUGlj dCwgUGl4bWFwUHRyIHBQaXgsCiAJcGl4X2IgPSBTUV9TRUxfVzsgLyogQiAqLwogCXBpeF9hID0g U1FfU0VMXzE7IC8qIEEgKi8KIAlicmVhazsKKyAgICBjYXNlIFBJQ1RfeDJyMTBnMTBiMTA6CiAg ICAgY2FzZSBQSUNUX3gxcjVnNWI1OgogICAgIGNhc2UgUElDVF94OHI4ZzhiODoKICAgICBjYXNl IFBJQ1RfcjVnNmI1OgpAQCAtMTE1MywxOCArMTE2NywyMSBAQCBzdGF0aWMgdm9pZCBFVkVSR1JF RU5TZXRTb2xpZENvbnN0cyhTY3JuSW5mb1B0ciBwU2NybiwgZmxvYXQgKmJ1ZiwgaW50IGZvcm1h dCwgdQogICAgIHN3aXRjaCAoZm9ybWF0KSB7CiAJY2FzZSBQSUNUX2ExcjVnNWI1OgogCWNhc2Ug UElDVF9hOHI4ZzhiODoKKwljYXNlIFBJQ1RfYTJyMTBnMTBiMTA6CiAJICAgIHBpeF9yID0gemY7 IC8qIFIgKi8KIAkgICAgcGl4X2cgPSB5ZjsgLyogRyAqLwogCSAgICBwaXhfYiA9IHhmOyAvKiBC ICovCiAJICAgIHBpeF9hID0gd2Y7IC8qIEEgKi8KIAkgICAgYnJlYWs7CiAJY2FzZSBQSUNUX2E4 YjhnOHI4OgorCWNhc2UgUElDVF9hMmIxMGcxMHIxMDoKIAkgICAgcGl4X3IgPSB4ZjsgLyogUiAq LwogCSAgICBwaXhfZyA9IHlmOyAvKiBHICovCiAJICAgIHBpeF9iID0gemY7IC8qIEIgKi8KIAkg ICAgcGl4X2EgPSB3ZjsgLyogQSAqLwogCSAgICBicmVhazsKIAljYXNlIFBJQ1RfeDhiOGc4cjg6 CisJY2FzZSBQSUNUX3gyYjEwZzEwcjEwOgogCSAgICBwaXhfciA9IHhmOyAvKiBSICovCiAJICAg IHBpeF9nID0geWY7IC8qIEcgKi8KIAkgICAgcGl4X2IgPSB6ZjsgLyogQiAqLwpAQCAtMTE4NCw2 ICsxMjAxLDcgQEAgc3RhdGljIHZvaWQgRVZFUkdSRUVOU2V0U29saWRDb25zdHMoU2NybkluZm9Q dHIgcFNjcm4sIGZsb2F0ICpidWYsIGludCBmb3JtYXQsIHUKIAkgICAgYnJlYWs7CiAJY2FzZSBQ SUNUX3gxcjVnNWI1OgogCWNhc2UgUElDVF94OHI4ZzhiODoKKwljYXNlIFBJQ1RfeDJyMTBnMTBi MTA6CiAJY2FzZSBQSUNUX3I1ZzZiNToKIAkgICAgcGl4X3IgPSB6ZjsgLyogUiAqLwogCSAgICBw aXhfZyA9IHlmOyAvKiBHICovCkBAIC0xNDI1LDYgKzE0NDMsOCBAQCBzdGF0aWMgQm9vbCBFVkVS R1JFRU5QcmVwYXJlQ29tcG9zaXRlKGludCBvcCwgUGljdHVyZVB0ciBwU3JjUGljdHVyZSwKICAg ICBjYl9jb25mLnN1cmZhY2UgPSBhY2NlbF9zdGF0ZS0+ZHN0X29iai5zdXJmYWNlOwogCiAgICAg c3dpdGNoIChwRHN0UGljdHVyZS0+Zm9ybWF0KSB7CisgICAgY2FzZSBQSUNUX2EycjEwZzEwYjEw OgorICAgIGNhc2UgUElDVF94MnIxMGcxMGIxMDoKICAgICBjYXNlIFBJQ1RfYThyOGc4Yjg6CiAg ICAgY2FzZSBQSUNUX3g4cjhnOGI4OgogICAgIGNhc2UgUElDVF9hMXI1ZzViNToKQEAgLTE0MzIs NiArMTQ1Miw4IEBAIHN0YXRpYyBCb29sIEVWRVJHUkVFTlByZXBhcmVDb21wb3NpdGUoaW50IG9w LCBQaWN0dXJlUHRyIHBTcmNQaWN0dXJlLAogICAgIGRlZmF1bHQ6CiAJY2JfY29uZi5jb21wX3N3 YXAgPSAxOyAvKiBBUkdCICovCiAJYnJlYWs7CisgICAgY2FzZSBQSUNUX2EyYjEwZzEwcjEwOgor ICAgIGNhc2UgUElDVF94MmIxMGcxMHIxMDoKICAgICBjYXNlIFBJQ1RfYThiOGc4cjg6CiAgICAg Y2FzZSBQSUNUX3g4YjhnOHI4OgogCWNiX2NvbmYuY29tcF9zd2FwID0gMDsgLyogQUJHUiAqLwpk aWZmIC0tZ2l0IGEvc3JjL3I2MDBfZXhhLmMgYi9zcmMvcjYwMF9leGEuYwppbmRleCAyMmQ0YjMx Li42NTcyOTUxIDEwMDY0NAotLS0gYS9zcmMvcjYwMF9leGEuYworKysgYi9zcmMvcjYwMF9leGEu YwpAQCAtNzI3LDYgKzcyNywxMCBAQCBzdHJ1Y3QgZm9ybWF0aW5mbyB7CiB9OwogCiBzdGF0aWMg c3RydWN0IGZvcm1hdGluZm8gUjYwMFRleEZvcm1hdHNbXSA9IHsKKyAgICB7UElDVF9hMnIxMGcx MGIxMCwJRk1UXzJfMTBfMTBfMTB9LAorICAgIHtQSUNUX3gycjEwZzEwYjEwLAlGTVRfMl8xMF8x MF8xMH0sCisgICAge1BJQ1RfYTJiMTBnMTByMTAsCUZNVF8yXzEwXzEwXzEwfSwKKyAgICB7UElD VF94MmIxMGcxMHIxMCwJRk1UXzJfMTBfMTBfMTB9LAogICAgIHtQSUNUX2E4cjhnOGI4LAlGTVRf OF84XzhfOH0sCiAgICAge1BJQ1RfeDhyOGc4YjgsCUZNVF84XzhfOF84fSwKICAgICB7UElDVF9h OGI4ZzhyOCwJRk1UXzhfOF84Xzh9LApAQCAtNzgyLDYgKzc4NiwxMiBAQCBzdGF0aWMgdWludDMy X3QgUjYwMEdldEJsZW5kQ250bChpbnQgb3AsIFBpY3R1cmVQdHIgcE1hc2ssIHVpbnQzMl90IGRz dF9mb3JtYXQpCiBzdGF0aWMgQm9vbCBSNjAwR2V0RGVzdEZvcm1hdChQaWN0dXJlUHRyIHBEc3RQ aWN0dXJlLCB1aW50MzJfdCAqZHN0X2Zvcm1hdCkKIHsKICAgICBzd2l0Y2ggKHBEc3RQaWN0dXJl LT5mb3JtYXQpIHsKKyAgICBjYXNlIFBJQ1RfYTJyMTBnMTBiMTA6CisgICAgY2FzZSBQSUNUX3gy cjEwZzEwYjEwOgorICAgIGNhc2UgUElDVF9hMmIxMGcxMHIxMDoKKyAgICBjYXNlIFBJQ1RfeDJi MTBnMTByMTA6CisJKmRzdF9mb3JtYXQgPSBDT0xPUl8yXzEwXzEwXzEwOworCWJyZWFrOwogICAg IGNhc2UgUElDVF9hOHI4ZzhiODoKICAgICBjYXNlIFBJQ1RfeDhyOGc4Yjg6CiAgICAgY2FzZSBQ SUNUX2E4YjhnOHI4OgpAQCAtOTA2LDYgKzkxNiw3IEBAIHN0YXRpYyBCb29sIFI2MDBUZXh0dXJl U2V0dXAoUGljdHVyZVB0ciBwUGljdCwgUGl4bWFwUHRyIHBQaXgsCiAKICAgICAvKiBjb21wb25l bnQgc3dpenpsZXMgKi8KICAgICBzd2l0Y2ggKHBQaWN0LT5mb3JtYXQpIHsKKyAgICBjYXNlIFBJ Q1RfYTJyMTBnMTBiMTA6CiAgICAgY2FzZSBQSUNUX2ExcjVnNWI1OgogICAgIGNhc2UgUElDVF9h OHI4ZzhiODoKIAlwaXhfciA9IFNRX1NFTF9aOyAvKiBSICovCkBAIC05MTMsMTIgKzkyNCwxNCBA QCBzdGF0aWMgQm9vbCBSNjAwVGV4dHVyZVNldHVwKFBpY3R1cmVQdHIgcFBpY3QsIFBpeG1hcFB0 ciBwUGl4LAogCXBpeF9iID0gU1FfU0VMX1g7IC8qIEIgKi8KIAlwaXhfYSA9IFNRX1NFTF9XOyAv KiBBICovCiAJYnJlYWs7CisgICAgY2FzZSBQSUNUX2EyYjEwZzEwcjEwOgogICAgIGNhc2UgUElD VF9hOGI4ZzhyODoKIAlwaXhfciA9IFNRX1NFTF9YOyAvKiBSICovCiAJcGl4X2cgPSBTUV9TRUxf WTsgLyogRyAqLwogCXBpeF9iID0gU1FfU0VMX1o7IC8qIEIgKi8KIAlwaXhfYSA9IFNRX1NFTF9X OyAvKiBBICovCiAJYnJlYWs7CisgICAgY2FzZSBQSUNUX3gyYjEwZzEwcjEwOgogICAgIGNhc2Ug UElDVF94OGI4ZzhyODoKIAlwaXhfciA9IFNRX1NFTF9YOyAvKiBSICovCiAJcGl4X2cgPSBTUV9T RUxfWTsgLyogRyAqLwpAQCAtOTM3LDYgKzk1MCw3IEBAIHN0YXRpYyBCb29sIFI2MDBUZXh0dXJl U2V0dXAoUGljdHVyZVB0ciBwUGljdCwgUGl4bWFwUHRyIHBQaXgsCiAJcGl4X2IgPSBTUV9TRUxf VzsgLyogQiAqLwogCXBpeF9hID0gU1FfU0VMXzE7IC8qIEEgKi8KIAlicmVhazsKKyAgICBjYXNl IFBJQ1RfeDJyMTBnMTBiMTA6CiAgICAgY2FzZSBQSUNUX3gxcjVnNWI1OgogICAgIGNhc2UgUElD VF94OHI4ZzhiODoKICAgICBjYXNlIFBJQ1RfcjVnNmI1OgpAQCAtMTE5NywxOCArMTIxMSwyMSBA QCBzdGF0aWMgdm9pZCBSNjAwU2V0U29saWRDb25zdHMoU2NybkluZm9QdHIgcFNjcm4sIGZsb2F0 ICpidWYsIGludCBmb3JtYXQsIHVpbnQzMgogICAgIHN3aXRjaCAoZm9ybWF0KSB7CiAJY2FzZSBQ SUNUX2ExcjVnNWI1OgogCWNhc2UgUElDVF9hOHI4ZzhiODoKKwljYXNlIFBJQ1RfYTJyMTBnMTBi MTA6CiAJICAgIHBpeF9yID0gemY7IC8qIFIgKi8KIAkgICAgcGl4X2cgPSB5ZjsgLyogRyAqLwog CSAgICBwaXhfYiA9IHhmOyAvKiBCICovCiAJICAgIHBpeF9hID0gd2Y7IC8qIEEgKi8KIAkgICAg YnJlYWs7CiAJY2FzZSBQSUNUX2E4YjhnOHI4OgorCWNhc2UgUElDVF9hMmIxMGcxMHIxMDoKIAkg ICAgcGl4X3IgPSB4ZjsgLyogUiAqLwogCSAgICBwaXhfZyA9IHlmOyAvKiBHICovCiAJICAgIHBp eF9iID0gemY7IC8qIEIgKi8KIAkgICAgcGl4X2EgPSB3ZjsgLyogQSAqLwogCSAgICBicmVhazsK IAljYXNlIFBJQ1RfeDhiOGc4cjg6CisJY2FzZSBQSUNUX3gyYjEwZzEwcjEwOgogCSAgICBwaXhf ciA9IHhmOyAvKiBSICovCiAJICAgIHBpeF9nID0geWY7IC8qIEcgKi8KIAkgICAgcGl4X2IgPSB6 ZjsgLyogQiAqLwpAQCAtMTIyOCw2ICsxMjQ1LDcgQEAgc3RhdGljIHZvaWQgUjYwMFNldFNvbGlk Q29uc3RzKFNjcm5JbmZvUHRyIHBTY3JuLCBmbG9hdCAqYnVmLCBpbnQgZm9ybWF0LCB1aW50MzIK IAkgICAgYnJlYWs7CiAJY2FzZSBQSUNUX3gxcjVnNWI1OgogCWNhc2UgUElDVF94OHI4ZzhiODoK KwljYXNlIFBJQ1RfeDJyMTBnMTBiMTA6CiAJY2FzZSBQSUNUX3I1ZzZiNToKIAkgICAgcGl4X3Ig PSB6ZjsgLyogUiAqLwogCSAgICBwaXhfZyA9IHlmOyAvKiBHICovCkBAIC0xNDY0LDYgKzE0ODIs OCBAQCBzdGF0aWMgQm9vbCBSNjAwUHJlcGFyZUNvbXBvc2l0ZShpbnQgb3AsIFBpY3R1cmVQdHIg cFNyY1BpY3R1cmUsCiAgICAgY2JfY29uZi5zdXJmYWNlID0gYWNjZWxfc3RhdGUtPmRzdF9vYmou c3VyZmFjZTsKIAogICAgIHN3aXRjaCAocERzdFBpY3R1cmUtPmZvcm1hdCkgeworICAgIGNhc2Ug UElDVF9hMnIxMGcxMGIxMDoKKyAgICBjYXNlIFBJQ1RfeDJyMTBnMTBiMTA6CiAgICAgY2FzZSBQ SUNUX2E4cjhnOGI4OgogICAgIGNhc2UgUElDVF94OHI4ZzhiODoKICAgICBjYXNlIFBJQ1RfYTFy NWc1YjU6CkBAIC0xNDcxLDYgKzE0OTEsOCBAQCBzdGF0aWMgQm9vbCBSNjAwUHJlcGFyZUNvbXBv c2l0ZShpbnQgb3AsIFBpY3R1cmVQdHIgcFNyY1BpY3R1cmUsCiAgICAgZGVmYXVsdDoKIAljYl9j b25mLmNvbXBfc3dhcCA9IDE7IC8qIEFSR0IgKi8KIAlicmVhazsKKyAgICBjYXNlIFBJQ1RfYTJi MTBnMTByMTA6CisgICAgY2FzZSBQSUNUX3gyYjEwZzEwcjEwOgogICAgIGNhc2UgUElDVF9hOGI4 ZzhyODoKICAgICBjYXNlIFBJQ1RfeDhiOGc4cjg6CiAJY2JfY29uZi5jb21wX3N3YXAgPSAwOyAv KiBBQkdSICovCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQt Z2Z4Cg==