From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Strasser Subject: [PATCH v2 RESEND 2/2] drm/i915/icl: Implement half float formats Date: Fri, 1 Feb 2019 09:43:40 -0800 Message-ID: <1549043020-5124-3-git-send-email-kevin.strasser@intel.com> References: <1549043020-5124-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: <1549043020-5124-1-git-send-email-kevin.strasser@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: David Airlie , Daniel Vetter , Uma Shankar List-Id: intel-gfx@lists.freedesktop.org NjQgYnBwIGhhbGYgZmxvYXQgZm9ybWF0cyBhcmUgc3VwcG9ydGVkIG9uIGhkciBwbGFuZXMgb25s eSBhbmQgYXJlIHN1YmplY3QKdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgKiA5MC8y NzAgcm90YXRpb24gbm90IHN1cHBvcnRlZAogICogWWYgVGlsaW5nIG5vdCBzdXBwb3J0ZWQKICAq IEZyYW1lIEJ1ZmZlciBDb21wcmVzc2lvbiBub3Qgc3VwcG9ydGVkCiAgKiBDb2xvciBLZXlpbmcg bm90IHN1cHBvcnRlZAoKdjI6Ci0gRHJvcCBoYW5kbGluZyBwaXhlbCBub3JtYWxpemUgcmVnaXN0 ZXIKLSBEb24ndCB1c2UgaWNsX2lzX2hkcl9wbGFuZSB0b28gZWFybHkKClNpZ25lZC1vZmYtYnk6 IEtldmluIFN0cmFzc2VyIDxrZXZpbi5zdHJhc3NlckBpbnRlbC5jb20+CkNjOiBVbWEgU2hhbmth ciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgpDYzogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5z aGFybWFAaW50ZWwuY29tPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4KQ2M6IERhdmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4KQ2M6IERhbmll bCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwg MjIgKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCA2 NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwg ODMgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKaW5kZXggYTZkODk4NS4uZjQxM2NjZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwpAQCAtMjY2OCw2ICsyNjY4LDE4IEBAIGludCBza2xfZm9ybWF0X3RvX2ZvdXJj YyhpbnQgZm9ybWF0LCBib29sIHJnYl9vcmRlciwgYm9vbCBhbHBoYSkKIAkJcmV0dXJuIERSTV9G T1JNQVRfUkdCNTY1OwogCWNhc2UgUExBTkVfQ1RMX0ZPUk1BVF9OVjEyOgogCQlyZXR1cm4gRFJN X0ZPUk1BVF9OVjEyOworCWNhc2UgUExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzE2MTYxNjE2RjoKKwkJ aWYgKHJnYl9vcmRlcikgeworCQkJaWYgKGFscGhhKQorCQkJCXJldHVybiBEUk1fRk9STUFUX0FC R1IxNjE2MTYxNkY7CisJCQllbHNlCisJCQkJcmV0dXJuIERSTV9GT1JNQVRfWEJHUjE2MTYxNjE2 RjsKKwkJfSBlbHNlIHsKKwkJCWlmIChhbHBoYSkKKwkJCQlyZXR1cm4gRFJNX0ZPUk1BVF9BUkdC MTYxNjE2MTZGOworCQkJZWxzZQorCQkJCXJldHVybiBEUk1fRk9STUFUX1hSR0IxNjE2MTYxNkY7 CisJCX0KIAlkZWZhdWx0OgogCWNhc2UgUExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzg4ODg6CiAJCWlm IChyZ2Jfb3JkZXIpIHsKQEAgLTM1NjYsNiArMzU3OCwxMiBAQCBzdGF0aWMgdTMyIHNrbF9wbGFu ZV9jdGxfZm9ybWF0KHUzMiBwaXhlbF9mb3JtYXQpCiAJCXJldHVybiBQTEFORV9DVExfRk9STUFU X1lVVjQyMiB8IFBMQU5FX0NUTF9ZVVY0MjJfVllVWTsKIAljYXNlIERSTV9GT1JNQVRfTlYxMjoK IAkJcmV0dXJuIFBMQU5FX0NUTF9GT1JNQVRfTlYxMjsKKwljYXNlIERSTV9GT1JNQVRfWEJHUjE2 MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RjoKKwkJcmV0dXJuIFBMQU5F X0NUTF9GT1JNQVRfWFJHQl8xNjE2MTYxNkYgfCBQTEFORV9DVExfT1JERVJfUkdCWDsKKwljYXNl IERSTV9GT1JNQVRfWFJHQjE2MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRfQVJHQjE2MTYxNjE2 RjoKKwkJcmV0dXJuIFBMQU5FX0NUTF9GT1JNQVRfWFJHQl8xNjE2MTYxNkY7CiAJZGVmYXVsdDoK IAkJTUlTU0lOR19DQVNFKHBpeGVsX2Zvcm1hdCk7CiAJfQpAQCAtNTA2OSw2ICs1MDg3LDEwIEBA IHN0YXRpYyBpbnQgc2tsX3VwZGF0ZV9zY2FsZXJfcGxhbmUoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiAJY2FzZSBEUk1fRk9STUFUX1VZVlk6CiAJY2FzZSBEUk1fRk9STUFU X1ZZVVk6CiAJY2FzZSBEUk1fRk9STUFUX05WMTI6CisJY2FzZSBEUk1fRk9STUFUX1hCR1IxNjE2 MTYxNkY6CisJY2FzZSBEUk1fRk9STUFUX0FCR1IxNjE2MTYxNkY6CisJY2FzZSBEUk1fRk9STUFU X1hSR0IxNjE2MTYxNkY6CisJY2FzZSBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNkY6CiAJCWJyZWFr OwogCWRlZmF1bHQ6CiAJCURSTV9ERUJVR19LTVMoIltQTEFORTolZDolc10gRkI6JWQgdW5zdXBw b3J0ZWQgc2NhbGluZyBmb3JtYXQgMHgleFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRl LmMKaW5kZXggY2Q0MmU4MS4uOTdmOWQwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRl LmMKQEAgLTE0NTAsOCArMTQ1MCw2IEBAIHN0YXRpYyBpbnQgc2tsX3BsYW5lX2NoZWNrX2ZiKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkvKgogCQkgKiA5MC8y NzAgaXMgbm90IGFsbG93ZWQgd2l0aCBSR0I2NCAxNjoxNjoxNjoxNiBhbmQKIAkJICogSW5kZXhl ZCA4LWJpdC4gUkdCIDE2LWJpdCA1OjY6NSBpcyBhbGxvd2VkIGdlbjExIG9ud2FyZHMuCi0JCSAq IFRCRDogQWRkIFJHQjY0IGNhc2Ugb25jZSBpdHMgYWRkZWQgaW4gc3VwcG9ydGVkIGZvcm1hdAot CQkgKiBsaXN0LgogCQkgKi8KIAkJc3dpdGNoIChmYi0+Zm9ybWF0LT5mb3JtYXQpIHsKIAkJY2Fz ZSBEUk1fRk9STUFUX1JHQjU2NToKQEAgLTE0NTksNiArMTQ1NywxMCBAQCBzdGF0aWMgaW50IHNr bF9wbGFuZV9jaGVja19mYihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKIAkJCQlicmVhazsKIAkJCS8qIGZhbGwgdGhyb3VnaCAqLwogCQljYXNlIERSTV9GT1JNQVRf Qzg6CisJCWNhc2UgRFJNX0ZPUk1BVF9YUkdCMTYxNjE2MTZGOgorCQljYXNlIERSTV9GT1JNQVRf WEJHUjE2MTYxNjE2RjoKKwkJY2FzZSBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNkY6CisJCWNhc2Ug RFJNX0ZPUk1BVF9BQkdSMTYxNjE2MTZGOgogCQkJRFJNX0RFQlVHX0tNUygiVW5zdXBwb3J0ZWQg cGl4ZWwgZm9ybWF0ICVzIGZvciA5MC8yNzAhXG4iLAogCQkJCSAgICAgIGRybV9nZXRfZm9ybWF0 X25hbWUoZmItPmZvcm1hdC0+Zm9ybWF0LAogCQkJCQkJCSAgJmZvcm1hdF9uYW1lKSk7CkBAIC0x Nzc0LDYgKzE3NzYsNDUgQEAgc3RhdGljIGNvbnN0IHUzMiBza2xfcGxhbmFyX2Zvcm1hdHNbXSA9 IHsKIAlEUk1fRk9STUFUX05WMTIsCiB9OwogCitzdGF0aWMgY29uc3QgdWludDMyX3QgaWNsX2hk cl9wbGFuZV9mb3JtYXRzW10gPSB7CisJRFJNX0ZPUk1BVF9DOCwKKwlEUk1fRk9STUFUX1JHQjU2 NSwKKwlEUk1fRk9STUFUX1hSR0I4ODg4LAorCURSTV9GT1JNQVRfWEJHUjg4ODgsCisJRFJNX0ZP Uk1BVF9BUkdCODg4OCwKKwlEUk1fRk9STUFUX0FCR1I4ODg4LAorCURSTV9GT1JNQVRfWFJHQjIx MDEwMTAsCisJRFJNX0ZPUk1BVF9YQkdSMjEwMTAxMCwKKwlEUk1fRk9STUFUX1hSR0IxNjE2MTYx NkYsCisJRFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTZGLAorCURSTV9GT1JNQVRfQVJHQjE2MTYxNjE2 RiwKKwlEUk1fRk9STUFUX0FCR1IxNjE2MTYxNkYsCisJRFJNX0ZPUk1BVF9ZVVlWLAorCURSTV9G T1JNQVRfWVZZVSwKKwlEUk1fRk9STUFUX1VZVlksCisJRFJNX0ZPUk1BVF9WWVVZLAorfTsKKwor c3RhdGljIGNvbnN0IHVpbnQzMl90IGljbF9oZHJfcGxhbmFyX2Zvcm1hdHNbXSA9IHsKKwlEUk1f Rk9STUFUX0M4LAorCURSTV9GT1JNQVRfUkdCNTY1LAorCURSTV9GT1JNQVRfWFJHQjg4ODgsCisJ RFJNX0ZPUk1BVF9YQkdSODg4OCwKKwlEUk1fRk9STUFUX0FSR0I4ODg4LAorCURSTV9GT1JNQVRf QUJHUjg4ODgsCisJRFJNX0ZPUk1BVF9YUkdCMjEwMTAxMCwKKwlEUk1fRk9STUFUX1hCR1IyMTAx MDEwLAorCURSTV9GT1JNQVRfWFJHQjE2MTYxNjE2RiwKKwlEUk1fRk9STUFUX1hCR1IxNjE2MTYx NkYsCisJRFJNX0ZPUk1BVF9BUkdCMTYxNjE2MTZGLAorCURSTV9GT1JNQVRfQUJHUjE2MTYxNjE2 RiwKKwlEUk1fRk9STUFUX1lVWVYsCisJRFJNX0ZPUk1BVF9ZVllVLAorCURSTV9GT1JNQVRfVVlW WSwKKwlEUk1fRk9STUFUX1ZZVVksCisJRFJNX0ZPUk1BVF9OVjEyLAorfTsKKwogc3RhdGljIGNv bnN0IHU2NCBza2xfcGxhbmVfZm9ybWF0X21vZGlmaWVyc19ub2Njc1tdID0gewogCUk5MTVfRk9S TUFUX01PRF9ZZl9USUxFRCwKIAlJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCwKQEAgLTE5MTcsNiAr MTk1OCwxMCBAQCBzdGF0aWMgYm9vbCBza2xfcGxhbmVfZm9ybWF0X21vZF9zdXBwb3J0ZWQoc3Ry dWN0IGRybV9wbGFuZSAqX3BsYW5lLAogCQkJcmV0dXJuIHRydWU7CiAJCS8qIGZhbGwgdGhyb3Vn aCAqLwogCWNhc2UgRFJNX0ZPUk1BVF9DODoKKwljYXNlIERSTV9GT1JNQVRfWEJHUjE2MTYxNjE2 RjoKKwljYXNlIERSTV9GT1JNQVRfQUJHUjE2MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRfWFJH QjE2MTYxNjE2RjoKKwljYXNlIERSTV9GT1JNQVRfQVJHQjE2MTYxNjE2RjoKIAkJaWYgKG1vZGlm aWVyID09IERSTV9GT1JNQVRfTU9EX0xJTkVBUiB8fAogCQkgICAgbW9kaWZpZXIgPT0gSTkxNV9G T1JNQVRfTU9EX1hfVElMRUQgfHwKIAkJICAgIG1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9Z X1RJTEVEKQpAQCAtMjA1MywxMSArMjA5OCwyMSBAQCBza2xfdW5pdmVyc2FsX3BsYW5lX2NyZWF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCXBsYW5lLT51cGRhdGVfc2xh dmUgPSBpY2xfdXBkYXRlX3NsYXZlOwogCiAJaWYgKHNrbF9wbGFuZV9oYXNfcGxhbmFyKGRldl9w cml2LCBwaXBlLCBwbGFuZV9pZCkpIHsKLQkJZm9ybWF0cyA9IHNrbF9wbGFuYXJfZm9ybWF0czsK LQkJbnVtX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKHNrbF9wbGFuYXJfZm9ybWF0cyk7CisJCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpID4gMTAgJiYgcGxhbmVfaWQgPCBQTEFORV9TUFJJVEUyKSB7CisJ CQlmb3JtYXRzID0gaWNsX2hkcl9wbGFuYXJfZm9ybWF0czsKKwkJCW51bV9mb3JtYXRzID0gQVJS QVlfU0laRShpY2xfaGRyX3BsYW5hcl9mb3JtYXRzKTsKKwkJfSBlbHNlIHsKKwkJCWZvcm1hdHMg PSBza2xfcGxhbmFyX2Zvcm1hdHM7CisJCQludW1fZm9ybWF0cyA9IEFSUkFZX1NJWkUoc2tsX3Bs YW5hcl9mb3JtYXRzKTsKKwkJfQogCX0gZWxzZSB7Ci0JCWZvcm1hdHMgPSBza2xfcGxhbmVfZm9y bWF0czsKLQkJbnVtX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKHNrbF9wbGFuZV9mb3JtYXRzKTsKKwkJ aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPiAxMCAmJiBwbGFuZV9pZCA8IFBMQU5FX1NQUklURTIp IHsKKwkJCWZvcm1hdHMgPSBpY2xfaGRyX3BsYW5lX2Zvcm1hdHM7CisJCQludW1fZm9ybWF0cyA9 IEFSUkFZX1NJWkUoaWNsX2hkcl9wbGFuZV9mb3JtYXRzKTsKKwkJfSBlbHNlIHsKKwkJCWZvcm1h dHMgPSBza2xfcGxhbmVfZm9ybWF0czsKKwkJCW51bV9mb3JtYXRzID0gQVJSQVlfU0laRShza2xf cGxhbmVfZm9ybWF0cyk7CisJCX0KIAl9CiAKIAlwbGFuZS0+aGFzX2NjcyA9IHNrbF9wbGFuZV9o YXNfY2NzKGRldl9wcml2LCBwaXBlLCBwbGFuZV9pZCk7Ci0tIAoyLjcuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==