From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Strasser Subject: [PATCH v3 3/3] drm/i915/icl: Implement half float formats Date: Tue, 5 Feb 2019 19:29:22 -0800 Message-ID: <1549423762-18302-4-git-send-email-kevin.strasser@intel.com> References: <1549423762-18302-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: <1549423762-18302-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: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: David Airlie , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org NjQgYnBwIGhhbGYgZmxvYXQgZm9ybWF0cyBhcmUgc3VwcG9ydGVkIG9uIGhkciBwbGFuZXMgb25s eSBhbmQgYXJlIHN1YmplY3QKdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgKiA5MC8y NzAgcm90YXRpb24gbm90IHN1cHBvcnRlZAogICogWWYgVGlsaW5nIG5vdCBzdXBwb3J0ZWQKICAq IEZyYW1lIEJ1ZmZlciBDb21wcmVzc2lvbiBub3Qgc3VwcG9ydGVkCiAgKiBDb2xvciBLZXlpbmcg bm90IHN1cHBvcnRlZAoKdjI6Ci0gRHJvcCBoYW5kbGluZyBwaXhlbCBub3JtYWxpemUgcmVnaXN0 ZXIKLSBEb24ndCB1c2UgaWNsX2lzX2hkcl9wbGFuZSB0b28gZWFybHkKCnYzOgotIFVzZSByZWZh Y3RvcmVkIGljbF9pc19oZHJfcGxhbmUgKFZpbGxlKQotIFVzZSB1MzIgaW5zdGVhZCBvZiB1aW50 MzJfdCAoVmlsbGUpCgpDYzogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KQ2M6 IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBEYXZpZCBBaXJsaWUg PGFpcmxpZWRAbGludXguaWU+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xs LmNoPgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpTaWduZWQtb2ZmLWJ5OiBL ZXZpbiBTdHJhc3NlciA8a2V2aW4uc3RyYXNzZXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDIyICsrKysrKysrKysrKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgNjcgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDgzIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDJkOTYzOWQuLjExMjQ1 MDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTI2NjgsNiArMjY2OCwx OCBAQCBpbnQgc2tsX2Zvcm1hdF90b19mb3VyY2MoaW50IGZvcm1hdCwgYm9vbCByZ2Jfb3JkZXIs IGJvb2wgYWxwaGEpCiAJCXJldHVybiBEUk1fRk9STUFUX1JHQjU2NTsKIAljYXNlIFBMQU5FX0NU TF9GT1JNQVRfTlYxMjoKIAkJcmV0dXJuIERSTV9GT1JNQVRfTlYxMjsKKwljYXNlIFBMQU5FX0NU TF9GT1JNQVRfWFJHQl8xNjE2MTYxNkY6CisJCWlmIChyZ2Jfb3JkZXIpIHsKKwkJCWlmIChhbHBo YSkKKwkJCQlyZXR1cm4gRFJNX0ZPUk1BVF9BQkdSMTYxNjE2MTZGOworCQkJZWxzZQorCQkJCXJl dHVybiBEUk1fRk9STUFUX1hCR1IxNjE2MTYxNkY7CisJCX0gZWxzZSB7CisJCQlpZiAoYWxwaGEp CisJCQkJcmV0dXJuIERSTV9GT1JNQVRfQVJHQjE2MTYxNjE2RjsKKwkJCWVsc2UKKwkJCQlyZXR1 cm4gRFJNX0ZPUk1BVF9YUkdCMTYxNjE2MTZGOworCQl9CiAJZGVmYXVsdDoKIAljYXNlIFBMQU5F X0NUTF9GT1JNQVRfWFJHQl84ODg4OgogCQlpZiAocmdiX29yZGVyKSB7CkBAIC0zNTY2LDYgKzM1 NzgsMTIgQEAgc3RhdGljIHUzMiBza2xfcGxhbmVfY3RsX2Zvcm1hdCh1MzIgcGl4ZWxfZm9ybWF0 KQogCQlyZXR1cm4gUExBTkVfQ1RMX0ZPUk1BVF9ZVVY0MjIgfCBQTEFORV9DVExfWVVWNDIyX1ZZ VVk7CiAJY2FzZSBEUk1fRk9STUFUX05WMTI6CiAJCXJldHVybiBQTEFORV9DVExfRk9STUFUX05W MTI7CisJY2FzZSBEUk1fRk9STUFUX1hCR1IxNjE2MTYxNkY6CisJY2FzZSBEUk1fRk9STUFUX0FC R1IxNjE2MTYxNkY6CisJCXJldHVybiBQTEFORV9DVExfRk9STUFUX1hSR0JfMTYxNjE2MTZGIHwg UExBTkVfQ1RMX09SREVSX1JHQlg7CisJY2FzZSBEUk1fRk9STUFUX1hSR0IxNjE2MTYxNkY6CisJ Y2FzZSBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNkY6CisJCXJldHVybiBQTEFORV9DVExfRk9STUFU X1hSR0JfMTYxNjE2MTZGOwogCWRlZmF1bHQ6CiAJCU1JU1NJTkdfQ0FTRShwaXhlbF9mb3JtYXQp OwogCX0KQEAgLTUwOTcsNiArNTExNSwxMCBAQCBzdGF0aWMgaW50IHNrbF91cGRhdGVfc2NhbGVy X3BsYW5lKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCWNhc2UgRFJNX0ZP Uk1BVF9VWVZZOgogCWNhc2UgRFJNX0ZPUk1BVF9WWVVZOgogCWNhc2UgRFJNX0ZPUk1BVF9OVjEy OgorCWNhc2UgRFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTZGOgorCWNhc2UgRFJNX0ZPUk1BVF9BQkdS MTYxNjE2MTZGOgorCWNhc2UgRFJNX0ZPUk1BVF9YUkdCMTYxNjE2MTZGOgorCWNhc2UgRFJNX0ZP Uk1BVF9BUkdCMTYxNjE2MTZGOgogCQlicmVhazsKIAlkZWZhdWx0OgogCQlEUk1fREVCVUdfS01T KCJbUExBTkU6JWQ6JXNdIEZCOiVkIHVuc3VwcG9ydGVkIHNjYWxpbmcgZm9ybWF0IDB4JXhcbiIs CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCmluZGV4IDEwYjM3ZTguLjU1ZWU2NzcgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCkBAIC0xNDUwLDggKzE0NTAsNiBAQCBzdGF0 aWMgaW50IHNrbF9wbGFuZV9jaGVja19mYihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwKIAkJLyoKIAkJICogOTAvMjcwIGlzIG5vdCBhbGxvd2VkIHdpdGggUkdCNjQg MTY6MTY6MTY6MTYgYW5kCiAJCSAqIEluZGV4ZWQgOC1iaXQuIFJHQiAxNi1iaXQgNTo2OjUgaXMg YWxsb3dlZCBnZW4xMSBvbndhcmRzLgotCQkgKiBUQkQ6IEFkZCBSR0I2NCBjYXNlIG9uY2UgaXRz IGFkZGVkIGluIHN1cHBvcnRlZCBmb3JtYXQKLQkJICogbGlzdC4KIAkJICovCiAJCXN3aXRjaCAo ZmItPmZvcm1hdC0+Zm9ybWF0KSB7CiAJCWNhc2UgRFJNX0ZPUk1BVF9SR0I1NjU6CkBAIC0xNDU5 LDYgKzE0NTcsMTAgQEAgc3RhdGljIGludCBza2xfcGxhbmVfY2hlY2tfZmIoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJYnJlYWs7CiAJCQkvKiBmYWxsIHRo cm91Z2ggKi8KIAkJY2FzZSBEUk1fRk9STUFUX0M4OgorCQljYXNlIERSTV9GT1JNQVRfWFJHQjE2 MTYxNjE2RjoKKwkJY2FzZSBEUk1fRk9STUFUX1hCR1IxNjE2MTYxNkY6CisJCWNhc2UgRFJNX0ZP Uk1BVF9BUkdCMTYxNjE2MTZGOgorCQljYXNlIERSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RjoKIAkJ CURSTV9ERUJVR19LTVMoIlVuc3VwcG9ydGVkIHBpeGVsIGZvcm1hdCAlcyBmb3IgOTAvMjcwIVxu IiwKIAkJCQkgICAgICBkcm1fZ2V0X2Zvcm1hdF9uYW1lKGZiLT5mb3JtYXQtPmZvcm1hdCwKIAkJ CQkJCQkgICZmb3JtYXRfbmFtZSkpOwpAQCAtMTc3NCw2ICsxNzc2LDQ1IEBAIHN0YXRpYyBjb25z dCB1MzIgc2tsX3BsYW5hcl9mb3JtYXRzW10gPSB7CiAJRFJNX0ZPUk1BVF9OVjEyLAogfTsKIAor c3RhdGljIGNvbnN0IHUzMiBpY2xfaGRyX3BsYW5lX2Zvcm1hdHNbXSA9IHsKKwlEUk1fRk9STUFU X0M4LAorCURSTV9GT1JNQVRfUkdCNTY1LAorCURSTV9GT1JNQVRfWFJHQjg4ODgsCisJRFJNX0ZP Uk1BVF9YQkdSODg4OCwKKwlEUk1fRk9STUFUX0FSR0I4ODg4LAorCURSTV9GT1JNQVRfQUJHUjg4 ODgsCisJRFJNX0ZPUk1BVF9YUkdCMjEwMTAxMCwKKwlEUk1fRk9STUFUX1hCR1IyMTAxMDEwLAor CURSTV9GT1JNQVRfWFJHQjE2MTYxNjE2RiwKKwlEUk1fRk9STUFUX1hCR1IxNjE2MTYxNkYsCisJ RFJNX0ZPUk1BVF9BUkdCMTYxNjE2MTZGLAorCURSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RiwKKwlE Uk1fRk9STUFUX1lVWVYsCisJRFJNX0ZPUk1BVF9ZVllVLAorCURSTV9GT1JNQVRfVVlWWSwKKwlE Uk1fRk9STUFUX1ZZVVksCit9OworCitzdGF0aWMgY29uc3QgdTMyIGljbF9oZHJfcGxhbmFyX2Zv cm1hdHNbXSA9IHsKKwlEUk1fRk9STUFUX0M4LAorCURSTV9GT1JNQVRfUkdCNTY1LAorCURSTV9G T1JNQVRfWFJHQjg4ODgsCisJRFJNX0ZPUk1BVF9YQkdSODg4OCwKKwlEUk1fRk9STUFUX0FSR0I4 ODg4LAorCURSTV9GT1JNQVRfQUJHUjg4ODgsCisJRFJNX0ZPUk1BVF9YUkdCMjEwMTAxMCwKKwlE Uk1fRk9STUFUX1hCR1IyMTAxMDEwLAorCURSTV9GT1JNQVRfWFJHQjE2MTYxNjE2RiwKKwlEUk1f Rk9STUFUX1hCR1IxNjE2MTYxNkYsCisJRFJNX0ZPUk1BVF9BUkdCMTYxNjE2MTZGLAorCURSTV9G T1JNQVRfQUJHUjE2MTYxNjE2RiwKKwlEUk1fRk9STUFUX1lVWVYsCisJRFJNX0ZPUk1BVF9ZVllV LAorCURSTV9GT1JNQVRfVVlWWSwKKwlEUk1fRk9STUFUX1ZZVVksCisJRFJNX0ZPUk1BVF9OVjEy LAorfTsKKwogc3RhdGljIGNvbnN0IHU2NCBza2xfcGxhbmVfZm9ybWF0X21vZGlmaWVyc19ub2Nj c1tdID0gewogCUk5MTVfRk9STUFUX01PRF9ZZl9USUxFRCwKIAlJOTE1X0ZPUk1BVF9NT0RfWV9U SUxFRCwKQEAgLTE5MTcsNiArMTk1OCwxMCBAQCBzdGF0aWMgYm9vbCBza2xfcGxhbmVfZm9ybWF0 X21vZF9zdXBwb3J0ZWQoc3RydWN0IGRybV9wbGFuZSAqX3BsYW5lLAogCQkJcmV0dXJuIHRydWU7 CiAJCS8qIGZhbGwgdGhyb3VnaCAqLwogCWNhc2UgRFJNX0ZPUk1BVF9DODoKKwljYXNlIERSTV9G T1JNQVRfWEJHUjE2MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RjoKKwlj YXNlIERSTV9GT1JNQVRfWFJHQjE2MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRfQVJHQjE2MTYx NjE2RjoKIAkJaWYgKG1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0xJTkVBUiB8fAogCQkgICAg bW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQgfHwKIAkJICAgIG1vZGlmaWVyID09 IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEKQpAQCAtMjA1MywxMSArMjA5OCwyMSBAQCBza2xfdW5p dmVyc2FsX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ CXBsYW5lLT51cGRhdGVfc2xhdmUgPSBpY2xfdXBkYXRlX3NsYXZlOwogCiAJaWYgKHNrbF9wbGFu ZV9oYXNfcGxhbmFyKGRldl9wcml2LCBwaXBlLCBwbGFuZV9pZCkpIHsKLQkJZm9ybWF0cyA9IHNr bF9wbGFuYXJfZm9ybWF0czsKLQkJbnVtX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKHNrbF9wbGFuYXJf Zm9ybWF0cyk7CisJCWlmIChpY2xfaXNfaGRyX3BsYW5lKGRldl9wcml2LCBwbGFuZV9pZCkpIHsK KwkJCWZvcm1hdHMgPSBpY2xfaGRyX3BsYW5hcl9mb3JtYXRzOworCQkJbnVtX2Zvcm1hdHMgPSBB UlJBWV9TSVpFKGljbF9oZHJfcGxhbmFyX2Zvcm1hdHMpOworCQl9IGVsc2UgeworCQkJZm9ybWF0 cyA9IHNrbF9wbGFuYXJfZm9ybWF0czsKKwkJCW51bV9mb3JtYXRzID0gQVJSQVlfU0laRShza2xf cGxhbmFyX2Zvcm1hdHMpOworCQl9CiAJfSBlbHNlIHsKLQkJZm9ybWF0cyA9IHNrbF9wbGFuZV9m b3JtYXRzOwotCQludW1fZm9ybWF0cyA9IEFSUkFZX1NJWkUoc2tsX3BsYW5lX2Zvcm1hdHMpOwor CQlpZiAoaWNsX2lzX2hkcl9wbGFuZShkZXZfcHJpdiwgcGxhbmVfaWQpKSB7CisJCQlmb3JtYXRz ID0gaWNsX2hkcl9wbGFuZV9mb3JtYXRzOworCQkJbnVtX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKGlj bF9oZHJfcGxhbmVfZm9ybWF0cyk7CisJCX0gZWxzZSB7CisJCQlmb3JtYXRzID0gc2tsX3BsYW5l X2Zvcm1hdHM7CisJCQludW1fZm9ybWF0cyA9IEFSUkFZX1NJWkUoc2tsX3BsYW5lX2Zvcm1hdHMp OworCQl9CiAJfQogCiAJcGxhbmUtPmhhc19jY3MgPSBza2xfcGxhbmVfaGFzX2NjcyhkZXZfcHJp diwgcGlwZSwgcGxhbmVfaWQpOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=