From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Strasser Subject: [PATCH v4 3/3] drm/i915/icl: Implement half float formats Date: Wed, 6 Feb 2019 10:02:13 -0800 Message-ID: <1549476133-9172-4-git-send-email-kevin.strasser@intel.com> References: <1549476133-9172-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: <1549476133-9172-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: intel-gfx@lists.freedesktop.org NjQgYnBwIGhhbGYgZmxvYXQgZm9ybWF0cyBhcmUgc3VwcG9ydGVkIG9uIGhkciBwbGFuZXMgb25s eSBhbmQgYXJlIHN1YmplY3QKdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgKiA5MC8y NzAgcm90YXRpb24gbm90IHN1cHBvcnRlZAogICogWWYgVGlsaW5nIG5vdCBzdXBwb3J0ZWQKICAq IEZyYW1lIEJ1ZmZlciBDb21wcmVzc2lvbiBub3Qgc3VwcG9ydGVkCiAgKiBDb2xvciBLZXlpbmcg bm90IHN1cHBvcnRlZAoKdjI6Ci0gRHJvcCBoYW5kbGluZyBwaXhlbCBub3JtYWxpemUgcmVnaXN0 ZXIKLSBEb24ndCB1c2UgaWNsX2lzX2hkcl9wbGFuZSB0b28gZWFybHkKCnYzOgotIFVzZSByZWZh Y3RvcmVkIGljbF9pc19oZHJfcGxhbmUgKFZpbGxlKQotIFVzZSB1MzIgaW5zdGVhZCBvZiB1aW50 MzJfdCAoVmlsbGUpCgpDYzogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KQ2M6 IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBEYXZpZCBBaXJsaWUg PGFpcmxpZWRAbGludXguaWU+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xs LmNoPgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpTaWduZWQtb2ZmLWJ5OiBL ZXZpbiBTdHJhc3NlciA8a2V2aW4uc3RyYXNzZXJAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAyMiArKysrKysrKysrKysKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8IDY3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAyZDk2MzlkLi4x MTI0NTAyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0yNjY4LDYgKzI2 NjgsMTggQEAgaW50IHNrbF9mb3JtYXRfdG9fZm91cmNjKGludCBmb3JtYXQsIGJvb2wgcmdiX29y ZGVyLCBib29sIGFscGhhKQogCQlyZXR1cm4gRFJNX0ZPUk1BVF9SR0I1NjU7CiAJY2FzZSBQTEFO RV9DVExfRk9STUFUX05WMTI6CiAJCXJldHVybiBEUk1fRk9STUFUX05WMTI7CisJY2FzZSBQTEFO RV9DVExfRk9STUFUX1hSR0JfMTYxNjE2MTZGOgorCQlpZiAocmdiX29yZGVyKSB7CisJCQlpZiAo YWxwaGEpCisJCQkJcmV0dXJuIERSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RjsKKwkJCWVsc2UKKwkJ CQlyZXR1cm4gRFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTZGOworCQl9IGVsc2UgeworCQkJaWYgKGFs cGhhKQorCQkJCXJldHVybiBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNkY7CisJCQllbHNlCisJCQkJ cmV0dXJuIERSTV9GT1JNQVRfWFJHQjE2MTYxNjE2RjsKKwkJfQogCWRlZmF1bHQ6CiAJY2FzZSBQ TEFORV9DVExfRk9STUFUX1hSR0JfODg4ODoKIAkJaWYgKHJnYl9vcmRlcikgewpAQCAtMzU2Niw2 ICszNTc4LDEyIEBAIHN0YXRpYyB1MzIgc2tsX3BsYW5lX2N0bF9mb3JtYXQodTMyIHBpeGVsX2Zv cm1hdCkKIAkJcmV0dXJuIFBMQU5FX0NUTF9GT1JNQVRfWVVWNDIyIHwgUExBTkVfQ1RMX1lVVjQy Ml9WWVVZOwogCWNhc2UgRFJNX0ZPUk1BVF9OVjEyOgogCQlyZXR1cm4gUExBTkVfQ1RMX0ZPUk1B VF9OVjEyOworCWNhc2UgRFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTZGOgorCWNhc2UgRFJNX0ZPUk1B VF9BQkdSMTYxNjE2MTZGOgorCQlyZXR1cm4gUExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzE2MTYxNjE2 RiB8IFBMQU5FX0NUTF9PUkRFUl9SR0JYOworCWNhc2UgRFJNX0ZPUk1BVF9YUkdCMTYxNjE2MTZG OgorCWNhc2UgRFJNX0ZPUk1BVF9BUkdCMTYxNjE2MTZGOgorCQlyZXR1cm4gUExBTkVfQ1RMX0ZP Uk1BVF9YUkdCXzE2MTYxNjE2RjsKIAlkZWZhdWx0OgogCQlNSVNTSU5HX0NBU0UocGl4ZWxfZm9y bWF0KTsKIAl9CkBAIC01MDk3LDYgKzUxMTUsMTAgQEAgc3RhdGljIGludCBza2xfdXBkYXRlX3Nj YWxlcl9wbGFuZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAljYXNlIERS TV9GT1JNQVRfVVlWWToKIAljYXNlIERSTV9GT1JNQVRfVllVWToKIAljYXNlIERSTV9GT1JNQVRf TlYxMjoKKwljYXNlIERSTV9GT1JNQVRfWEJHUjE2MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRf QUJHUjE2MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRfWFJHQjE2MTYxNjE2RjoKKwljYXNlIERS TV9GT1JNQVRfQVJHQjE2MTYxNjE2RjoKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJRFJNX0RFQlVH X0tNUygiW1BMQU5FOiVkOiVzXSBGQjolZCB1bnN1cHBvcnRlZCBzY2FsaW5nIGZvcm1hdCAweCV4 XG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwppbmRleCAxMGIzN2U4Li41NWVlNjc3 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwpAQCAtMTQ1MCw4ICsxNDUwLDYgQEAg c3RhdGljIGludCBza2xfcGxhbmVfY2hlY2tfZmIoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiAJCS8qCiAJCSAqIDkwLzI3MCBpcyBub3QgYWxsb3dlZCB3aXRoIFJH QjY0IDE2OjE2OjE2OjE2IGFuZAogCQkgKiBJbmRleGVkIDgtYml0LiBSR0IgMTYtYml0IDU6Njo1 IGlzIGFsbG93ZWQgZ2VuMTEgb253YXJkcy4KLQkJICogVEJEOiBBZGQgUkdCNjQgY2FzZSBvbmNl IGl0cyBhZGRlZCBpbiBzdXBwb3J0ZWQgZm9ybWF0Ci0JCSAqIGxpc3QuCiAJCSAqLwogCQlzd2l0 Y2ggKGZiLT5mb3JtYXQtPmZvcm1hdCkgewogCQljYXNlIERSTV9GT1JNQVRfUkdCNTY1OgpAQCAt MTQ1OSw2ICsxNDU3LDEwIEBAIHN0YXRpYyBpbnQgc2tsX3BsYW5lX2NoZWNrX2ZiKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJCWJyZWFrOwogCQkJLyogZmFs bCB0aHJvdWdoICovCiAJCWNhc2UgRFJNX0ZPUk1BVF9DODoKKwkJY2FzZSBEUk1fRk9STUFUX1hS R0IxNjE2MTYxNkY6CisJCWNhc2UgRFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTZGOgorCQljYXNlIERS TV9GT1JNQVRfQVJHQjE2MTYxNjE2RjoKKwkJY2FzZSBEUk1fRk9STUFUX0FCR1IxNjE2MTYxNkY6 CiAJCQlEUk1fREVCVUdfS01TKCJVbnN1cHBvcnRlZCBwaXhlbCBmb3JtYXQgJXMgZm9yIDkwLzI3 MCFcbiIsCiAJCQkJICAgICAgZHJtX2dldF9mb3JtYXRfbmFtZShmYi0+Zm9ybWF0LT5mb3JtYXQs CiAJCQkJCQkJICAmZm9ybWF0X25hbWUpKTsKQEAgLTE3NzQsNiArMTc3Niw0NSBAQCBzdGF0aWMg Y29uc3QgdTMyIHNrbF9wbGFuYXJfZm9ybWF0c1tdID0gewogCURSTV9GT1JNQVRfTlYxMiwKIH07 CiAKK3N0YXRpYyBjb25zdCB1MzIgaWNsX2hkcl9wbGFuZV9mb3JtYXRzW10gPSB7CisJRFJNX0ZP Uk1BVF9DOCwKKwlEUk1fRk9STUFUX1JHQjU2NSwKKwlEUk1fRk9STUFUX1hSR0I4ODg4LAorCURS TV9GT1JNQVRfWEJHUjg4ODgsCisJRFJNX0ZPUk1BVF9BUkdCODg4OCwKKwlEUk1fRk9STUFUX0FC R1I4ODg4LAorCURSTV9GT1JNQVRfWFJHQjIxMDEwMTAsCisJRFJNX0ZPUk1BVF9YQkdSMjEwMTAx MCwKKwlEUk1fRk9STUFUX1hSR0IxNjE2MTYxNkYsCisJRFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTZG LAorCURSTV9GT1JNQVRfQVJHQjE2MTYxNjE2RiwKKwlEUk1fRk9STUFUX0FCR1IxNjE2MTYxNkYs CisJRFJNX0ZPUk1BVF9ZVVlWLAorCURSTV9GT1JNQVRfWVZZVSwKKwlEUk1fRk9STUFUX1VZVlks CisJRFJNX0ZPUk1BVF9WWVVZLAorfTsKKworc3RhdGljIGNvbnN0IHUzMiBpY2xfaGRyX3BsYW5h cl9mb3JtYXRzW10gPSB7CisJRFJNX0ZPUk1BVF9DOCwKKwlEUk1fRk9STUFUX1JHQjU2NSwKKwlE Uk1fRk9STUFUX1hSR0I4ODg4LAorCURSTV9GT1JNQVRfWEJHUjg4ODgsCisJRFJNX0ZPUk1BVF9B UkdCODg4OCwKKwlEUk1fRk9STUFUX0FCR1I4ODg4LAorCURSTV9GT1JNQVRfWFJHQjIxMDEwMTAs CisJRFJNX0ZPUk1BVF9YQkdSMjEwMTAxMCwKKwlEUk1fRk9STUFUX1hSR0IxNjE2MTYxNkYsCisJ RFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTZGLAorCURSTV9GT1JNQVRfQVJHQjE2MTYxNjE2RiwKKwlE Uk1fRk9STUFUX0FCR1IxNjE2MTYxNkYsCisJRFJNX0ZPUk1BVF9ZVVlWLAorCURSTV9GT1JNQVRf WVZZVSwKKwlEUk1fRk9STUFUX1VZVlksCisJRFJNX0ZPUk1BVF9WWVVZLAorCURSTV9GT1JNQVRf TlYxMiwKK307CisKIHN0YXRpYyBjb25zdCB1NjQgc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnNf bm9jY3NbXSA9IHsKIAlJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQsCiAJSTkxNV9GT1JNQVRfTU9E X1lfVElMRUQsCkBAIC0xOTE3LDYgKzE5NTgsMTAgQEAgc3RhdGljIGJvb2wgc2tsX3BsYW5lX2Zv cm1hdF9tb2Rfc3VwcG9ydGVkKHN0cnVjdCBkcm1fcGxhbmUgKl9wbGFuZSwKIAkJCXJldHVybiB0 cnVlOwogCQkvKiBmYWxsIHRocm91Z2ggKi8KIAljYXNlIERSTV9GT1JNQVRfQzg6CisJY2FzZSBE Uk1fRk9STUFUX1hCR1IxNjE2MTYxNkY6CisJY2FzZSBEUk1fRk9STUFUX0FCR1IxNjE2MTYxNkY6 CisJY2FzZSBEUk1fRk9STUFUX1hSR0IxNjE2MTYxNkY6CisJY2FzZSBEUk1fRk9STUFUX0FSR0Ix NjE2MTYxNkY6CiAJCWlmIChtb2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9MSU5FQVIgfHwKIAkJ ICAgIG1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9YX1RJTEVEIHx8CiAJCSAgICBtb2RpZmll ciA9PSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCkKQEAgLTIwNTMsMTEgKzIwOTgsMjEgQEAgc2ts X3VuaXZlcnNhbF9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCQlwbGFuZS0+dXBkYXRlX3NsYXZlID0gaWNsX3VwZGF0ZV9zbGF2ZTsKIAogCWlmIChza2xf cGxhbmVfaGFzX3BsYW5hcihkZXZfcHJpdiwgcGlwZSwgcGxhbmVfaWQpKSB7Ci0JCWZvcm1hdHMg PSBza2xfcGxhbmFyX2Zvcm1hdHM7Ci0JCW51bV9mb3JtYXRzID0gQVJSQVlfU0laRShza2xfcGxh bmFyX2Zvcm1hdHMpOworCQlpZiAoaWNsX2lzX2hkcl9wbGFuZShkZXZfcHJpdiwgcGxhbmVfaWQp KSB7CisJCQlmb3JtYXRzID0gaWNsX2hkcl9wbGFuYXJfZm9ybWF0czsKKwkJCW51bV9mb3JtYXRz ID0gQVJSQVlfU0laRShpY2xfaGRyX3BsYW5hcl9mb3JtYXRzKTsKKwkJfSBlbHNlIHsKKwkJCWZv cm1hdHMgPSBza2xfcGxhbmFyX2Zvcm1hdHM7CisJCQludW1fZm9ybWF0cyA9IEFSUkFZX1NJWkUo c2tsX3BsYW5hcl9mb3JtYXRzKTsKKwkJfQogCX0gZWxzZSB7Ci0JCWZvcm1hdHMgPSBza2xfcGxh bmVfZm9ybWF0czsKLQkJbnVtX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKHNrbF9wbGFuZV9mb3JtYXRz KTsKKwkJaWYgKGljbF9pc19oZHJfcGxhbmUoZGV2X3ByaXYsIHBsYW5lX2lkKSkgeworCQkJZm9y bWF0cyA9IGljbF9oZHJfcGxhbmVfZm9ybWF0czsKKwkJCW51bV9mb3JtYXRzID0gQVJSQVlfU0la RShpY2xfaGRyX3BsYW5lX2Zvcm1hdHMpOworCQl9IGVsc2UgeworCQkJZm9ybWF0cyA9IHNrbF9w bGFuZV9mb3JtYXRzOworCQkJbnVtX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKHNrbF9wbGFuZV9mb3Jt YXRzKTsKKwkJfQogCX0KIAogCXBsYW5lLT5oYXNfY2NzID0gc2tsX3BsYW5lX2hhc19jY3MoZGV2 X3ByaXYsIHBpcGUsIHBsYW5lX2lkKTsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK