On Tue, Aug 13, 2013 at 01:20:13PM +0100, Chris Wilson wrote: > On Tue, Aug 13, 2013 at 03:12:59PM +0300, Ville Syrjälä wrote: > > Thinking about this stuff a bit, I think I actually came up with a > > scenario where we would currently fail to invalidate the CPU cache > > between non-snooped GPU/GTT access and CPU access: > > > > 1. make bo non-snooped w/ pin_display=true (wd=0, rd|=gtt) > > 2. set to CPU read domain (wd=0 rd|=cpu) > > 3. set to GTT (or GPU) write domain (wd=gtt, rd=gtt) -> CPU cache is stale after this point > > 4. make bo snooped -> pin_display=true still so we directly set (wd=cpu, rd=cpu) > > 5. set to CPU domain -> CPU cache is still stale > > You will also find the scanout reads stale data as well. Well, assuming you actually write something to the bo w/ the CPU. If not, then it keeps scanning out the correct data. > You've managed > to shoot yourself in both feet. The kernel can't fix that, so should we > care about the other foot? Yeah, I suppose we shouldn't care too much about problems the user created for himself. -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx