From: Matt Roper Subject: [PATCH 1/2] drm: Add color management LUT validation helpers Date: Tue, 11 Dec 2018 17:05:50 -0800 Message-ID: <20181212010551.6337-2-matthew.d.roper@intel.com> References: <20181212010551.6337-1-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181212010551.6337-1-matthew.d.roper@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 Cc: Uma Shankar , Swati Sharma , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org U29tZSBoYXJkd2FyZSBtYXkgcGxhY2UgYWRkaXRpb25hbCByZXN0cmljdGlvbnMgb24gdGhlIGdh bW1hL2RlZ2FtbWEKY3VydmVzIGRlc2NyaWJlZCBieSBvdXIgTFVUIHByb3BlcnRpZXMuICBFLmcu LCB0aGF0IGEgZ2FtbWEgY3VydmUgbmV2ZXIKZGVjcmVhc2VzIG9yIHRoYXQgdGhlIHJlZC9ncmVl bi9ibHVlIGNoYW5uZWxzIG9mIGEgTFVUJ3MgZW50cmllcyBtdXN0IGJlCmVxdWFsLiAgTGV0J3Mg YWRkIGEgY291cGxlIGhlbHBlcnMgdGhhdCBkcml2ZXJzIGNhbiB1c2UgdG8gdGVzdCB0aGF0IGEK dXNlcnNwYWNlLXByb3ZpZGVkIExVVCBkb2Vzbid0IHZpb2xhdGUgaGFyZHdhcmUgcmVxdWlyZW1l bnRzLgoKQ2M6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+CkNjOiBTd2F0aSBT aGFybWEgPHN3YXRpMi5zaGFybWFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVy IDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29s b3JfbWdtdC5jIHwgNTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog aW5jbHVkZS9kcm0vZHJtX2NvbG9yX21nbXQuaCAgICAgfCAgMyArKysKIDIgZmlsZXMgY2hhbmdl ZCwgNTYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29s b3JfbWdtdC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMKaW5kZXggMDdkY2Y0 N2RhYWZlLi40MWU2MTdlMzRjMTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29s b3JfbWdtdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jCkBAIC00NjIs MyArNDYyLDU2IEBAIGludCBkcm1fcGxhbmVfY3JlYXRlX2NvbG9yX3Byb3BlcnRpZXMoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9wbGFu ZV9jcmVhdGVfY29sb3JfcHJvcGVydGllcyk7CisKKy8qKgorICogZHJtX2NvbG9yX2x1dF9oYXNf ZXF1YWxfY2hhbm5lbHMgLSBjaGVjayBMVVQgZm9yIGVxdWFsIHIvZy9iIHZhbHVlcworICogQGx1 dDogcHJvcGVydHkgYmxvYiBjb250YWluaW5nIExVVCB0byBjaGVjaworICoKKyAqIEhlbHBlciB0 byBjaGVjayB3aGV0aGVyIHRoZSBlbnRyaWVzIG9mIGEgTFVUIGFsbCBoYXZlIGVxdWFsIHZhbHVl cyBmb3IgdGhlCisgKiByZWQsIGdyZWVuLCBhbmQgYmx1ZSBjaGFubmVscy4gIFNvbWUgaGFyZHdh cmUgY2FuIG9ubHkgYmUgcHJvZ3JhbW1lZAorICogd2l0aCBhIHNpbmdsZSB2YWx1ZSBwZXIgTFVU IGVudHJ5LCB3aGljaCBpcyBhc3N1bWVkIHRvIGFwcGx5IHRvIGFsbAorICogdGhyZWUgY29sb3Ig Y29tcG9uZW50cy4KKyAqLworYm9vbCBkcm1fY29sb3JfbHV0X2hhc19lcXVhbF9jaGFubmVscyhz dHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmx1dCkKK3sKKwlzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAq ZW50cnk7CisJaW50IGk7CisKKwlpZiAoIWx1dCkKKwkJcmV0dXJuIHRydWU7CisKKwllbnRyeSA9 IGx1dC0+ZGF0YTsKKwlmb3IgKGkgPSAwOyBpIDwgZHJtX2NvbG9yX2x1dF9zaXplKGx1dCk7IGkr KykKKwkJaWYgKGVudHJ5W2ldLnJlZCAhPSBlbnRyeVtpXS5ibHVlIHx8CisJCSAgICBlbnRyeVtp XS5yZWQgIT0gZW50cnlbaV0uZ3JlZW4pCisJCQlyZXR1cm4gZmFsc2U7CisKKwlyZXR1cm4gdHJ1 ZTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2NvbG9yX2x1dF9oYXNfZXF1YWxfY2hhbm5lbHMpOwor CisvKioKKyAqIGRybV9jb2xvcl9sdXRfaXNfaW5jcmVhc2luZyAtIGNoZWNrIHRoYXQgTFVUIGlz IGFsd2F5cyBmbGF0L2luY3JlYXNpbmcKKyAqIEBsdXQ6IExVVCB0byBjaGVjaworICoKKyAqIEhl bHBlciB0byBjaGVjayB3aGV0aGVyIHRoZSBlbnRyaWVzIG9mIGEgTFVUIGFyZSBhbHdheXMgZmxh dCBvciBpbmNyZWFzaW5nCisgKiAobmV2ZXIgZGVjcmVhc2luZykuCisgKi8KK2Jvb2wgZHJtX2Nv bG9yX2x1dF9pc19pbmNyZWFzaW5nKHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqbHV0KQorewor CXN0cnVjdCBkcm1fY29sb3JfbHV0ICplbnRyeTsKKwlpbnQgaTsKKworCWlmICghbHV0KQorCQly ZXR1cm4gdHJ1ZTsKKworCWVudHJ5ID0gbHV0LT5kYXRhOworCWZvciAoaSA9IDE7IGkgPCBkcm1f Y29sb3JfbHV0X3NpemUobHV0KTsgaSsrKQorCQlpZiAoZW50cnlbaV0ucmVkIDwgZW50cnlbaS0x XS5yZWQgfHwKKwkJICAgIGVudHJ5W2ldLmdyZWVuIDwgZW50cnlbaS0xXS5ncmVlbiB8fAorCQkg ICAgZW50cnlbaV0uYmx1ZSA8IGVudHJ5W2ktMV0uYmx1ZSkKKwkJCXJldHVybiBmYWxzZTsKKwor CXJldHVybiB0cnVlOworfQorRVhQT1JUX1NZTUJPTChkcm1fY29sb3JfbHV0X2lzX2luY3JlYXNp bmcpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21nbXQuaCBiL2luY2x1ZGUv ZHJtL2RybV9jb2xvcl9tZ210LmgKaW5kZXggOTBlZjk5OTZkOWE0Li42YzM4ZjU0NzdlMjkgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmgKKysrIGIvaW5jbHVkZS9kcm0v ZHJtX2NvbG9yX21nbXQuaApAQCAtNjksNCArNjksNyBAQCBpbnQgZHJtX3BsYW5lX2NyZWF0ZV9j b2xvcl9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJCSAgICAgIHUzMiBz dXBwb3J0ZWRfcmFuZ2VzLAogCQkJCSAgICAgIGVudW0gZHJtX2NvbG9yX2VuY29kaW5nIGRlZmF1 bHRfZW5jb2RpbmcsCiAJCQkJICAgICAgZW51bSBkcm1fY29sb3JfcmFuZ2UgZGVmYXVsdF9yYW5n ZSk7CisKK2Jvb2wgZHJtX2NvbG9yX2x1dF9oYXNfZXF1YWxfY2hhbm5lbHMoc3RydWN0IGRybV9w cm9wZXJ0eV9ibG9iICpsdXQpOworYm9vbCBkcm1fY29sb3JfbHV0X2lzX2luY3JlYXNpbmcoc3Ry dWN0IGRybV9wcm9wZXJ0eV9ibG9iICpsdXQpOwogI2VuZGlmCi0tIAoyLjE0LjQKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=