From: Rob Clark Subject: [RFCv0 2/8] gallium: refactor pipe_shader_state to support multiple IR's Date: Mon, 19 Oct 2015 15:47:55 -0400 Message-ID: <1445284081-29532-3-git-send-email-robdclark@gmail.com> References: <1445284081-29532-1-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-f44.google.com (mail-qg0-f44.google.com [209.85.192.44]) by gabe.freedesktop.org (Postfix) with ESMTPS id C02416EABE for ; Mon, 19 Oct 2015 12:48:12 -0700 (PDT) Received: by qgem9 with SMTP id m9so19146025qge.1 for ; Mon, 19 Oct 2015 12:48:12 -0700 (PDT) In-Reply-To: <1445284081-29532-1-git-send-email-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Jason Ekstrand List-Id: dri-devel@lists.freedesktop.org VGhlIGdvYWwgaXMgdG8gYWxsb3cgdGhlIHBpcGUgZHJpdmVyIHRvIHJlcXVlc3Qgc29tZXRoaW5n IG90aGVyIHRoYW4KVEdTSSwgYnV0IGRldGVjdCB3aGV0aGVyIHdoYXQgaXMgZ2V0dGluZyBpcyBU R1NJIHZzIHdoYXQgaXQgcmVxdWVzdGVkLgpUaGUgcGlwZSBkcml2ZXJzIHdpbGwgYWx3YXlzIGhh dmUgdG8gc3VwcG9ydCBUR1NJIChhbmQgY29udmVydCB0aGF0IGludG8Kd2hhdGV2ZXIgaXQgaXMg dGhhdCB0aGV5IHByZWZlciksIGJ1dCBpbiBzb21lIGNhc2VzIHdlIHNob3VsZCBiZSBhYmxlIHRv CnNraXAgdGhlIFRHU0kgaW50ZXJtZWRpYXRlIHN0ZXAgKHN1Y2ggYXMgZ2xzbC0+bmlyIHZzIGds c2wtPnRnc2ktPm5pcikuCgpJIHRoaW5rIHBpcGVfY29tcHV0ZV9zdGF0ZSBzaG91bGQgZ2V0IHNp bWlsYXIgdHJlYXRtZW50LiAgQ3VycmVudGx5LAphZmFpY3QsIGl0IGhhcyBvbmUgdXNlciBhbmQg b25lIGNvbnN1bWVyLCB3aGljaCBoYXMgYWxsb3dlZCBpdCB0byBiZQpzbG9wcHkgd3J0LiBzdXBw b3J0aW5nIGFsdGVybmF0aXZlIElSJ3MuCi0tLQogc3JjL2dhbGxpdW0vYXV4aWxpYXJ5L2h1ZC9o dWRfY29udGV4dC5jICAgICAgIHwgMTQgKysrKysrKy0tCiBzcmMvZ2FsbGl1bS9hdXhpbGlhcnkv cG9zdHByb2Nlc3MvcHBfcnVuLmMgICAgfCAgNCArKy0KIHNyYy9nYWxsaXVtL2F1eGlsaWFyeS90 Z3NpL3Rnc2lfdXJlZy5jICAgICAgICB8ICA2ICsrLS0KIHNyYy9nYWxsaXVtL2F1eGlsaWFyeS91 dGlsL3Vfc2ltcGxlX3NoYWRlcnMuYyB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrLS0tLQog c3JjL2dhbGxpdW0vYXV4aWxpYXJ5L3V0aWwvdV90ZXN0cy5jICAgICAgICAgIHwgIDcgKysrKy0K IHNyYy9nYWxsaXVtL2luY2x1ZGUvcGlwZS9wX2RlZmluZXMuaCAgICAgICAgICB8IDEyICsrKysr Ky0tCiBzcmMvZ2FsbGl1bS9pbmNsdWRlL3BpcGUvcF9zdGF0ZS5oICAgICAgICAgICAgfCAyMCAr KysrKysrKysrKy0tCiA3IGZpbGVzIGNoYW5nZWQsIDg5IGluc2VydGlvbnMoKyksIDE2IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9nYWxsaXVtL2F1eGlsaWFyeS9odWQvaHVkX2NvbnRl eHQuYyBiL3NyYy9nYWxsaXVtL2F1eGlsaWFyeS9odWQvaHVkX2NvbnRleHQuYwppbmRleCA5NWVl ZDI2Li45ZjM5YWJkIDEwMDY0NAotLS0gYS9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkvaHVkL2h1ZF9j b250ZXh0LmMKKysrIGIvc3JjL2dhbGxpdW0vYXV4aWxpYXJ5L2h1ZC9odWRfY29udGV4dC5jCkBA IC0xMTc5LDcgKzExNzksMTIgQEAgaHVkX2NyZWF0ZShzdHJ1Y3QgcGlwZV9jb250ZXh0ICpwaXBl LCBzdHJ1Y3QgY3NvX2NvbnRleHQgKmNzbykKICAgICAgIH07CiAKICAgICAgIHN0cnVjdCB0Z3Np X3Rva2VuIHRva2Vuc1sxMDAwXTsKLSAgICAgIHN0cnVjdCBwaXBlX3NoYWRlcl9zdGF0ZSBzdGF0 ZSA9IHt0b2tlbnN9OworICAgICAgc3RydWN0IHBpcGVfc2hhZGVyX3N0YXRlIHN0YXRlOworCisg ICAgICBtZW1zZXQoJnN0YXRlLCAwLCBzaXplb2Yoc3RhdGUpKTsKKworICAgICAgc3RhdGUuaXIg PSBQSVBFX1NIQURFUl9JUl9UR1NJOworICAgICAgc3RhdGUudG9rZW5zID0gdG9rZW5zOwogCiAg ICAgICBpZiAoIXRnc2lfdGV4dF90cmFuc2xhdGUoZnJhZ21lbnRfc2hhZGVyX3RleHQsIHRva2Vu cywgRWxlbWVudHModG9rZW5zKSkpIHsKICAgICAgICAgIGFzc2VydCgwKTsKQEAgLTEyMjYsNyAr MTIzMSwxMiBAQCBodWRfY3JlYXRlKHN0cnVjdCBwaXBlX2NvbnRleHQgKnBpcGUsIHN0cnVjdCBj c29fY29udGV4dCAqY3NvKQogICAgICAgfTsKIAogICAgICAgc3RydWN0IHRnc2lfdG9rZW4gdG9r ZW5zWzEwMDBdOwotICAgICAgc3RydWN0IHBpcGVfc2hhZGVyX3N0YXRlIHN0YXRlID0ge3Rva2Vu c307CisgICAgICBzdHJ1Y3QgcGlwZV9zaGFkZXJfc3RhdGUgc3RhdGU7CisKKyAgICAgIG1lbXNl dCgmc3RhdGUsIDAsIHNpemVvZihzdGF0ZSkpOworCisgICAgICBzdGF0ZS5pciA9IFBJUEVfU0hB REVSX0lSX1RHU0k7CisgICAgICBzdGF0ZS50b2tlbnMgPSB0b2tlbnM7CiAKICAgICAgIGlmICgh dGdzaV90ZXh0X3RyYW5zbGF0ZSh2ZXJ0ZXhfc2hhZGVyX3RleHQsIHRva2VucywgRWxlbWVudHMo dG9rZW5zKSkpIHsKICAgICAgICAgIGFzc2VydCgwKTsKZGlmZiAtLWdpdCBhL3NyYy9nYWxsaXVt L2F1eGlsaWFyeS9wb3N0cHJvY2Vzcy9wcF9ydW4uYyBiL3NyYy9nYWxsaXVtL2F1eGlsaWFyeS9w b3N0cHJvY2Vzcy9wcF9ydW4uYwppbmRleCBjYWEyMDYyLi42Y2QyYjcwIDEwMDY0NAotLS0gYS9z cmMvZ2FsbGl1bS9hdXhpbGlhcnkvcG9zdHByb2Nlc3MvcHBfcnVuLmMKKysrIGIvc3JjL2dhbGxp dW0vYXV4aWxpYXJ5L3Bvc3Rwcm9jZXNzL3BwX3J1bi5jCkBAIC0yNzIsOCArMjcyLDEwIEBAIHBw X3Rnc2lfdG9fc3RhdGUoc3RydWN0IHBpcGVfY29udGV4dCAqcGlwZSwgY29uc3QgY2hhciAqdGV4 dCwgYm9vbCBpc3ZzLAogICAgICAgcmV0dXJuIE5VTEw7CiAgICB9CiAKKyAgIG1lbXNldCgmc3Rh dGUsIDAsIHNpemVvZihzdGF0ZSkpOworCisgICBzdGF0ZS5pciA9IFBJUEVfU0hBREVSX0lSX1RH U0k7CiAgICBzdGF0ZS50b2tlbnMgPSB0b2tlbnM7Ci0gICBtZW1zZXQoJnN0YXRlLnN0cmVhbV9v dXRwdXQsIDAsIHNpemVvZihzdGF0ZS5zdHJlYW1fb3V0cHV0KSk7CiAKICAgIGlmIChpc3ZzKSB7 CiAgICAgICByZXRfc3RhdGUgPSBwaXBlLT5jcmVhdGVfdnNfc3RhdGUocGlwZSwgJnN0YXRlKTsK ZGlmZiAtLWdpdCBhL3NyYy9nYWxsaXVtL2F1eGlsaWFyeS90Z3NpL3Rnc2lfdXJlZy5jIGIvc3Jj L2dhbGxpdW0vYXV4aWxpYXJ5L3Rnc2kvdGdzaV91cmVnLmMKaW5kZXggM2QyMTMxOS4uOTZhNTFj NCAxMDA2NDQKLS0tIGEvc3JjL2dhbGxpdW0vYXV4aWxpYXJ5L3Rnc2kvdGdzaV91cmVnLmMKKysr IGIvc3JjL2dhbGxpdW0vYXV4aWxpYXJ5L3Rnc2kvdGdzaV91cmVnLmMKQEAgLTE3NzcsMTQgKzE3 NzcsMTYgQEAgdm9pZCAqdXJlZ19jcmVhdGVfc2hhZGVyKCBzdHJ1Y3QgdXJlZ19wcm9ncmFtICp1 cmVnLAogewogICAgc3RydWN0IHBpcGVfc2hhZGVyX3N0YXRlIHN0YXRlOwogCisgICBtZW1zZXQo JnN0YXRlLCAwLCBzaXplb2Yoc3RhdGUpKTsKKworICAgc3RhdGUuaXIgPSBQSVBFX1NIQURFUl9J Ul9UR1NJOworCiAgICBzdGF0ZS50b2tlbnMgPSB1cmVnX2ZpbmFsaXplKHVyZWcpOwogICAgaWYo IXN0YXRlLnRva2VucykKICAgICAgIHJldHVybiBOVUxMOwogCiAgICBpZiAoc28pCiAgICAgICBz dGF0ZS5zdHJlYW1fb3V0cHV0ID0gKnNvOwotICAgZWxzZQotICAgICAgbWVtc2V0KCZzdGF0ZS5z dHJlYW1fb3V0cHV0LCAwLCBzaXplb2Yoc3RhdGUuc3RyZWFtX291dHB1dCkpOwogCiAgICBzd2l0 Y2ggKHVyZWctPnByb2Nlc3NvcikgewogICAgY2FzZSBUR1NJX1BST0NFU1NPUl9WRVJURVg6CmRp ZmYgLS1naXQgYS9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkvdXRpbC91X3NpbXBsZV9zaGFkZXJzLmMg Yi9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkvdXRpbC91X3NpbXBsZV9zaGFkZXJzLmMKaW5kZXggNmVl ZDMzNy4uOGJlMGRhOSAxMDA2NDQKLS0tIGEvc3JjL2dhbGxpdW0vYXV4aWxpYXJ5L3V0aWwvdV9z aW1wbGVfc2hhZGVycy5jCisrKyBiL3NyYy9nYWxsaXVtL2F1eGlsaWFyeS91dGlsL3Vfc2ltcGxl X3NoYWRlcnMuYwpAQCAtMTIxLDcgKzEyMSwxMiBAQCB2b2lkICp1dGlsX21ha2VfbGF5ZXJlZF9j bGVhcl92ZXJ0ZXhfc2hhZGVyKHN0cnVjdCBwaXBlX2NvbnRleHQgKnBpcGUpCiAgICAgICAgICAi TU9WIE9VVFsyXSwgU1ZbMF1cbiIKICAgICAgICAgICJFTkRcbiI7CiAgICBzdHJ1Y3QgdGdzaV90 b2tlbiB0b2tlbnNbMTAwMF07Ci0gICBzdHJ1Y3QgcGlwZV9zaGFkZXJfc3RhdGUgc3RhdGUgPSB7 dG9rZW5zfTsKKyAgIHN0cnVjdCBwaXBlX3NoYWRlcl9zdGF0ZSBzdGF0ZTsKKworICAgbWVtc2V0 KCZzdGF0ZSwgMCwgc2l6ZW9mKHN0YXRlKSk7CisKKyAgIHN0YXRlLmlyID0gUElQRV9TSEFERVJf SVJfVEdTSTsKKyAgIHN0YXRlLnRva2VucyA9IHRva2VuczsKIAogICAgaWYgKCF0Z3NpX3RleHRf dHJhbnNsYXRlKHRleHQsIHRva2VucywgRWxlbWVudHModG9rZW5zKSkpIHsKICAgICAgIGFzc2Vy dCgwKTsKQEAgLTE0OSw3ICsxNTQsMTIgQEAgdm9pZCAqdXRpbF9tYWtlX2xheWVyZWRfY2xlYXJf aGVscGVyX3ZlcnRleF9zaGFkZXIoc3RydWN0IHBpcGVfY29udGV4dCAqcGlwZSkKICAgICAgICAg ICJNT1YgT1VUWzJdLngsIFNWWzBdLnh4eHhcbiIKICAgICAgICAgICJFTkRcbiI7CiAgICBzdHJ1 Y3QgdGdzaV90b2tlbiB0b2tlbnNbMTAwMF07Ci0gICBzdHJ1Y3QgcGlwZV9zaGFkZXJfc3RhdGUg c3RhdGUgPSB7dG9rZW5zfTsKKyAgIHN0cnVjdCBwaXBlX3NoYWRlcl9zdGF0ZSBzdGF0ZTsKKwor ICAgbWVtc2V0KCZzdGF0ZSwgMCwgc2l6ZW9mKHN0YXRlKSk7CisKKyAgIHN0YXRlLmlyID0gUElQ RV9TSEFERVJfSVJfVEdTSTsKKyAgIHN0YXRlLnRva2VucyA9IHRva2VuczsKIAogICAgaWYgKCF0 Z3NpX3RleHRfdHJhbnNsYXRlKHRleHQsIHRva2VucywgRWxlbWVudHModG9rZW5zKSkpIHsKICAg ICAgIGFzc2VydCgwKTsKQEAgLTE5Miw3ICsyMDIsMTIgQEAgdm9pZCAqdXRpbF9tYWtlX2xheWVy ZWRfY2xlYXJfZ2VvbWV0cnlfc2hhZGVyKHN0cnVjdCBwaXBlX2NvbnRleHQgKnBpcGUpCiAgICAg ICAiRU1JVCBJTU1bMF0ueHh4eFxuIgogICAgICAgIkVORFxuIjsKICAgIHN0cnVjdCB0Z3NpX3Rv a2VuIHRva2Vuc1sxMDAwXTsKLSAgIHN0cnVjdCBwaXBlX3NoYWRlcl9zdGF0ZSBzdGF0ZSA9IHt0 b2tlbnN9OworICAgc3RydWN0IHBpcGVfc2hhZGVyX3N0YXRlIHN0YXRlOworCisgICBtZW1zZXQo JnN0YXRlLCAwLCBzaXplb2Yoc3RhdGUpKTsKKworICAgc3RhdGUuaXIgPSBQSVBFX1NIQURFUl9J Ul9UR1NJOworICAgc3RhdGUudG9rZW5zID0gdG9rZW5zOwogCiAgICBpZiAoIXRnc2lfdGV4dF90 cmFuc2xhdGUodGV4dCwgdG9rZW5zLCBFbGVtZW50cyh0b2tlbnMpKSkgewogICAgICAgYXNzZXJ0 KDApOwpAQCAtNDcxLDcgKzQ4NiwxMiBAQCB1dGlsX21ha2VfZnJhZ21lbnRfcGFzc3Rocm91Z2hf c2hhZGVyKHN0cnVjdCBwaXBlX2NvbnRleHQgKnBpcGUsCiAKICAgIGNoYXIgdGV4dFtzaXplb2Yo c2hhZGVyX3RlbXBsKSsxMDBdOwogICAgc3RydWN0IHRnc2lfdG9rZW4gdG9rZW5zWzEwMDBdOwot ICAgc3RydWN0IHBpcGVfc2hhZGVyX3N0YXRlIHN0YXRlID0ge3Rva2Vuc307CisgICBzdHJ1Y3Qg cGlwZV9zaGFkZXJfc3RhdGUgc3RhdGU7CisKKyAgIG1lbXNldCgmc3RhdGUsIDAsIHNpemVvZihz dGF0ZSkpOworCisgICBzdGF0ZS5pciA9IFBJUEVfU0hBREVSX0lSX1RHU0k7CisgICBzdGF0ZS50 b2tlbnMgPSB0b2tlbnM7CiAKICAgIHNwcmludGYodGV4dCwgc2hhZGVyX3RlbXBsLAogICAgICAg ICAgICB3cml0ZV9hbGxfY2J1ZnMgPyAiUFJPUEVSVFkgRlNfQ09MT1IwX1dSSVRFU19BTExfQ0JV RlMgMVxuIiA6ICIiLApAQCAtNTU4LDcgKzU3OCwxMiBAQCB1dGlsX21ha2VfZnNfYmxpdF9tc2Fh X2dlbihzdHJ1Y3QgcGlwZV9jb250ZXh0ICpwaXBlLAogICAgY29uc3QgY2hhciAqdHlwZSA9IHRn c2lfdGV4dHVyZV9uYW1lc1t0Z3NpX3RleF07CiAgICBjaGFyIHRleHRbc2l6ZW9mKHNoYWRlcl90 ZW1wbCkrMTAwXTsKICAgIHN0cnVjdCB0Z3NpX3Rva2VuIHRva2Vuc1sxMDAwXTsKLSAgIHN0cnVj dCBwaXBlX3NoYWRlcl9zdGF0ZSBzdGF0ZSA9IHt0b2tlbnN9OworICAgc3RydWN0IHBpcGVfc2hh ZGVyX3N0YXRlIHN0YXRlOworCisgICBtZW1zZXQoJnN0YXRlLCAwLCBzaXplb2Yoc3RhdGUpKTsK KworICAgc3RhdGUuaXIgPSBQSVBFX1NIQURFUl9JUl9UR1NJOworICAgc3RhdGUudG9rZW5zID0g dG9rZW5zOwogCiAgICBhc3NlcnQodGdzaV90ZXggPT0gVEdTSV9URVhUVVJFXzJEX01TQUEgfHwK ICAgICAgICAgICB0Z3NpX3RleCA9PSBUR1NJX1RFWFRVUkVfMkRfQVJSQVlfTVNBQSk7CkBAIC02 NTgsNyArNjgzLDEyIEBAIHV0aWxfbWFrZV9mc19ibGl0X21zYWFfZGVwdGhzdGVuY2lsKHN0cnVj dCBwaXBlX2NvbnRleHQgKnBpcGUsCiAgICBjb25zdCBjaGFyICp0eXBlID0gdGdzaV90ZXh0dXJl X25hbWVzW3Rnc2lfdGV4XTsKICAgIGNoYXIgdGV4dFtzaXplb2Yoc2hhZGVyX3RlbXBsKSsxMDBd OwogICAgc3RydWN0IHRnc2lfdG9rZW4gdG9rZW5zWzEwMDBdOwotICAgc3RydWN0IHBpcGVfc2hh ZGVyX3N0YXRlIHN0YXRlID0ge3Rva2Vuc307CisgICBzdHJ1Y3QgcGlwZV9zaGFkZXJfc3RhdGUg c3RhdGU7CisKKyAgIG1lbXNldCgmc3RhdGUsIDAsIHNpemVvZihzdGF0ZSkpOworCisgICBzdGF0 ZS5pciA9IFBJUEVfU0hBREVSX0lSX1RHU0k7CisgICBzdGF0ZS50b2tlbnMgPSB0b2tlbnM7CiAK ICAgIGFzc2VydCh0Z3NpX3RleCA9PSBUR1NJX1RFWFRVUkVfMkRfTVNBQSB8fAogICAgICAgICAg IHRnc2lfdGV4ID09IFRHU0lfVEVYVFVSRV8yRF9BUlJBWV9NU0FBKTsKZGlmZiAtLWdpdCBhL3Ny Yy9nYWxsaXVtL2F1eGlsaWFyeS91dGlsL3VfdGVzdHMuYyBiL3NyYy9nYWxsaXVtL2F1eGlsaWFy eS91dGlsL3VfdGVzdHMuYwppbmRleCBhOTRlNWNjLi4zNzkwMDExIDEwMDY0NAotLS0gYS9zcmMv Z2FsbGl1bS9hdXhpbGlhcnkvdXRpbC91X3Rlc3RzLmMKKysrIGIvc3JjL2dhbGxpdW0vYXV4aWxp YXJ5L3V0aWwvdV90ZXN0cy5jCkBAIC00MjIsNyArNDIyLDEyIEBAIG51bGxfY29uc3RhbnRfYnVm ZmVyKHN0cnVjdCBwaXBlX2NvbnRleHQgKmN0eCkKICAgICAgICAgICAgICJNT1YgT1VUWzBdLCBD T05TVFswXVxuIgogICAgICAgICAgICAgIkVORFxuIjsKICAgICAgIHN0cnVjdCB0Z3NpX3Rva2Vu IHRva2Vuc1sxMDAwXTsKLSAgICAgIHN0cnVjdCBwaXBlX3NoYWRlcl9zdGF0ZSBzdGF0ZSA9IHt0 b2tlbnN9OworICAgICAgc3RydWN0IHBpcGVfc2hhZGVyX3N0YXRlIHN0YXRlOworCisgICAgICBt ZW1zZXQoJnN0YXRlLCAwLCBzaXplb2Yoc3RhdGUpKTsKKworICAgICAgc3RhdGUuaXIgPSBQSVBF X1NIQURFUl9JUl9UR1NJOworICAgICAgc3RhdGUudG9rZW5zID0gdG9rZW5zOwogCiAgICAgICBp ZiAoIXRnc2lfdGV4dF90cmFuc2xhdGUodGV4dCwgdG9rZW5zLCBFbGVtZW50cyh0b2tlbnMpKSkg ewogICAgICAgICAgcHV0cygiQ2FuJ3QgY29tcGlsZSBhIGZyYWdtZW50IHNoYWRlci4iKTsKZGlm ZiAtLWdpdCBhL3NyYy9nYWxsaXVtL2luY2x1ZGUvcGlwZS9wX2RlZmluZXMuaCBiL3NyYy9nYWxs aXVtL2luY2x1ZGUvcGlwZS9wX2RlZmluZXMuaAppbmRleCBhNDk0NzE1Li4yOWIwYmZiIDEwMDY0 NAotLS0gYS9zcmMvZ2FsbGl1bS9pbmNsdWRlL3BpcGUvcF9kZWZpbmVzLmgKKysrIGIvc3JjL2dh bGxpdW0vaW5jbHVkZS9waXBlL3BfZGVmaW5lcy5oCkBAIC03MDEsMTIgKzcwMSwyMCBAQCBlbnVt IHBpcGVfc2hhZGVyX2NhcAogCiAvKioKICAqIFNoYWRlciBpbnRlcm1lZGlhdGUgcmVwcmVzZW50 YXRpb24uCisgKgorICogTm90ZSB0aGF0IGlmIHRoZSBkcml2ZXIgcmVxdWVzdHMgc29tZXRoaW5n IG90aGVyIHRoYW4gVEdTSSwgaXQgbXVzdAorICogYWx3YXlzIGJlIHByZXBhcmVkIHRvIHJlY2Vp dmUgVEdTSSBpbiBhZGRpdGlvbiB0byBpdCdzIHByZWZlcnJlZCBJUi4KKyAqIElmIHRoZSBkcml2 ZXIgcmVxdWVzdHMgVEdTSSBhcyBpdCdzIHByZWZlcnJlZCBJUiwgaXQgd2lsbCAqYWx3YXlzKgor ICogZ2V0IFRHU0kuCisgKgorICogTm90ZSB0aGF0IFBJUEVfU0hBREVSX0lSX1RHU0kgc2hvdWxk IGJlIHplcm8gZm9yIGJhY2t3YXJkcyBjb21wYXQgd2l0aAorICogc3RhdGUgdHJhY2tlcnMgdGhh dCBvbmx5IHVuZGVyc3RhbmQgVEdTSS4KICAqLwogZW51bSBwaXBlX3NoYWRlcl9pcgogewotICAg UElQRV9TSEFERVJfSVJfVEdTSSwKKyAgIFBJUEVfU0hBREVSX0lSX1RHU0kgPSAwLAogICAgUElQ RV9TSEFERVJfSVJfTExWTSwKLSAgIFBJUEVfU0hBREVSX0lSX05BVElWRQorICAgUElQRV9TSEFE RVJfSVJfTkFUSVZFLAogfTsKIAogLyoqCmRpZmYgLS1naXQgYS9zcmMvZ2FsbGl1bS9pbmNsdWRl L3BpcGUvcF9zdGF0ZS5oIGIvc3JjL2dhbGxpdW0vaW5jbHVkZS9waXBlL3Bfc3RhdGUuaAppbmRl eCA0YmY4ZDQ2Li41MGJmYzRhIDEwMDY0NAotLS0gYS9zcmMvZ2FsbGl1bS9pbmNsdWRlL3BpcGUv cF9zdGF0ZS5oCisrKyBiL3NyYy9nYWxsaXVtL2luY2x1ZGUvcGlwZS9wX3N0YXRlLmgKQEAgLTIx MSwxMCArMjExLDI2IEBAIHN0cnVjdCBwaXBlX3N0cmVhbV9vdXRwdXRfaW5mbwogICAgfSBvdXRw dXRbUElQRV9NQVhfU09fT1VUUFVUU107CiB9OwogCi0KKy8qKgorICogVGhlICdpcicgcGFyYW1l dGVyIGlkZW50aWZpZXMgd2hldGhlciB0aGUgc2hhZGVyIHN0YXRlIGNvbnRhaW5zIFRHU0kKKyAq IHRva2VucywgZXRjLiAgSWYgdGhlIGRyaXZlciByZXR1cm5zICdQSVBFX1NIQURFUl9JUl9UR1NJ JyBmb3IgdGhlCisgKiAnUElQRV9TSEFERVJfQ0FQX1BSRUZFUlJFRF9JUicgc2hhZGVyIHBhcmFt LCB0aGUgaXIgd2lsbCAqYWx3YXlzKiBiZQorICogJ1BJUEVfU0hBREVSX0lSX1RHU0knIGFuZCB0 aGUgdG9rZW5zIHB0ciB3aWxsIGJlIHZhbGlkLiAgSWYgdGhlIGRyaXZlcgorICogcmVxdWVzdHMg YSBkaWZmZXJlbnQgJ3BpcGVfc2hhZGVyX2lyJyB0eXBlLCB0aGVuIGl0IG11c3QgY2hlY2sgdGhl ICdpcicKKyAqIGVudW0gdG8gc2VlIGlmIGl0IGlzIGdldHRpbmcgVEdTSSB0b2tlbnMgb3IgaXQn cyBwcmVmZXJyZWQgSVIuCisgKgorICogVE9ETyBwaXBlX2NvbXB1dGVfc3RhdGUgc2hvdWxkIHBy b2JhYmx5IGdldCBzaW1pbGFyIHRyZWF0bWVudCB0byBoYW5kbGUKKyAqIG11bHRpcGxlIElSJ3Mg aW4gYSBjbGVhbmVyIHdheS4uCisgKi8KIHN0cnVjdCBwaXBlX3NoYWRlcl9zdGF0ZQogewotICAg Y29uc3Qgc3RydWN0IHRnc2lfdG9rZW4gKnRva2VuczsKKyAgIGVudW0gcGlwZV9zaGFkZXJfaXIg aXI7CisgICAvKiBUT0RPIGFyZSBhbm9uIHVuaW9ucyBhbGxvd2VkPyAqLworICAgdW5pb24gewor ICAgICAgY29uc3Qgc3RydWN0IHRnc2lfdG9rZW4gKnRva2VuczsKKyAgICAgIHZvaWQgKmxsdm07 CisgICAgICB2b2lkICpuYXRpdmU7CisgICB9OwogICAgc3RydWN0IHBpcGVfc3RyZWFtX291dHB1 dF9pbmZvIHN0cmVhbV9vdXRwdXQ7CiB9OwogCi0tIAoyLjUuMAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK