From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v4 1/2] drm: Add color management LUT validation helper (v4) Date: Sat, 12 Jan 2019 13:07:14 +0100 Message-ID: <20190112120714.GI21184@phenom.ffwll.local> References: <20181217224415.12848-1-matthew.d.roper@intel.com> <20190111222700.GQ4563@mdroper-desk.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190111222700.GQ4563@mdroper-desk.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBKYW4gMTEsIDIwMTkgYXQgMDI6Mjc6MDBQTSAtMDgwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBEYXZlLCBEYW5pZWwgLSBhbnkgY29uY2VybnMgaWYgd2UgbWVyZ2UgdGhpcyBkcm0gY29y ZSBwYXRjaCB0aHJvdWdoIHRoZQo+IEludGVsIHRyZWU/ICBUaGUgc2Vjb25kIHBhdGNoIGluIHRo ZSBzZXJpZXMgZG9lc24ndCBhcHBseSBjbGVhbmx5IGluCj4gZHJtLW1pc2MtbmV4dC4KCkhtLCBu ZWVkIHRvIGRpc2N1c3Mgd2l0aCBEYXZlIGhvdyBnb29kIG15IGFjayBwb3dlcnMgYXJlIG5vdy4g SW4gdGhlIHBhc3QKd2UgaGFkIHRoZSBydWxlIHRoYXQgSSBhc2tlZCBoaW0gZm9yIGFuIGV4cGxp Y2l0IGFjaywgYnV0IGJhY2sgdGhlbiBJIHdhcwpzdGlsbCBtYWludGFpbmVyIG9mIGk5MTUsIHNv IGEgYml0IGEgdG9vIG9idmlvdXMgY29uZmxpY3QgdGhlcmUuIEkgdGhpbmsKd2l0aCB0aGUgc2Vw YXJhdGUgcm9sZXMgbWUgYWNraW5nIHNob3VsZCBiZSBnb29kIGVub3VnaC4KCkFja2VkLWJ5OiBE YW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgoKRGF2ZSwgc291bmRzIHJlYXNv bmFibGU/Ci1EYW5pZWwKCj4gCj4gCj4gTWF0dAo+IAo+IAo+IE9uIE1vbiwgRGVjIDE3LCAyMDE4 IGF0IDAyOjQ0OjE0UE0gLTA4MDAsIE1hdHQgUm9wZXIgd3JvdGU6Cj4gPiBTb21lIGhhcmR3YXJl IG1heSBwbGFjZSBhZGRpdGlvbmFsIHJlc3RyaWN0aW9ucyBvbiB0aGUgZ2FtbWEvZGVnYW1tYQo+ ID4gY3VydmVzIGRlc2NyaWJlZCBieSBvdXIgTFVUIHByb3BlcnRpZXMuICBFLmcuLCB0aGF0IGEg Z2FtbWEgY3VydmUgbmV2ZXIKPiA+IGRlY3JlYXNlcyBvciB0aGF0IHRoZSByZWQvZ3JlZW4vYmx1 ZSBjaGFubmVscyBvZiBhIExVVCdzIGVudHJpZXMgbXVzdCBiZQo+ID4gZXF1YWwuICBMZXQncyBh ZGQgYSBoZWxwZXIgZnVuY3Rpb24gdGhhdCBkcml2ZXJzIGNhbiB1c2UgdG8gdGVzdCB0aGF0IGEK PiA+IHVzZXJzcGFjZS1wcm92aWRlZCBMVVQgaXMgdmFsaWQgYW5kIGRvZXNuJ3QgdmlvbGF0ZSBo YXJkd2FyZQo+ID4gcmVxdWlyZW1lbnRzLgo+ID4gCj4gPiB2MjoKPiA+ICAtIENvbWJpbmUgaW50 byBhIHNpbmdsZSBoZWxwZXIgdGhhdCBqdXN0IHRha2VzIGEgYml0bWFzayBvZiB0aGUgdGVzdHMK PiA+ICAgIHRvIGFwcGx5LiAgKEJyaWFuIFN0YXJrZXkpCj4gPiAgLSBBZGQgYWRkaXRpb25hbCBj aGVjayAoYWx3YXlzIHBlcmZvcm1lZCkgdGhhdCBMVVQgcHJvcGVydHkgYmxvYiBzaXplCj4gPiAg ICBpcyBhbHdheXMgYSBtdWx0aXBsZSBvZiB0aGUgTFVUIGVudHJ5IHNpemUuICAoc3RvbGVuIGZy b20gQVJNIGRyaXZlcikKPiA+IAo+ID4gdjM6Cj4gPiAgLSBEcm9wIHRoZSBMVVQgc2l6ZSBjaGVj ayBhZ2FpbiBzaW5jZQo+ID4gICAgZHJtX2F0b21pY19yZXBsYWNlX3Byb3BlcnR5X2Jsb2JfZnJv bV9pZCgpIGFscmVhZHkgY292ZXJzIHRoaXMgZm9yCj4gPiAgICB1cy4gIChBbGV4YW5kcnUgR2hl b3JnaGUpCj4gPiAKPiA+IHY0Ogo+ID4gIC0gVXNlIGFuIGVudW0gdG8gZGVzY3JpYmUgcG9zc2li bGUgdGVzdCB2YWx1ZXMgcmF0aGVyIHRoYW4gI2RlZmluZSdzOwo+ID4gICAgdGhpcyBpcyBjbGVh bmVyIHRvIHByb3ZpZGUga2VybmVsZG9jIGZvci4gIChEYW5pZWwgVmV0dGVyKQo+ID4gIC0gcy9E Uk1fQ09MT1JfTFVUX0lOQ1JFQVNJTkcvRFJNX0NPTE9SX0xVVF9OT05fREVDUkVBU0lORy8uICAo VmlsbGUpCj4gPiAKPiA+IENjOiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+ ID4gQ2M6IFN3YXRpIFNoYXJtYSA8c3dhdGkyLnNoYXJtYUBpbnRlbC5jb20+Cj4gPiBDYzogQnJp YW4gU3RhcmtleSA8QnJpYW4uU3RhcmtleUBhcm0uY29tPgo+ID4gQ2M6IERhbmllbCBWZXR0ZXIg PGRhbmllbEBmZndsbC5jaD4KPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5k LnJvcGVyQGludGVsLmNvbT4KPiA+IFJldmlld2VkLWJ5KHYxKTogQnJpYW4gU3RhcmtleSA8YnJp YW4uc3RhcmtleUBhcm0uY29tPgo+ID4gUmV2aWV3ZWQtYnk6IEFsZXhhbmRydSBHaGVvcmdoZSA8 YWxleGFuZHJ1LWNvc21pbi5naGVvcmdoZUBhcm0uY29tPgo+ID4gUmV2aWV3ZWQtYnk6IFVtYSBT aGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9k cm0vZHJtX2NvbG9yX21nbXQuYyB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKPiA+ICBpbmNsdWRlL2RybS9kcm1fY29sb3JfbWdtdC5oICAgICB8IDI5ICsrKysr KysrKysrKysrKysrKysrKysrKysrCj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25z KCspCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NvbG9yX21nbXQu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jCj4gPiBpbmRleCAwN2RjZjQ3ZGFh ZmUuLjk2OGNhN2M5MWFkOCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29s b3JfbWdtdC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NvbG9yX21nbXQuYwo+ID4g QEAgLTQ2MiwzICs0NjIsNDcgQEAgaW50IGRybV9wbGFuZV9jcmVhdGVfY29sb3JfcHJvcGVydGll cyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ICAJcmV0dXJuIDA7Cj4gPiAgfQo+ID4gIEVY UE9SVF9TWU1CT0woZHJtX3BsYW5lX2NyZWF0ZV9jb2xvcl9wcm9wZXJ0aWVzKTsKPiA+ICsKPiA+ ICsvKioKPiA+ICsgKiBkcm1fY29sb3JfbHV0X2NoZWNrIC0gY2hlY2sgdmFsaWRpdHkgb2YgbG9v a3VwIHRhYmxlCj4gPiArICogQGx1dDogcHJvcGVydHkgYmxvYiBjb250YWluaW5nIExVVCB0byBj aGVjawo+ID4gKyAqIEB0ZXN0czogYml0bWFzayBvZiB0ZXN0cyB0byBydW4KPiA+ICsgKgo+ID4g KyAqIEhlbHBlciB0byBjaGVjayB3aGV0aGVyIGEgdXNlcnNwYWNlLXByb3ZpZGVkIGxvb2t1cCB0 YWJsZSBpcyB2YWxpZCBhbmQKPiA+ICsgKiBzYXRpc2ZpZXMgaGFyZHdhcmUgcmVxdWlyZW1lbnRz LiAgRHJpdmVycyBwYXNzIGEgYml0bWFzayBpbmRpY2F0aW5nIHdoaWNoIG9mCj4gPiArICogdGhl IHRlc3RzIGluICZkcm1fY29sb3JfbHV0X3Rlc3RzIHNob3VsZCBiZSBwZXJmb3JtZWQuCj4gPiAr ICoKPiA+ICsgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgLUVJTlZBTCBvbiBmYWlsdXJlLgo+ID4g KyAqLwo+ID4gK2ludCBkcm1fY29sb3JfbHV0X2NoZWNrKHN0cnVjdCBkcm1fcHJvcGVydHlfYmxv YiAqbHV0LAo+ID4gKwkJCXVpbnQzMl90IHRlc3RzKQo+ID4gK3sKPiA+ICsJc3RydWN0IGRybV9j b2xvcl9sdXQgKmVudHJ5Owo+ID4gKwlpbnQgaTsKPiA+ICsKPiA+ICsJaWYgKCFsdXQgfHwgIXRl c3RzKQo+ID4gKwkJcmV0dXJuIDA7Cj4gPiArCj4gPiArCWVudHJ5ID0gbHV0LT5kYXRhOwo+ID4g Kwlmb3IgKGkgPSAwOyBpIDwgZHJtX2NvbG9yX2x1dF9zaXplKGx1dCk7IGkrKykgewo+ID4gKwkJ aWYgKHRlc3RzICYgRFJNX0NPTE9SX0xVVF9FUVVBTF9DSEFOTkVMUykgewo+ID4gKwkJCWlmIChl bnRyeVtpXS5yZWQgIT0gZW50cnlbaV0uYmx1ZSB8fAo+ID4gKwkJCSAgICBlbnRyeVtpXS5yZWQg IT0gZW50cnlbaV0uZ3JlZW4pIHsKPiA+ICsJCQkJRFJNX0RFQlVHX0tNUygiQWxsIExVVCBlbnRy aWVzIG11c3QgaGF2ZSBlcXVhbCByL2cvYlxuIik7Cj4gPiArCQkJCXJldHVybiAtRUlOVkFMOwo+ ID4gKwkJCX0KPiA+ICsJCX0KPiA+ICsKPiA+ICsJCWlmIChpID4gMCAmJiB0ZXN0cyAmIERSTV9D T0xPUl9MVVRfTk9OX0RFQ1JFQVNJTkcpIHsKPiA+ICsJCQlpZiAoZW50cnlbaV0ucmVkIDwgZW50 cnlbaSAtIDFdLnJlZCB8fAo+ID4gKwkJCSAgICBlbnRyeVtpXS5ncmVlbiA8IGVudHJ5W2kgLSAx XS5ncmVlbiB8fAo+ID4gKwkJCSAgICBlbnRyeVtpXS5ibHVlIDwgZW50cnlbaSAtIDFdLmJsdWUp IHsKPiA+ICsJCQkJRFJNX0RFQlVHX0tNUygiTFVUIGVudHJpZXMgbXVzdCBuZXZlciBkZWNyZWFz ZS5cbiIpOwo+ID4gKwkJCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICsJCQl9Cj4gPiArCQl9Cj4gPiAr CX0KPiA+ICsKPiA+ICsJcmV0dXJuIDA7Cj4gPiArfQo+ID4gK0VYUE9SVF9TWU1CT0woZHJtX2Nv bG9yX2x1dF9jaGVjayk7Cj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21n bXQuaCBiL2luY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmgKPiA+IGluZGV4IDkwZWY5OTk2ZDlh NC4uNmFmZmJkYTZkOWNiIDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21n bXQuaAo+ID4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21nbXQuaAo+ID4gQEAgLTY5LDQg KzY5LDMzIEBAIGludCBkcm1fcGxhbmVfY3JlYXRlX2NvbG9yX3Byb3BlcnRpZXMoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCj4gPiAgCQkJCSAgICAgIHUzMiBzdXBwb3J0ZWRfcmFuZ2VzLAo+ID4g IAkJCQkgICAgICBlbnVtIGRybV9jb2xvcl9lbmNvZGluZyBkZWZhdWx0X2VuY29kaW5nLAo+ID4g IAkJCQkgICAgICBlbnVtIGRybV9jb2xvcl9yYW5nZSBkZWZhdWx0X3JhbmdlKTsKPiA+ICsKPiA+ ICsvKioKPiA+ICsgKiBlbnVtIGRybV9jb2xvcl9sdXRfdGVzdHMgLSBody1zcGVjaWZpYyBMVVQg dGVzdHMgdG8gcGVyZm9ybQo+ID4gKyAqCj4gPiArICogVGhlIGRybV9jb2xvcl9sdXRfY2hlY2so KSBmdW5jdGlvbiB0YWtlcyBhIGJpdG1hc2sgb2YgdGhlIHZhbHVlcyBoZXJlIHRvCj4gPiArICog ZGV0ZXJtaW5lIHdoaWNoIHRlc3RzIHRvIGFwcGx5IHRvIGEgdXNlcnNwYWNlLXByb3ZpZGVkIExV VC4KPiA+ICsgKi8KPiA+ICtlbnVtIGRybV9jb2xvcl9sdXRfdGVzdHMgewo+ID4gKwkvKioKPiA+ ICsJICogQERSTV9DT0xPUl9MVVRfRVFVQUxfQ0hBTk5FTFM6Cj4gPiArCSAqCj4gPiArCSAqIENo ZWNrcyB3aGV0aGVyIHRoZSBlbnRyaWVzIG9mIGEgTFVUIGFsbCBoYXZlIGVxdWFsIHZhbHVlcyBm b3IgdGhlCj4gPiArCSAqIHJlZCwgZ3JlZW4sIGFuZCBibHVlIGNoYW5uZWxzLiAgSW50ZW5kZWQg Zm9yIGhhcmR3YXJlIHRoYXQgb25seQo+ID4gKwkgKiBhY2NlcHRzIGEgc2luZ2xlIHZhbHVlIHBl ciBMVVQgZW50cnkgYW5kIGFzc3VtZXMgdGhhdCB2YWx1ZSBhcHBsaWVzCj4gPiArCSAqIHRvIGFs bCB0aHJlZSBjb2xvciBjb21wb25lbnRzLgo+ID4gKwkgKi8KPiA+ICsJRFJNX0NPTE9SX0xVVF9F UVVBTF9DSEFOTkVMUyA9IEJJVCgwKSwKPiA+ICsKPiA+ICsJLyoqCj4gPiArCSAqIEBEUk1fQ09M T1JfTFVUX05PTl9ERUNSRUFTSU5HOgo+ID4gKwkgKgo+ID4gKwkgKiBDaGVja3Mgd2hldGhlciB0 aGUgZW50cmllcyBvZiBhIExVVCBhcmUgYWx3YXlzIGZsYXQgb3IgaW5jcmVhc2luZwo+ID4gKwkg KiAobmV2ZXIgZGVjcmVhc2luZykuCj4gPiArCSAqLwo+ID4gKwlEUk1fQ09MT1JfTFVUX05PTl9E RUNSRUFTSU5HID0gQklUKDEpLAo+ID4gK307Cj4gPiArCj4gPiAraW50IGRybV9jb2xvcl9sdXRf Y2hlY2soc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpsdXQsCj4gPiArCQkJdWludDMyX3QgdGVz dHMpOwo+ID4gICNlbmRpZgo+ID4gLS0gCj4gPiAyLjE0LjQKPiA+IAo+IAo+IC0tIAo+IE1hdHQg Um9wZXIKPiBHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgo+IElvVEcgUGxhdGZvcm0gRW5hYmxp bmcgJiBEZXZlbG9wbWVudAo+IEludGVsIENvcnBvcmF0aW9uCj4gKDkxNikgMzU2LTI3OTUKCi0t IApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRw Oi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK