On Tue, Sep 03, 2024 at 09:43:48PM +0200, Simona Vetter wrote: > On Thu, Feb 29, 2024 at 05:22:24PM +0100, Boris Brezillon wrote: > > - Add our job fence as DMA_RESV_USAGE_WRITE to all external objects > > (was previously DMA_RESV_USAGE_BOOKKEEP). I don't get why, given > > we're supposed to be fully-explicit, but other drivers do that, so > > there must be a good reason > > Just spotted this: They're wrong, or they're userspace is broken and > doesn't use the dma_buf fence import/export ioctl in all the right places. > For gl this simplifies things (but setting write fences when you're only > reading is still bad, and setting fences on buffers you don't even touch > is worse), for vulkan this is just bad. > > I think you want a context creation flag for userspace that's not broken, > which goes back to USAGE_BOOKKEEP for everything. Did some more looking, and nouveau seems to get this right. Also imagination, because they don't do any dynamic memory mananagement at all right now they don't bother with fences and leave it all to userspace. Which is the same as USAGE_BOOKKEEP if you do have dynamic memory management. -Sima -- Simona Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch