From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Hackmann Subject: Re: [RFC v2 5/8] drm/fence: add in-fences support Date: Tue, 26 Apr 2016 13:48:02 -0700 Message-ID: <571FD402.6050407@google.com> References: <1461623608-29538-1-git-send-email-gustavo@padovan.org> <1461623608-29538-6-git-send-email-gustavo@padovan.org> <20160426101050.GN4329@intel.com> <20160426141422.GG7857@joana> <20160426143635.GW8291@phenom.ffwll.local> <20160426162621.GU4329@intel.com> <20160426172049.GB2558@phenom.ffwll.local> <20160426174045.GC4329@intel.com> <20160426182346.GC2558@phenom.ffwll.local> <20160426185506.GH4329@intel.com> <20160426200505.GD2558@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-x22a.google.com (mail-pa0-x22a.google.com [IPv6:2607:f8b0:400e:c03::22a]) by gabe.freedesktop.org (Postfix) with ESMTPS id CA6DD6E1CA for ; Tue, 26 Apr 2016 20:48:05 +0000 (UTC) Received: by mail-pa0-x22a.google.com with SMTP id iv1so10895679pac.2 for ; Tue, 26 Apr 2016 13:48:05 -0700 (PDT) In-Reply-To: <20160426200505.GD2558@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , Gustavo Padovan , Gustavo Padovan , Daniel Stone , Riley Andrews , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, =?UTF-8?Q?Arve_Hj=c3=b8nnev=c3=a5g?= , John Harrison List-Id: dri-devel@lists.freedesktop.org T24gMDQvMjYvMjAxNiAwMTowNSBQTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBUdWUsIEFw ciAyNiwgMjAxNiBhdCAwOTo1NTowNlBNICswMzAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4+ IE9uIFR1ZSwgQXByIDI2LCAyMDE2IGF0IDA4OjIzOjQ2UE0gKzAyMDAsIERhbmllbCBWZXR0ZXIg d3JvdGU6Cj4+PiBPbiBUdWUsIEFwciAyNiwgMjAxNiBhdCAwODo0MDo0NVBNICswMzAwLCBWaWxs ZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4+PiBCdXQgcmVhbGx5IHRoZSByZWFzb24gZm9yIHBlci1wbGFu ZSBpcyBodyBjb21wb3NlciBmcm9tCj4+PiBBbmRyb2lkLiBJIGRvbid0IHNlZSBhbnkgcG9pbnQg aW4gZGVzaWduaW5nIGFuIGFwaSB0aGF0J3MgbmVlZGxlc3NseQo+Pj4gZGlmZmVyZW50IGZyb20g d2hhdCB0aGUgbWFpbiB1c2VyIGV4cGVjdHMgKGV2ZW4gaWYgaXQgbWF5IGJlIHNpbGx5KS4KPj4K Pj4gV2hhdCBhcmUgdGhleSBkb2luZyB0aGF0IGNhbid0IHN0dWZmIHRoZSBmZW5jZXMgaW50byBh biBhcnJheQo+PiBpbnN0ZWFkIG9mIHByb3BzPwo+Cj4gVGhlIGh3IGNvbXBvc2VyIGludGVyZmFj ZSBpcyBvbmUgaW4tZmVuY2UgcGVyIHBsYW5lLiBUaGF0J3MgcmVhbGx5IHRoZQo+IG1ham9yIHJl YXNvbiB3aHkgdGhlIGtlcm5lbCBpbnRlcmZhY2UgaXMgYnVpbHQgdG8gbWF0Y2guIEFuZCBJIHJl YWxseQo+IGRvbid0IHRoaW5rIHdlIHNob3VsZCBkaXZlcmdlIGp1c3QgYmVjYXVzZSB3ZSBoYXZl IGEgc2xpZ2h0IGRpZmZlcmVudAo+IGNvbG9yIHByZWZlcmVuY2UgOy0pCj4KPiBBcyBsb25nIGFz IHlvdSBlbmQgdXAgd2l0aCBhIHBpbGUgb2YgZmVuY2VzIHNvbWVob3cgaXQnbGwgd29yay4KPiAt RGFuaWVsCj4KClRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBsYXllcnMgYW5kIGZlbmNlcyBpcyBv bmx5IGZ1enp5IGFuZCBpbmRpcmVjdCAKdGhvdWdoLiAgVGhlIHJlbGF0aW9uc2hpcCBpcyByZWFs bHkgYmV0d2VlbiB0aGUgYnVmZmVyIHlvdSdyZSBkaXNwbGF5aW5nIApvbiB0aGF0IGxheWVyLCBh bmQgdGhlIGZlbmNlIHJlcHJlc2VudGluZyB0aGUgd29yayBkb25lIHRvIHJlbmRlciBpbnRvIAp0 aGF0IGJ1ZmZlci4gIFN1cmZhY2VGbGluZ2VyIGp1c3QgaGFwcGVucyB0byBidW5kbGUgdGhlbSB0 b2dldGhlciBpbnNpZGUgCnRoZSBzYW1lIHN0cnVjdCBod2NfbGF5ZXJfMSBhcyBhbiBBUEkgY29u dmVuaWVuY2UuCgpXaGljaCBpcyBraW5kIG9mIHNwbGl0dGluZyBoYWlycyBhcyBsb25nIGFzIHlv dSBoYXZlIGEgMS10by0xIApyZWxhdGlvbnNoaXAgYmV0d2VlbiBsYXllcnMgYW5kIERSTSBwbGFu ZXMuICBCdXQgdGhhdCdzIG5vdCBhbHdheXMgdGhlIGNhc2UuCgpBIChwZXItQ1JUQz8pIGFycmF5 IG9mIGZlbmNlcyB3b3VsZCBiZSBtb3JlIGZsZXhpYmxlLiAgQW5kIGV2ZW4gaW4gdGhlIApjYXNl cyB3aGVyZSB5b3UgY291bGQgbWFrZSBhIDEtdG8tMSBtYXBwaW5nIGJldHdlZW4gcGxhbmVzIGFu ZCBmZW5jZXMsIAppdCdzIG5vdCB0aGF0IG11Y2ggbW9yZSB3b3JrIGZvciB1c2Vyc3BhY2UgdG8g YXNzZW1ibGUgdGhvc2UgZmVuY2VzIGludG8gCmFuIGFycmF5IGFueXdheS4KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752678AbcDZUsI (ORCPT ); Tue, 26 Apr 2016 16:48:08 -0400 Received: from mail-pa0-f43.google.com ([209.85.220.43]:33530 "EHLO mail-pa0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751848AbcDZUsG (ORCPT ); Tue, 26 Apr 2016 16:48:06 -0400 Subject: Re: [RFC v2 5/8] drm/fence: add in-fences support To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , Gustavo Padovan , Gustavo Padovan , Daniel Stone , Riley Andrews , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, =?UTF-8?Q?Arve_Hj=c3=b8nnev=c3=a5g?= , John Harrison References: <1461623608-29538-1-git-send-email-gustavo@padovan.org> <1461623608-29538-6-git-send-email-gustavo@padovan.org> <20160426101050.GN4329@intel.com> <20160426141422.GG7857@joana> <20160426143635.GW8291@phenom.ffwll.local> <20160426162621.GU4329@intel.com> <20160426172049.GB2558@phenom.ffwll.local> <20160426174045.GC4329@intel.com> <20160426182346.GC2558@phenom.ffwll.local> <20160426185506.GH4329@intel.com> <20160426200505.GD2558@phenom.ffwll.local> From: Greg Hackmann Message-ID: <571FD402.6050407@google.com> Date: Tue, 26 Apr 2016 13:48:02 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <20160426200505.GD2558@phenom.ffwll.local> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/26/2016 01:05 PM, Daniel Vetter wrote: > On Tue, Apr 26, 2016 at 09:55:06PM +0300, Ville Syrjälä wrote: >> On Tue, Apr 26, 2016 at 08:23:46PM +0200, Daniel Vetter wrote: >>> On Tue, Apr 26, 2016 at 08:40:45PM +0300, Ville Syrjälä wrote: >>> But really the reason for per-plane is hw composer from >>> Android. I don't see any point in designing an api that's needlessly >>> different from what the main user expects (even if it may be silly). >> >> What are they doing that can't stuff the fences into an array >> instead of props? > > The hw composer interface is one in-fence per plane. That's really the > major reason why the kernel interface is built to match. And I really > don't think we should diverge just because we have a slight different > color preference ;-) > > As long as you end up with a pile of fences somehow it'll work. > -Daniel > The relationship between layers and fences is only fuzzy and indirect though. The relationship is really between the buffer you're displaying on that layer, and the fence representing the work done to render into that buffer. SurfaceFlinger just happens to bundle them together inside the same struct hwc_layer_1 as an API convenience. Which is kind of splitting hairs as long as you have a 1-to-1 relationship between layers and DRM planes. But that's not always the case. A (per-CRTC?) array of fences would be more flexible. And even in the cases where you could make a 1-to-1 mapping between planes and fences, it's not that much more work for userspace to assemble those fences into an array anyway.