From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tobias Klausmann Subject: Re: [Nouveau] [RFC] mesa/st: Avoid passing a NULL buffer to the drivers Date: Mon, 12 Jan 2015 01:43:11 +0100 Message-ID: <54B3189F.4010100@mni.thm.de> References: <1420656766-7342-1-git-send-email-tobias.johannes.klausmann@mni.thm.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: in-reply-to: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: mesa-dev-bounces@lists.freedesktop.org Sender: "mesa-dev" To: Ilia Mirkin Cc: "mesa-dev@lists.freedesktop.org" , "nouveau@lists.freedesktop.org" List-Id: nouveau.vger.kernel.org CgpPbiAxMS4wMS4yMDE1IDA2OjA1LCBJbGlhIE1pcmtpbiB3cm90ZToKPiBDYW4geW91IGVsYWJv cmF0ZSBhIGJpdCBhcyB0byB3aHkgdGhhdCdzIHRoZSByaWdodCB0aGluZyB0byBkbz8KPgo+IE9u IFdlZCwgSmFuIDcsIDIwMTUgYXQgMTo1MiBQTSwgVG9iaWFzIEtsYXVzbWFubgo+IDx0b2JpYXMu am9oYW5uZXMua2xhdXNtYW5uQG1uaS50aG0uZGU+IHdyb3RlOgo+PiBJZiB3ZSBjYXB0dXJlIHRy YW5zZm9ybSBmZWVkYmFjayBmcm9tIG4gc3RyZWFtIGluIChuLTEpIGJ1ZmZlcnMgd2UgZmFjZSBh Cj4+IE5VTEwgYnVmZmVyLCB1c2UgdGhlIGJ1ZmZlciAobi0xKSB0byBjYXB0dXJlIHRoZSBvdXRw dXQgb2Ygc3RyZWFtIG4uCj4+Cj4+IFRoaXMgZml4ZXMgb25lIHBpZ2xpdCB0ZXN0IHdpdGggbnZj MDoKPj4gICAgIGFyYl9ncHVfc2hhZGVyNS14ZmItc3RyZWFtcy13aXRob3V0LWludm9jYXRpb25z Cj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFRvYmlhcyBLbGF1c21hbm4gPHRvYmlhcy5qb2hhbm5lcy5r bGF1c21hbm5AbW5pLnRobS5kZT4KPj4gLS0tCj4+ICAgc3JjL21lc2Evc3RhdGVfdHJhY2tlci9z dF9jYl94Zm9ybWZiLmMgfCA1ICsrKysrCj4+ICAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9u cygrKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvc3JjL21lc2Evc3RhdGVfdHJhY2tlci9zdF9jYl94Zm9y bWZiLmMgYi9zcmMvbWVzYS9zdGF0ZV90cmFja2VyL3N0X2NiX3hmb3JtZmIuYwo+PiBpbmRleCA4 Zjc1ZWRhLi41YTEyZGE0IDEwMDY0NAo+PiAtLS0gYS9zcmMvbWVzYS9zdGF0ZV90cmFja2VyL3N0 X2NiX3hmb3JtZmIuYwo+PiArKysgYi9zcmMvbWVzYS9zdGF0ZV90cmFja2VyL3N0X2NiX3hmb3Jt ZmIuYwo+PiBAQCAtMTIzLDYgKzEyMywxMSBAQCBzdF9iZWdpbl90cmFuc2Zvcm1fZmVlZGJhY2so c3RydWN0IGdsX2NvbnRleHQgKmN0eCwgR0xlbnVtIG1vZGUsCj4+ICAgICAgICAgc3RydWN0IHN0 X2J1ZmZlcl9vYmplY3QgKmJvID0gc3RfYnVmZmVyX29iamVjdChzb2JqLT5iYXNlLkJ1ZmZlcnNb aV0pOwo+Pgo+PiAgICAgICAgIGlmIChibykgewo+PiArICAgICAgICAgaWYgKCFiby0+YnVmZmVy KQo+PiArICAgICAgICAgICAgLyogSWYgd2UgY2FwdHVyZSB0cmFuc2Zvcm0gZmVlZGJhY2sgZnJv bSBuIHN0cmVhbXMgaW50byAobi0xKQo+PiArICAgICAgICAgICAgICogYnVmZmVycyB3ZSBoYXZl IHRvIHdyaXRlIHRvIGJ1ZmZlciAobi0xKSBmb3Igc3RyZWFtIG4uCj4+ICsgICAgICAgICAgICAg Ki8KPj4gKyAgICAgICAgICAgIGJvID0gc3RfYnVmZmVyX29iamVjdChzb2JqLT5iYXNlLkJ1ZmZl cnNbaS0xXSk7Cj4+ICAgICAgICAgICAgLyogQ2hlY2sgd2hldGhlciB3ZSBuZWVkIHRvIHJlY3Jl YXRlIHRoZSB0YXJnZXQuICovCj4+ICAgICAgICAgICAgaWYgKCFzb2JqLT50YXJnZXRzW2ldIHx8 Cj4+ICAgICAgICAgICAgICAgIHNvYmotPnRhcmdldHNbaV0gPT0gc29iai0+ZHJhd19jb3VudCB8 fAo+PiAtLQo+PiAyLjIuMQpRdW90ZWQgZnJvbSBJbGlhIE1pcmtpbiwgdG8gc3BlY2lmeSB3aGF0 IHNoYWxsIGJlIGVsYWJvcmF0ZWQ6CiJDYW4geW91IGV4cGxhaW4gKG9uLWxpc3QpIHdoeSB1c2lu ZyBidWZmZXIgbiAtIDEgaXMgdGhlIHJpZ2h0IHRoaW5nIHRvCmRvIHRvIGNhcHR1cmUgb3V0cHV0 IG9mIHN0cmVhbSBuPyBJIHdvdWxkIGhhdmUgdGhvdWdodCB0aGF0IHRoZSBvdXRwdXQKZm9yIHRo YXQgc3RyZWFtIHNob3VsZCBiZSBkaXNjYXJkZWQgb3Igc29tZXRoaW5nLgoKTGlrZSB3aXRoIGEg c3BlYyBxdW90YXRpb24gb3Igc29tZSBvdGhlciBqdXN0aWZpY2F0aW9uLiBpLmUuIHdoeSBpcwp0 aGUgY29kZSB5b3Ugd3JvdGUgY29ycmVjdD8gV2h5IGlzIGl0IGJldHRlciB0aGFuLCBzYXksIGJv ID0KYnVmZmVyc1swXSwgb3Igc29tZSBvdGhlciB0aGluZyBlbnRpcmVseT8iCgpZZWFoIHRoYXRz IHRoZSBtb3N0IGNvbmNlcm5pbmcgcG9pbnQgaSBzZWUgYXMgd2VsbC4gVGhlIHByb2JsZW0gaXMg dGhhdCAKdGhlcmUgaXMgYSBpbnRlcmFjdGlvbiBiZXR3ZWVuIGFyYl9ncHVfc2hhZGVyNSBhbmQg CmFyYl90cmFuc2Zvcm1fZmVlZGJhY2szLCBidXQgYWZ0ZXIgYSBiaXQgb2YgcmVhZGluZyBpIHRo aW5rIHRoZSBwYXRjaCBpcyAKYWN0dWFsbHkgd2hhdCB3ZSBzaG91bGQgZG86CgogRnJvbSB0aGUg YXJiX3RyYW5zZnJvbV9mZWVkYmFjazMgc3BlYzoKIgooMykgSG93IG1pZ2h0IHlvdSB1c2UgdHJh bnNmb3JtIGZlZWRiYWNrIHdpdGggZ2VvbWV0cnkgc2hhZGVycyBhbmQKICAgICAgICAgbXVsdGlw bGUgdmVydGV4IHN0cmVhbXM/CgogICAgICAgUkVTT0xWRUQ6ICBBcyBhIHNpbXBsZSBleGFtcGxl LCBsZXQncyBzYXkgeW91IGFyZSBwcm9jZXNzaW5nIAp0cmlhbmdsZXMKICAgICAgIGFuZCBjYXB0 dXJlIGJvdGggcHJvY2Vzc2VkIHRyaWFuZ2xlIHZlcnRpY2VzIGFuZCBzb21lIHZhbHVlcyB0aGF0 IGFyZQogICAgICAgY29tcHV0ZWQgcGVyLXByaW1pdGl2ZSAoZS5nLiwgZmFjZXQgbm9ybWFsKS4g IFRoZSBnZW9tZXRyeSBzaGFkZXIKICAgICAgIG1pZ2h0IGRlY2xhcmUgaXRzIG91dHB1dHMgbGlr ZSB0aGUgZm9sbG93aW5nOgoKICAgICAgICAgbGF5b3V0KHN0cmVhbSA9IDApIG91dCB2ZWM0IHBv c2l0aW9uOwogICAgICAgICBsYXlvdXQoc3RyZWFtID0gMCkgb3V0IHZlYzQgdGV4Y29vcmQ7CiAg ICAgICAgIGxheW91dChzdHJlYW0gPSAxKSBvdXQgdmVjNCBub3JtYWw7CgogICAgICAgInBvc2l0 aW9uIiBhbmQgInRleGNvb3JkIiB3b3VsZCBiZSBwZXItdmVydGV4IGF0dHJpYnV0ZXMgd3JpdHRl biB0bwogICAgICAgdmVydGV4IHN0cmVhbSAwOyAibm9ybWFsIiB3b3VsZCBiZSBhIHBlci10cmlh bmdsZSBmYWNldCBub3JtYWwuICBUaGUKICAgICAgIGdlb21ldHJ5IHNoYWRlciB3b3VsZCBlbWl0 IHRocmVlIHZlcnRpY2VzIHRvIHN0cmVhbSB6ZXJvICh0aGUgCnByb2Nlc3NlZAogICAgICAgaW5w dXQgdmVydGljZXMpIGFuZCBhIHNpbmdsZSB2ZXJ0ZXggdG8gc3RyZWFtIG9uZSAodGhlIHBlci10 cmlhbmdsZQogICAgICAgZGF0YSkuICBUaGUgdHJhbnNmb3JtIGZlZWRiYWNrIEFQSSB1c2FnZSBm b3IgdGhpcyBjYXNlIHdvdWxkIGJlCiAgICAgICBzb21ldGhpbmcgbGlrZToKCiAgICAgICAgIC8v IFNldCB1cCBidWZmZXIgb2JqZWN0cyAyMSBhbmQgMjIgdG8gY2FwdHVyZSBkYXRhIGZvciAKcGVy LXZlcnRleCBhbmQKICAgICAgICAgLy8gcGVyIHByaW1pdGl2ZSB2YWx1ZXMuCiAgICAgICAgIGds QmluZEJ1ZmZlckJhc2UoR0xfVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUiwgMCwgMjEpOwogICAg ICAgICBnbEJpbmRCdWZmZXJCYXNlKEdMX1RSQU5TRk9STV9GRUVEQkFDS19CVUZGRVIsIDEsIDIy KTsKCiAgICAgICAgIC8vIFNldCB1cCBYRkIgdG8gY2FwdHVyZSBwb3NpdGlvbiBhbmQgdGV4Y29v cmQgdG8gYnVmZmVyIGJpbmRpbmcKICAgICAgICAgLy8gcG9pbnQgMCAoYnVmZmVyIDIxIGJvdW5k KSwgYW5kIG5vcm1hbCB0byBiaW5kaW5nIHBvaW50IDEgCihidWZmZXIKICAgICAgICAgLy8gMjIg Ym91bmQpLgogICAgICAgICBjaGFyICpzdHJpbmdzW10gPSB7ICJwb3NpdGlvbiIsICJ0ZXhjb29y ZCIsICJnbF9OZXh0QnVmZmVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9ybWFs IiB9OwoiCgotPiBFc3BlY2lhbGx5IHRoZSBjb21tZW50cyBhcmUgZW5saWdodGVuaW5nIGFzIHRv IHdoZXJlIHRoZSBvdXRwdXRzIApzaG91bGQgZ28uIFRoYXRzIHdoYXQgaGFwcGVucyB3aXRoIHRo ZSAKImFyYl9ncHVfc2hhZGVyNS14ZmItc3RyZWFtcy13aXRob3V0LWludm9jYXRpb25zIiB0ZXN0 LCB3aGVyZSB0d28gCnN0cmVhbShvdXRwdXRzKSBhcmUgY2FwdHVyZWQgaW50byBvbmUgYnVmZmVy LgoKT25lIG1pZ2h0IGFyZ3VlIG5vdyBpZiB3ZSBoYXZlIHRvIGNvdW50IC5CdWZmZXJzW2ktMV0g Zm9yIGFsbCBidWZmZXJzIAphZnRlciB0aGlzLi4uCgpDb21tZW50cyBhbmQgYWRkaXRpb25hbCBm ZWVkYmFjayBpcyBhbHdheXMgYXBwcmVjaWF0ZWQhCgpHcmVldGluZ3MsClRvYmlhcwoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbWVzYS1kZXYgbWFpbGlu ZyBsaXN0Cm1lc2EtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbWVzYS1kZXYK