From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Strasser Subject: [PATCH v6 3/3] drm/i915/icl: Implement half float formats Date: Tue, 12 Mar 2019 17:38:32 -0700 Message-ID: <1552437513-22648-4-git-send-email-kevin.strasser@intel.com> References: <1552437513-22648-1-git-send-email-kevin.strasser@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1552437513-22648-1-git-send-email-kevin.strasser@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: David Airlie , Daniel Vetter , Adam Jackson List-Id: intel-gfx@lists.freedesktop.org NjQgYnBwIGhhbGYgZmxvYXQgZm9ybWF0cyBhcmUgc3VwcG9ydGVkIG9uIGhkciBwbGFuZXMgb25s eSBhbmQgYXJlIHN1YmplY3QKdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgKiA5MC8y NzAgcm90YXRpb24gbm90IHN1cHBvcnRlZAogICogWWYgVGlsaW5nIG5vdCBzdXBwb3J0ZWQKICAq IEZyYW1lIEJ1ZmZlciBDb21wcmVzc2lvbiBub3Qgc3VwcG9ydGVkCiAgKiBDb2xvciBLZXlpbmcg bm90IHN1cHBvcnRlZAoKdjI6Ci0gRHJvcCBoYW5kbGluZyBwaXhlbCBub3JtYWxpemUgcmVnaXN0 ZXIKLSBEb24ndCB1c2UgaWNsX2lzX2hkcl9wbGFuZSB0b28gZWFybHkKCnYzOgotIFVzZSByZWZh Y3RvcmVkIGljbF9pc19oZHJfcGxhbmUgKFZpbGxlKQotIFVzZSB1MzIgaW5zdGVhZCBvZiB1aW50 MzJfdCAoVmlsbGUpCgp2NjoKLSBSZWJhc2UgYW5kIGZpeCBtZXJnZSBjb25mbGljdHMKLSBSZW9y Z2FuaXplIHN3aXRjaCBzdGF0ZW1lbnRzIHRvIGtlZXAgUkdCIGdyb3VwZWQgc2VwYXJhdGVseSBm cm9tIFlVVgoKQ2M6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+CkNjOiBTaGFz aGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+CkNjOiBEYXZpZCBBaXJsaWUg PGFpcmxpZWRAbGludXguaWU+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xs LmNoPgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpTaWduZWQtb2ZmLWJ5OiBL ZXZpbiBTdHJhc3NlciA8a2V2aW4uc3RyYXNzZXJAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6 IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ClJl dmlld2VkLWJ5OiBBZGFtIEphY2tzb24gPGFqYXhAcmVkaGF0LmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAyMiArKysrKysrKysrKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgNzIgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDkxIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDYwZmJlM2EuLmVhZWRm OTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTI2ODAsNiArMjY4MCwx OCBAQCBpbnQgc2tsX2Zvcm1hdF90b19mb3VyY2MoaW50IGZvcm1hdCwgYm9vbCByZ2Jfb3JkZXIs IGJvb2wgYWxwaGEpCiAJCQlyZXR1cm4gRFJNX0ZPUk1BVF9YQkdSMjEwMTAxMDsKIAkJZWxzZQog CQkJcmV0dXJuIERSTV9GT1JNQVRfWFJHQjIxMDEwMTA7CisJY2FzZSBQTEFORV9DVExfRk9STUFU X1hSR0JfMTYxNjE2MTZGOgorCQlpZiAocmdiX29yZGVyKSB7CisJCQlpZiAoYWxwaGEpCisJCQkJ cmV0dXJuIERSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RjsKKwkJCWVsc2UKKwkJCQlyZXR1cm4gRFJN X0ZPUk1BVF9YQkdSMTYxNjE2MTZGOworCQl9IGVsc2UgeworCQkJaWYgKGFscGhhKQorCQkJCXJl dHVybiBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNkY7CisJCQllbHNlCisJCQkJcmV0dXJuIERSTV9G T1JNQVRfWFJHQjE2MTYxNjE2RjsKKwkJfQogCX0KIH0KIApAQCAtMzU3NSw2ICszNTg3LDEyIEBA IHN0YXRpYyB1MzIgc2tsX3BsYW5lX2N0bF9mb3JtYXQodTMyIHBpeGVsX2Zvcm1hdCkKIAkJcmV0 dXJuIFBMQU5FX0NUTF9GT1JNQVRfWFJHQl8yMTAxMDEwOwogCWNhc2UgRFJNX0ZPUk1BVF9YQkdS MjEwMTAxMDoKIAkJcmV0dXJuIFBMQU5FX0NUTF9PUkRFUl9SR0JYIHwgUExBTkVfQ1RMX0ZPUk1B VF9YUkdCXzIxMDEwMTA7CisJY2FzZSBEUk1fRk9STUFUX1hCR1IxNjE2MTYxNkY6CisJY2FzZSBE Uk1fRk9STUFUX0FCR1IxNjE2MTYxNkY6CisJCXJldHVybiBQTEFORV9DVExfRk9STUFUX1hSR0Jf MTYxNjE2MTZGIHwgUExBTkVfQ1RMX09SREVSX1JHQlg7CisJY2FzZSBEUk1fRk9STUFUX1hSR0Ix NjE2MTYxNkY6CisJY2FzZSBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNkY6CisJCXJldHVybiBQTEFO RV9DVExfRk9STUFUX1hSR0JfMTYxNjE2MTZGOwogCWNhc2UgRFJNX0ZPUk1BVF9ZVVlWOgogCQly ZXR1cm4gUExBTkVfQ1RMX0ZPUk1BVF9ZVVY0MjIgfCBQTEFORV9DVExfWVVWNDIyX1lVWVY7CiAJ Y2FzZSBEUk1fRk9STUFUX1lWWVU6CkBAIC01MTQzLDYgKzUxNjEsMTAgQEAgc3RhdGljIGludCBz a2xfdXBkYXRlX3NjYWxlcl9wbGFuZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKIAljYXNlIERSTV9GT1JNQVRfQVJHQjg4ODg6CiAJY2FzZSBEUk1fRk9STUFUX1hSR0IyMTAx MDEwOgogCWNhc2UgRFJNX0ZPUk1BVF9YQkdSMjEwMTAxMDoKKwljYXNlIERSTV9GT1JNQVRfWEJH UjE2MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RjoKKwljYXNlIERSTV9G T1JNQVRfWFJHQjE2MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRfQVJHQjE2MTYxNjE2RjoKIAlj YXNlIERSTV9GT1JNQVRfWVVZVjoKIAljYXNlIERSTV9GT1JNQVRfWVZZVToKIAljYXNlIERSTV9G T1JNQVRfVVlWWToKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKaW5kZXggNjIyNjY5Zi4u ZTAwNTU5ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKQEAgLTE1MDgsOCArMTUw OCw2IEBAIHN0YXRpYyBpbnQgc2tsX3BsYW5lX2NoZWNrX2ZiKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkvKgogCQkgKiA5MC8yNzAgaXMgbm90IGFsbG93ZWQg d2l0aCBSR0I2NCAxNjoxNjoxNjoxNiBhbmQKIAkJICogSW5kZXhlZCA4LWJpdC4gUkdCIDE2LWJp dCA1OjY6NSBpcyBhbGxvd2VkIGdlbjExIG9ud2FyZHMuCi0JCSAqIFRCRDogQWRkIFJHQjY0IGNh c2Ugb25jZSBpdHMgYWRkZWQgaW4gc3VwcG9ydGVkIGZvcm1hdAotCQkgKiBsaXN0LgogCQkgKi8K IAkJc3dpdGNoIChmYi0+Zm9ybWF0LT5mb3JtYXQpIHsKIAkJY2FzZSBEUk1fRk9STUFUX1JHQjU2 NToKQEAgLTE1MTcsNiArMTUxNSwxMCBAQCBzdGF0aWMgaW50IHNrbF9wbGFuZV9jaGVja19mYihj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQlicmVhazsKIAkJ CS8qIGZhbGwgdGhyb3VnaCAqLwogCQljYXNlIERSTV9GT1JNQVRfQzg6CisJCWNhc2UgRFJNX0ZP Uk1BVF9YUkdCMTYxNjE2MTZGOgorCQljYXNlIERSTV9GT1JNQVRfWEJHUjE2MTYxNjE2RjoKKwkJ Y2FzZSBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNkY6CisJCWNhc2UgRFJNX0ZPUk1BVF9BQkdSMTYx NjE2MTZGOgogCQkJRFJNX0RFQlVHX0tNUygiVW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0ICVzIGZv ciA5MC8yNzAhXG4iLAogCQkJCSAgICAgIGRybV9nZXRfZm9ybWF0X25hbWUoZmItPmZvcm1hdC0+ Zm9ybWF0LAogCQkJCQkJCSAgJmZvcm1hdF9uYW1lKSk7CkBAIC0xODM3LDYgKzE4MzksMzEgQEAg c3RhdGljIGNvbnN0IHVpbnQzMl90IGljbF9wbGFuZV9mb3JtYXRzW10gPSB7CiAJRFJNX0ZPUk1B VF9ZNDE2LAogfTsKIAorc3RhdGljIGNvbnN0IHVpbnQzMl90IGljbF9oZHJfcGxhbmVfZm9ybWF0 c1tdID0geworCURSTV9GT1JNQVRfQzgsCisJRFJNX0ZPUk1BVF9SR0I1NjUsCisJRFJNX0ZPUk1B VF9YUkdCODg4OCwKKwlEUk1fRk9STUFUX1hCR1I4ODg4LAorCURSTV9GT1JNQVRfQVJHQjg4ODgs CisJRFJNX0ZPUk1BVF9BQkdSODg4OCwKKwlEUk1fRk9STUFUX1hSR0IyMTAxMDEwLAorCURSTV9G T1JNQVRfWEJHUjIxMDEwMTAsCisJRFJNX0ZPUk1BVF9YUkdCMTYxNjE2MTZGLAorCURSTV9GT1JN QVRfWEJHUjE2MTYxNjE2RiwKKwlEUk1fRk9STUFUX0FSR0IxNjE2MTYxNkYsCisJRFJNX0ZPUk1B VF9BQkdSMTYxNjE2MTZGLAorCURSTV9GT1JNQVRfWVVZViwKKwlEUk1fRk9STUFUX1lWWVUsCisJ RFJNX0ZPUk1BVF9VWVZZLAorCURSTV9GT1JNQVRfVllVWSwKKwlEUk1fRk9STUFUX1kyMTAsCisJ RFJNX0ZPUk1BVF9ZMjEyLAorCURSTV9GT1JNQVRfWTIxNiwKKwlEUk1fRk9STUFUX1k0MTAsCisJ RFJNX0ZPUk1BVF9ZNDEyLAorCURSTV9GT1JNQVRfWTQxNiwKK307CisKIHN0YXRpYyBjb25zdCB1 MzIgc2tsX3BsYW5hcl9mb3JtYXRzW10gPSB7CiAJRFJNX0ZPUk1BVF9DOCwKIAlEUk1fRk9STUFU X1JHQjU2NSwKQEAgLTE4OTcsNiArMTkyNCwzNSBAQCBzdGF0aWMgY29uc3QgdWludDMyX3QgaWNs X3BsYW5hcl9mb3JtYXRzW10gPSB7CiAJRFJNX0ZPUk1BVF9ZNDE2LAogfTsKIAorc3RhdGljIGNv bnN0IHVpbnQzMl90IGljbF9oZHJfcGxhbmFyX2Zvcm1hdHNbXSA9IHsKKwlEUk1fRk9STUFUX0M4 LAorCURSTV9GT1JNQVRfUkdCNTY1LAorCURSTV9GT1JNQVRfWFJHQjg4ODgsCisJRFJNX0ZPUk1B VF9YQkdSODg4OCwKKwlEUk1fRk9STUFUX0FSR0I4ODg4LAorCURSTV9GT1JNQVRfQUJHUjg4ODgs CisJRFJNX0ZPUk1BVF9YUkdCMjEwMTAxMCwKKwlEUk1fRk9STUFUX1hCR1IyMTAxMDEwLAorCURS TV9GT1JNQVRfWFJHQjE2MTYxNjE2RiwKKwlEUk1fRk9STUFUX1hCR1IxNjE2MTYxNkYsCisJRFJN X0ZPUk1BVF9BUkdCMTYxNjE2MTZGLAorCURSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RiwKKwlEUk1f Rk9STUFUX1lVWVYsCisJRFJNX0ZPUk1BVF9ZVllVLAorCURSTV9GT1JNQVRfVVlWWSwKKwlEUk1f Rk9STUFUX1ZZVVksCisJRFJNX0ZPUk1BVF9OVjEyLAorCURSTV9GT1JNQVRfUDAxMCwKKwlEUk1f Rk9STUFUX1AwMTIsCisJRFJNX0ZPUk1BVF9QMDE2LAorCURSTV9GT1JNQVRfWTIxMCwKKwlEUk1f Rk9STUFUX1kyMTIsCisJRFJNX0ZPUk1BVF9ZMjE2LAorCURSTV9GT1JNQVRfWTQxMCwKKwlEUk1f Rk9STUFUX1k0MTIsCisJRFJNX0ZPUk1BVF9ZNDE2LAorfTsKKwogc3RhdGljIGNvbnN0IHU2NCBz a2xfcGxhbmVfZm9ybWF0X21vZGlmaWVyc19ub2Njc1tdID0gewogCUk5MTVfRk9STUFUX01PRF9Z Zl9USUxFRCwKIAlJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCwKQEAgLTIwNDksNiArMjEwNSwxMCBA QCBzdGF0aWMgYm9vbCBza2xfcGxhbmVfZm9ybWF0X21vZF9zdXBwb3J0ZWQoc3RydWN0IGRybV9w bGFuZSAqX3BsYW5lLAogCQkJcmV0dXJuIHRydWU7CiAJCS8qIGZhbGwgdGhyb3VnaCAqLwogCWNh c2UgRFJNX0ZPUk1BVF9DODoKKwljYXNlIERSTV9GT1JNQVRfWEJHUjE2MTYxNjE2RjoKKwljYXNl IERSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRfWFJHQjE2MTYxNjE2 RjoKKwljYXNlIERSTV9GT1JNQVRfQVJHQjE2MTYxNjE2RjoKIAkJaWYgKG1vZGlmaWVyID09IERS TV9GT1JNQVRfTU9EX0xJTkVBUiB8fAogCQkgICAgbW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9E X1hfVElMRUQgfHwKIAkJICAgIG1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEKQpA QCAtMjE4NSw3ICsyMjQ1LDEwIEBAIHNrbF91bml2ZXJzYWxfcGxhbmVfY3JlYXRlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJcGxhbmUtPnVwZGF0ZV9zbGF2ZSA9IGljbF91 cGRhdGVfc2xhdmU7CiAKIAlpZiAoc2tsX3BsYW5lX2hhc19wbGFuYXIoZGV2X3ByaXYsIHBpcGUs IHBsYW5lX2lkKSkgewotCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkgeworCQlpZiAo aWNsX2lzX2hkcl9wbGFuZShkZXZfcHJpdiwgcGxhbmVfaWQpKSB7CisJCQlmb3JtYXRzID0gaWNs X2hkcl9wbGFuYXJfZm9ybWF0czsKKwkJCW51bV9mb3JtYXRzID0gQVJSQVlfU0laRShpY2xfaGRy X3BsYW5hcl9mb3JtYXRzKTsKKwkJfSBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEx KSB7CiAJCQlmb3JtYXRzID0gaWNsX3BsYW5hcl9mb3JtYXRzOwogCQkJbnVtX2Zvcm1hdHMgPSBB UlJBWV9TSVpFKGljbF9wbGFuYXJfZm9ybWF0cyk7CiAJCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA9PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkgewpAQCAtMjE5NSw2ICsy MjU4LDkgQEAgc2tsX3VuaXZlcnNhbF9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCQkJZm9ybWF0cyA9IHNrbF9wbGFuYXJfZm9ybWF0czsKIAkJCW51bV9m b3JtYXRzID0gQVJSQVlfU0laRShza2xfcGxhbmFyX2Zvcm1hdHMpOwogCQl9CisJfSBlbHNlIGlm IChpY2xfaXNfaGRyX3BsYW5lKGRldl9wcml2LCBwbGFuZV9pZCkpIHsKKwkJZm9ybWF0cyA9IGlj bF9oZHJfcGxhbmVfZm9ybWF0czsKKwkJbnVtX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKGljbF9oZHJf cGxhbmVfZm9ybWF0cyk7CiAJfSBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKSB7 CiAJCWZvcm1hdHMgPSBpY2xfcGxhbmVfZm9ybWF0czsKIAkJbnVtX2Zvcm1hdHMgPSBBUlJBWV9T SVpFKGljbF9wbGFuZV9mb3JtYXRzKTsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=