On Wed, 2009-07-01 at 23:47 -0700, Corbin Simpson wrote: > So, a couple months ago I opined about the inability of Gallium to > guarantee non-overlapping blits. I need to revisit the subject. > > I can't detect when blits will overlap, every time, without massive hax, > and I'm not terribly certain that the hax work. Somehow (probably > through texture blanketing) I'm seeing two BOs, overlapping, being used > in texture_copy. I have no way of detecting that overlap at the moment, > and doing so is going to be icky. > > I propose PIPE_CAP_BLITTER, a simple pipe cap that just says, "Yes, I > have a 2D engine or some other way to do overlapping blits magically." > If this isn't set, use one of the util functions that semi-fallback to > textured drawing instead of straight surface_copy. In some state > trackers (Xorg EXA) this also can be used to indicate to higher > userspace the abilities of the card in a way that permits optimizations.
This may be a good idea anyway, but 'overlapping BOs' sounds like a memory management bug somewhere... Overlapping blits should only occur when the source and destination BOs are one and the same. -- Earthling Michel Dänzer | http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer ------------------------------------------------------------------------------ _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev